Skip to content

#Kittybox Companion is officially released now! It's hosted at

Version 1.0 includes:

  1. Posting
  2. Uploading to media endpoint
  3. Syndication
  4. Reply capabilities
  5. Geolocation and checkins! (uses ?q=geo queries, ask your Micropub server developer if they implemented this)

Planned features

Posting and fetching h-cards

The new not-yet-deployed backend for my blog should include an address book, and Kittybox Companion allows to fill it. Unfortunately, it requires a CORS-supporting MF2-JSON parser web service that is not implemented yet (I plan to make a public one in Kittybox).

Logging out

You're trapped in the kitty box forever. It doesn't want to let you go. Logging out is not implemented yet. Clear your local storage.


For meow, settings screen is empty. I may put something in there.

Details on implementation

View framework

It at least looks like I've accidentally reimplemented a wheel by making myself a framework for single-page apps. It consists of one function and an array of views.

Views are defined by an ID starting from "view-". The function appropriately named "toggle_view()" switches to a certain view. If there's a button defined for that view (it needs to have a class "button-<viewname>"), it's switched to an active state.

I might separate that part into a library for reuse, it feels like a clever idea.

Or maybe I could learn, I don't know, Vue.js? Or whatever framework for SPAs is popular nowadays.


Unfortunately, JS in browser is restricting cross-origin fetches. There is no CORS proxy added, so your IndieWeb stack will need to support CORS.

Note: doesn't support CORS. If you're using it, use manual login flow, not the IndieAuth one.