FIRE

  1. FIRE house, on budget

    On budget

    Every bucket has room left.

  2. FIRE house, getting warm

    Getting warm

    A bucket is close to its limit.

  3. FIRE house, on fire

    On fire

    A bucket has hit its limit.

  4. FIRE house, burned down

    Burned down

    A bucket is over budget.

The house reacts to spending, from clean to burned down.

The project

FIRE! is a budgeting app currently in progress, with a focus on concurrent ledgers and secure APIs.

Keeping the ledger accurate

The PostgreSQL ledger uses triggers and ordered row locks to keep totals accurate under concurrent operations.

Row level security and column level permissions protect user data. Automated SQL tests verify those permissions.

Securing the backend

A stateless Spring Boot backend validates Supabase authentication tokens. JUnit tests exercise that validation against a mock server.

Back to projects