Projects Cubby
Cubby

A personal ERP for the household

It started with my towels and ended up managing our home.

Dozens of small daily frictions, each turned into its own tracker, then folded into one app that a household of four and a dog now runs on.

Visit site
Cubby home screen
The home screen up top: a pinned daily set, plus whatever needs attention now.
Cubby home screen scrolled down
One scroll down, the rest of the house, every tracker as a tile.

Routines

recurring upkeep, limits, and schedules

When did I last do this?

Problem

My kid's nasal spray started daily, then shifted to every two days, then three, while we were also tracking nose congestion alongside it. It was difficult enough that we didn't really track, beyond one or two messages on Telegram, and by the time we got to a doctor's consultation we couldn't answer any of her questions on how his symptoms had been.

Solution

A quick log for anything with a when-did-I-last question, one tap to record, one glance to answer. Each entry holds a snapshot of the interval at that moment, so we can look back at any point and know exactly what the routine was, with symptoms tracked alongside it.

Cubby tasks

On pace, or already over

Problem

Screen time seemed to grow every week, then I got concerned about soda and beer too, and across all of them I needed unit conversion because a McDonald's small Coke is a very different drink from a can of Coke.

Solution

A weekly limit per habit tracked against a daily pace, so mid-week I can see at a glance whether I'm on track or already over, not just a raw count at the end. It's guilt-tripped me into skipping a drink more than once when I see the counter maxing out early in the week.

Cubby limits

The same timers, by hand, every day

Problem

YouTube countdown videos weren't customizable for duration, voice, or ticking sounds, and tracking screen time meant juggling separate apps with no sense of where the week actually stood.

Solution

I built saved profiles so the common ones are one tap, added AI voices and ticking sounds so my kid could close his eyes without needing a video, and folded the tracking into a weekly limit so I always knew where we stood.

Cubby screen timer

The schedule nobody could find

Problem

Our kid's enrichment classes ended at a different time every day, and along the way we started and stopped classes, terms came with new timings, and make-up sessions got pasted into pinned Telegram messages we could never find. Across all the pins and emails we mixed up timings more than once, and usually ended up at the door waiting longer than we should have. One class required a make-up every time a public holiday fell on it, which made the whole thing even harder to follow.

Solution

The schedule is now the first thing you see when you open the app, so the right pickup time is one glance away, no hunting through chats or emails. Make-up sessions are clearly marked so nothing gets missed.

Cubby enrichment schedule

Health

four bodies, one of them a dog

What should I aim for today

Problem

I never trained with much structure, just gut feel and whatever I could vaguely recall from last time. For cable machines I couldn't remember which plate I used, so it was agar agar the rough position of the pin. Rest timings, lift volume, whether I hit failure or did a dropset or a warmup, none of it was tracked, and I had no way to know which exercises I was actually progressing on.

Solution

Every set is logged with weight, reps, rest time, and notes on failure or dropsets, so before each set I can see exactly what I did last time and what to aim for. No more guessing the pin position on cable machines. There's also a lock screen so sweaty hands mid-set don't accidentally hit a destructive button.

Cubby gym workout

Am I actually getting stronger?

Problem

Even while lifting regularly I never really tracked progress, just noticed the odd milestone shift on bench or squat, and for machines, free weights, kettlebell rows, everything else, it was just too much to remember.

Solution

PR tracking with a progress chart per exercise so I can see whether I'm moving or stalling, and exercises come from an open-source dataset pulled once so the whole app stays consistent.

Cubby gym exercise

One log when everyone's sick at once

Problem

Temperatures, medicine timings, dosages, and MCs all went into Telegram messages nobody could find later, and it got worse the moment more than one of us was sick at once, because by the time we sat in front of a doctor the chronology was a blur.

Solution

A personal diary of medicines, symptoms, and temperatures per illness episode, so when the doctor asks what happened I can just read it out, whether it's for me, my wife, our kid, or the dog. For the dog especially it's useful, vet visits can be 8-12 months apart so I paste the vet's guidance straight in and pull it up next time without scrambling. Not trying to build an EHR, just enough to walk into a consult prepared.

Cubby illness log

Which brew actually tasted better

Problem

Memory only went back a cup or two, anything else was roughly recalled, and definitely not across different bags, batches, or roasters.

Solution

Log the parameters per brew, bean weight, water amount, timing, and grinder clicks on my Kingrinder K6, with a taste rating so I can see which combinations actually taste better.

Cubby coffee recipes

Home

what comes in and what runs out

What did we eat yesterday?

Problem

We could never recall what we ate, even from the afternoon or the day before, and with a lot of fast food and salty food in the mix I had no real picture of what the week actually looked like.

Solution

Log it at the table before we leave, photo attached, so there's an actual record instead of just a vague sense.

Cubby meals

The dates that actually matter

Problem

A friend mentioned forgetting her cosmetics expiring, and I realised I never tracked when opened milk or soy milk would go bad either, the kind of date that changes once you've opened it.

Solution

Log when something was opened and how long it keeps, so the actual expiry is calculated and visible at a glance. At minimum it made me much more conscious of how long my milk had left, even if I don't always keep to it.

Cubby expiry tracker

Which price is actually worth it

Problem

I could hold a rough sense of what things cost but never the details, and for wines especially there were enough promotions and my Just Wine Club subscription that I needed an actual record to know when something was really worth buying.

Solution

Log prices per item so I can compare across shops and promotions, and actually know a good deal when I see one. Supermarkets here rarely show price per gram or unit, so this fills that gap too.

Cubby market prices

Finance

the dates that cost money

The fee we couldn't waive

Problem

I've missed credit card bills before, luckily waived both times, but my wife's annual fee wasn't, and it was expensive. With many cards each on their own fee schedule, plus bills and subscriptions on top, it's genuinely too much to keep in your head.

Solution

All the card fees, bills, and subscriptions in one place with dates, so nothing sneaks up and we catch the waivable ones in time.

Cubby finance

Life

the things worth keeping

Every trip, scattered everywhere

Problem

Trip details were scattered across emails, Telegram chats, browser tabs, and PDFs, sometimes password protected like insurance documents, and every trip meant hunting through all of it again.

Solution

I'd already built Roamichi as a standalone travel planner, so I folded it in whole, all of it in one place now. It still can't pull from emails automatically and isn't a full itinerary planner, but a step at a time.

Cubby travel planner

The moments worth keeping

Problem

I wanted to log the things my wife did that I loved but never said, and the things that frustrated me too, but a complaint ledger about your spouse is just toxic, and I'd built something similar on The Standup Podcast and landed in the same place.

Solution

Reframed it as a record for our kid instead, PTCs, teacher feedback, naughty moments, and the sweet ones, the kind of stuff that's worth keeping but slips out of memory fast.

Cubby growing up

Design notes

I built everything I wanted, and I never once worried about whether it was needed, because every piece started from something already going wrong in my own life, so I was always the person it was for.

Each piece started as its own small annoyance, and a pile of single-purpose trackers turns into a junk drawer fast. A few decisions kept it one coherent app instead.

Prioritization

What I pin, and what surfaces when it needs me

  • Pinned daily: tasks, limits, the kid's schedule, always shown
  • Surfaced on attention: bills due, who's in care, things running out
  • Everything else stays one tap away
Data model

I logged the judgment, not the data

  • A market entry is "a good price to buy at", not a price
  • A limit is "am I on pace", not a raw count
  • A coffee is "which one tasted better", not a log
Consolidation

Folded together, then wired to each other

  • Each tracker began as its own small POC, then moved into one app once it proved out
  • Now they feed each other, a finished screen-timer logs to its limit, a new gym PR posts to the journal
  • The whole lot rolls up into one dashboard and recap
Cubby journal recap

Everything tracked, rolled up

A weekly and monthly recap that pulls from everything tracked, so the whole house has one place to look back on.

None of it was planned as a product, it just kept answering the next real problem, and the family ended up living in it too.

Built with

Runtime
Go
Frontend
SvelteKit, Tailwind
Data
PostgreSQL
Auth
Stytch
Observability
Grafana Cloud, Uptime Kuma

Sentry used to be in here too, but it slowed builds more than it was worth, so it came out.

© 2026 Zixian Chen