Inspiration

Life admin is a hundred small deadlines: rent, electricity, insurance renewals, warranties, passport dates. None of them is hard. They are just easy to forget. A 2024 NerdWallet survey of 2,061 US adults found that 37% paid a late fee in the past 12 months, mostly on credit cards, utilities and rent.

Reminder apps only remind, and only about what you typed in yourself. I wanted an assistant that reads my bills, remembers my context across weeks, and takes action for me, while I stay in control of my data and of every action that leaves the app.

What it does

LifeLedger is a private, always-on life-admin agent for one person.

A ledger that keeps itself current

  • Today shows what is overdue, what is due today, and what is due in the next 7 days.
  • Import: paste an email or upload a PDF. Nemotron 3 Nano extracts the amount, due date, repeat interval and a confidence score, and quotes the exact sentence it used as evidence. Nothing enters the ledger until you accept it.
  • Duplicate check: a proposal that matches an item already in the ledger is flagged before you accept it.

An agent that acts, with you in control

  • Chat runs on Nemotron 3 Super with 10 tools: list, add and update items, mark as paid (a recurring bill moves to its next due date), snooze, create a calendar (.ics) reminder, draft an email, remember, recall, and search the web.
  • Approval policy in code: actions that only change your ledger run at once. Any action that leaves the app, such as an email to a provider, waits for your approval. Every action is written to an audit log.

Memory that you own

  • LifeLedger remembers facts and preferences across conversations, for example who insures your car or what time of day you prefer reminders.
  • Every memory shows where it came from: a chat, your own entry, or a web page with its link. You can edit or delete any memory.
  • Web research with Tavily saves current facts, such as official document lists, together with the source link. The agent is instructed to keep personal data out of search queries.

Always on

  • A sweep runs every 15 minutes. It sends reminders 7 days, 3 days and 1 day before a due date, on the day, and when an item is overdue.
  • Every Sunday evening, Nemotron 3 Ultra writes a weekly review: what needs action, what waits for approval, and one practical suggestion. Telegram delivery is optional.

Private by design: your ledger is one SQLite file on the server you deploy, protected by your own token. Only the text that a model call needs is sent to Nebius Token Factory.

How we built it

NVIDIA Nemotron 3 on Nebius Token Factory, one model for each job

Model Job Why this model
Nemotron 3 Nano Bill extraction with a strict JSON schema Fast and low cost for structured output
Nemotron 3 Super Tool-calling agent in chat Strong reasoning for multi-step tool use
Nemotron 3 Ultra Weekly review The largest model, for a weekly task where quality matters more than cost

All model calls go through one Go client for Token Factory, with retries, fallback from Ultra to Super and from Super to Nano, a daily spend limit, and rejection of replies that stop at the token limit. Memory recall uses embeddings from Token Factory, with keyword matching as a fallback.

Architecture

Angular web app ──HTTPS + SSE──▶ Go server ──▶ Agent loop (10 tools) ──▶ Nemotron 3 on Nebius Token Factory
                                    │                                 └─▶ Tavily (web research)
                                    ├── Sweep (every 15 min): reminders, weekly review
                                    └── SQLite (WAL): ledger, memories, actions, audit log
  • Agent: my own agent loop in Go, with no framework. It has a tool registry, a step limit, streamed tool events, and memory recall in the system prompt.
  • Backend: Go, SQLite with migrations, an HTTP API with a bearer token, and chat streaming over Server-Sent Events.
  • Frontend: Angular (standalone, zoneless, signals) with a "ledger book" design and a strict Content Security Policy.
  • Quality: 212 Go tests, 32 web tests, 11 architecture decision records, and a GitHub Actions pipeline that tests every push and publishes one distroless Docker image.

Challenges we ran into

  • Reasoning tokens. Nemotron 3 Ultra can spend the whole token budget on reasoning. When that happened, the unfinished reasoning came back as the reply, and the app showed it as the weekly review. I now detect replies that stop at the token limit, never show or save them, and give the models enough room to finish.
  • Hosting. Nebius AI Cloud needs a prepaid balance before it creates an endpoint, so the demo is hosted on Render's free plan. Every model call still goes to Nebius Token Factory.
  • One database writer. A separate scheduled job would need two SQLite writers on a network disk, which is not safe. The sweep runs inside the server process instead.
  • Trust. An agent that acts must be safe to use. That is why the approval policy lives in code, every action is logged, and every proposal quotes its evidence.

Accomplishments that we're proud of

  • Three Nemotron 3 models in one product, each used for the job it fits best.
  • An agent that takes real action and asks before anything leaves the app.
  • Memory that the user can see, edit and delete, with a source for every item.
  • Low running cost: a chat request with tool calls costs about USD 0.003, and a web research request about USD 0.005.
  • A complete product, not a prototype script: tests, CI, a container image, documentation, and a live demo.

What we learned

  • Reasoning models need a token budget for thinking, and an app must handle a reply that is cut off.
  • A strict JSON schema makes extraction reliable enough to show evidence and confidence to the user.
  • Matching the model size to each task keeps quality high and cost low.
  • A human-in-the-loop design is what makes an acting agent useful instead of risky.

What's next for LifeLedger: Private AI Agent for Life Admin

  • Inbox import: read bills directly from email, with the user's consent, so no copying and pasting is needed.
  • One-tap payment: add payment links (for example UPI) to approved bills.
  • Household ledgers: shared items and approvals for a family.
  • Daily-use deployment: run on Nebius AI Cloud with persistent storage, and explore NVIDIA's agent tooling for this track.

Built With

Share this project:

Updates

Submission history