All projects

Systems & AI · Full system · AI · Open source

TOSHIBA — Personal Life OS

A local-first system I use every day that brings finances, resales, college, studies, tasks, habits, workouts, nutrition and documents together in 19 modules on a single database — and it is operated by conversation.

Industry
Systems & AI
Deliverable
Full system · AI
Status
Open source
Stack
Next.js 16 · React 19 · TypeScript strict · Prisma 7 · SQLite · Tailwind v4 · shadcn/ui · Zod 4 · Vitest · PWA
TOSHIBA dashboard: a "needs your attention" block with upcoming bills and an exam, and cards for finances, investments, resales, studies and goals.
Dashboard — what needs attention today, across modules.

Case study

How it was built

The problem, the architecture decisions and the technical challenges along the way.

Problem

My life was scattered across apps that didn’t talk to each other: finances in a spreadsheet, tasks in a notebook, grades on the college portal, workouts and nutrition in separate apps. Recording anything meant opening the right app and filling out a form — the cost of recording was higher than the benefit, so I simply didn’t, and no data ever crossed with any other.

Solution

A single system operated by conversation: “spent 27 on lunch” becomes a transaction; “studied calculus for 1h” becomes a logged session. Direct phrases are interpreted by a rule-based intent router and become data without any paid AI call; only open questions reach the model. Everything runs on the machine, with a file-based database.

Architecture

Text input
     │
     ├─→ Intent router (rules)  ──→ domain function ──→ database   [zero cost]
     │
     └─→ AIProvider layer  ──→  Ollama (local) | Claude | OpenAI | Gemini
              │                        │
              │                        └─→ monthly budget with automatic cutoff
              │                            (when exceeded, falls back to rules mode)
              ↓
        Tool Registry  ──→  the SAME domain functions the interface uses
              ↓
        Server Actions (Next.js) ──→ Prisma 7 ──→ SQLite (WAL, local)

Technical challenges

  • Not duplicating business rules.The AI has no parallel path: it runs the same domain functions the interface calls, through a hand-written tool registry — written by hand instead of adopting an agent framework, to keep behavior auditable.
  • Transactional propagation.Recording the purchase of a product for resale has to create the financial transaction, the inventory item and update the dashboard — all or nothing, in a single transaction.
  • Predictable cost.A configurable monthly spending cap; when it is reached, the system degrades to rules mode instead of stopping.

My role

The whole project, on my own: architecture decisions and the reasoning behind each one, database modeling, the AI layer, domain rules, interface, tests and technical documentation (architecture, data schema and roadmap).

Outcome

MVP finished and in daily use: 54 models in the schema, 58 test files (unit and integration with a disposable database) and 87 commits. It works offline and, with a local model, at zero AI cost.

Public copy with the full history (83 commits). The working repository is private: its database holds real personal data.

Need a custom system?

Tell me the problem you need to solve — that’s where I start.

Get a quote
WhatsApp