Mohamadhosein Moazennia
All work

KardoBot

Personal AI assistant

Role
Solo: product, design, and engineering
Stack
Bun, Hono, React 19, SQLite, Drizzle ORM, pi-durable
Link
Not public yet

Why I built it

Small business owners in Iran do a lot of repetitive desk work: reading invoices, adding up records, sending reminders, and researching suppliers. General AI chat apps help a little, but they forget context, cannot see the owner’s files, and often do not work well in Persian.

What I built

KardoBot is a private web app where a business owner works with one or more AI assistants. Each assistant has a name, a persona, instructions, and its own model.

  • Streaming conversations in Persian or English, with a full right-to-left interface
  • Upload photos, scanned PDFs, CSV, and text; review the records, then use them in a chat or a scheduled task
  • Exact totals from reviewed records, with currency, date range, and duplicate checks
  • Saved facts that the owner can inspect, edit, and delete; the assistant needs approval before it saves anything
  • One-time, daily, or weekly tasks, and reminders that the assistant writes and delivers itself
  • Web search and web reading tools, plus an optional private workspace with shell and file tools
  • Installable as an app on phone and desktop

The hard part

Never lose work

Every model turn, tool call, and answer is saved to the database before it appears on screen. If the server restarts in the middle of a task, the conversation survives and the unfinished run continues.

Numbers you can trust

Language models are bad at arithmetic. KardoBot keeps the model away from sums: the model finds and labels records, and plain code computes the totals.

Where it stands

KardoBot is in private development. The web app is the main interface today. A Telegram bridge exists but is switched off for the first release.

Let's talk

Email me about a project, a problem, or an idea: hello@moazennia.ir. I read every message myself and reply. My CV is available on request.