Pulse

Say "lunch 240". It files itself.

A personal life-OS that accepts one line of plain language or thirty seconds of speech and files it correctly. Money, tasks, learning and notes, on infrastructure you own and can read the bill for.

1.49 MB
TypeScript
4
domains in one capture field
₹0
monthly running cost

Local first, and it means it

Every entry is written to on-device storage through Dexie before anything touches the network, then synced to Cloudflare D1. Nothing in the interface waits on a request, so the app is equally fast on a train and on fibre. There is no shared backend — one instance per person, on free tiers that comfortably fit a single user. The AI layer is Groq: Whisper for speech, an LLM to decide which of the four domains a line belongs to and to fill the fields it implies.

Decisions

One field instead of four forms

Most life-trackers make you choose a category before you can record anything, which is the moment most capture dies. Pulse takes "lunch 240" or "finish the deck by friday" and routes it. The cost is that routing has to be good enough that correcting it is rarer than the forms would have been — which makes the model choice a product decision, not an implementation detail.

Passkeys before passwords

Face ID sign-in with a local PIN lock and a durable session, and magic links only as fallback. For an app holding every expense and note a person makes, a password field is the weakest part of the system and the easiest to remove.

Bank alerts as an import path

Forward your bank’s alert emails and they arrive as categorised transactions. No bank API, no aggregator, no credentials held anywhere — an integration that works by using something the bank already sends you.

Offline-first changes what a bug is

When the local write always succeeds, sync failures stop being errors the user sees and become divergence they do not. That moves the hard work out of the request path and into reconciliation, and it means the interesting tests are not "does it save" but "what happens when two devices disagree".

Built with

  • Next.js 16
  • React 19
  • Tailwind 4
  • Dexie
  • Cloudflare Workers · D1 · R2
  • Groq