Deep dives on software engineering, architecture, and the real-world decisions

This blog runs on software I wrote. Here's everything I learned doing it.

Find a time to chat with me

Latest posts

// Make sure it won't end up in production!!! const TODO = "remove before production";
TypeScript

How we made additional members possible (and why Studio is not “just a higher SKU”)

August 17, 2026

A technical post about splitting auth from membership, treating seats as a ledger, and teaching Polar about packs of humans. Timelish is now Hacado; this is the part that actually had to be built.

When we renamed Timelish to Hacado, the public story was the name. The engineering story was Studio: a salon with five stylists, not a freelancer with a prettier checkout.

That sounds like a billing change. It was not. A “team plan” that still stores “the user” on every appointment is a lie. We had to decide what a member is, what a seat is, and what happens when Polar says you have fewer of them than people currently logged in.

This is how we did it.


bloghacadopolarsubscriptionmulti-user

Contact me

Email

dmytro@bondarchuk.me
© 2026 Dmytro BondarchukCreated usingHacado