ContactStart a projectStart
← All work

Favo HQ

The operations dashboard that tells a founder, in one look each morning, whether the business is healthy and what needs attention.

Client
Favo, our own product
Type
Internal dashboard
Platforms
Desktop, phone, installable
Work
Design and development
The problem

Revenue sat in the App Store, costs in a handful of provider dashboards, quality in the database and support in an inbox. Nothing showed whether the business was healthy.

The solution

One private dashboard that reads every source at once and opens on Today: quality, costs, system health, reviews and a short list of what needs a decision.

Built for the morning check.

Status
first

One line says whether every system is running before you read a single number.

Costs under
control

Spend per provider against a monthly cap, a forecast for the month, and a warning well before a cap is hit.

Numbers you
can trust

A missing source says so instead of showing zero. A failed one keeps its last good value, with the time.

And everything else.

  1. 01A live viewEvery save as it happens, from share to result, refreshed every 5 seconds.
  2. 02Fresh without flickerThe page refreshes every minute in the background and keeps the old numbers on screen until the new ones are in.
  3. 03Instant periodsToday, 7 days and 30 days are loaded together, so switching between them feels instant.
  4. 04App Store reviews in one placeNew reviews arrive in HQ next to the numbers, so feedback is never a separate tab.
  5. 05Private by designEvery page and every action checks access on its own. To anyone without access, the dashboard does not exist.
  6. 06On the home screenInstalls as an app. Alerts arrive as a push on the founder’s phone, with quiet hours at night.
For technical readers

Under the hood.

What runs behind the screens. Only what is built and running in the product today.

5minutes between health checks
10services on the system page
30seconds between refreshes
1role, on purpose
01 · Data sources

Connected data sources

Each source has its own reader. A source that is not connected says so, and shows what it needs, instead of a zero.

  • Production database: saves, results, quality and growth
  • Worker, catalogue and database health, uptime and deploys
  • Cloud and API bills, and App Store reviews
PostgresREST APIsOAuth
02 · Monitoring

Monitoring and alerts

One health check across worker, web, database, queue and catalogue drives the status line. Fixed rules, never a model, decide what needs attention.

  • Checks every 5 minutes: stuck work, failure spikes, outages
  • Cost alerts at 50, 80 and 100% of a cap, and on spend spikes
  • Push to the founder’s phone, at most once an hour, quiet at night
CronPush (APNs)Rules
03 · Access

Access control

There is exactly one role, by design: the founder. Access is checked again on every page, every action and every API route.

  • Verified, confirmed account on an allowlist, or the page is a 404
  • Founder tables behind row-level security, server-side only
  • The phone widget gets its own read-only, revocable token
Row-level securityServer-side checks
04 · Costs

Costs and system status

Money is reserved before a paid call and settled after it. Every provider has a monthly cap and a month-end forecast.

  • Daily budget ledger per provider, request and user
  • HQ’s own AI features run on a hard monthly budget
  • System page with 10 services, refreshed every 30 seconds
Budget ledgerForecasts
Stack
Next.js 16React 19TypeScriptPostgres with row-level securityHosted in FrankfurtAutomated tests per feature
Next projectFavo CreatorsView case