Károly HoffmannBUDAPEST, HU
All projects
FUN PROJECT

GoHoardly.

A budgeting app I designed and built because my month starts on payday, not on the 1st. It splits each paycheck into four buckets and carries whatever is left into the next period.

Finished · livegohoardly.com
The GoHoardly spendings screen with the Flow, Fixed and Extra budgets
THE STORY BEHIND THE PROJECT

Out of the spreadsheet

Meme: the GoHoardly dragon turns away from a budget spreadsheet, then happily points at the GoHoardly logo

For years, my budget lived in Excel, held together by complex formulas and a lot of manual copying.

Over time, keeping it up became a real struggle, and on the phone it was close to unusable. The apps on the market didn’t help either: they were far more complex than they needed to be, and they all assumed my month starts on the 1st, not on payday.

So GoHoardly became one of my first projects built with AI: a personal finance app made first of all for me and my friends, where a period starts when the salary arrives and ends the day before the next one.

THE CORE IDEA

Four buckets

The whole app is built around one thought: a bank balance isn’t a financial status. Money already promised to rent, bills or savings isn’t free to spend, so GoHoardly shows what’s left in each bucket instead.

WHAT I BUILT

A closer look

Flow

Day 17, are you ahead?A daily budget that grows every morning

I split Flow across the days of the period, so by day 17 of 30, 17/30 of it is unlocked. I wanted overspending to show up right away, not at the end of the month when it’s too late.

Logged in seconds.

Date, amount, category. A purchase takes about five seconds to enter.

Income counts too.

Extra income or a refund is logged just like an expense.

Periods

Close the period on paydayNo fixed end date, and nothing left behind

A period has no end date. When the salary arrives, it gets closed and a new one starts. Whatever is left in Flow, Fixed and Extra moves into the next period’s Extra budget. Savings stay separate and never take part in the carryover.

The periods screen with the current period’s budget and past periods below
Savings

Save with a reasonSaving without a goal is just a number

Every closed period adds its savings automatically. The total is split between named goals that fill up one by one, while the dragon guards whatever isn’t assigned yet.

The savings screen with total savings, named goals and the saving activity log

Named goals.

Emergency fund, vacation, a new laptop, each with its own progress ring.

Bonuses go straight in.

Got a bonus? Add it directly to your savings.

PHONE AND DESKTOP
CHOICES I MADE

Design principles

  1. Manual on purpose.

    There’s no bank sync. Entering a purchase by hand sounds old-school, but it keeps you honest and keeps your bank login out of the app.

  2. Private by default.

    Data is stored in the EU, with no third-party tracking. Every table is locked to its owner in the database itself.

  3. Decide before you spend.

    Most budgeting apps track what you already spent. GoHoardly splits the money first, so “can I afford this?” has a real answer.

THE TECHNOLOGY BEHIND IT

Under the hood

  1. APP
    React · Vite

    The web app

    A single-page app with Tailwind and Recharts, installable as a PWA. The public pages are prerendered for search engines.

  2. DATA
    Supabase

    Accounts and storage

    Postgres with row-level security, plus email and Google sign-in. There’s no custom backend.

  3. HOSTING
    Vercel

    Deployments

    The app and a separate admin app are deployed from the same repository.

GET IN TOUCH

Find this interesting? Let’s talk.

Whether you’re hiring or exploring what AI could do for your team, I’d be glad to hear from you.

NEXT PROJECTTilegoblin