Dobby
Know what you owe, before the deadline does
- dobby.riftlabs.xyz
- Figma, Cursor

The problem
Nigeria's new tax rules mean many people have to file for the first time, and most have no records to file with. Their money sits across bank apps, wallets and receipts. The existing tools either only answer tax questions or assume you can plug in a bank feed.
What I built
Dobby is an AI bookkeeping app for anyone with money to keep track of. You upload a statement, connect your email (read-only) or add a wallet address. Dobby sorts your income and spending, asks only when it's unsure, and shows an estimate of what you owe, with a checklist of what you'd need to file.
Features
Dashboard
Your month at a glance: money in, money out, your tax position, and how ready you are to file.
Import from anywhere
Upload a statement (CSV, Excel or PDF), connect your email so receipts arrive on their own, or add a wallet by address.
Auto-categorization with review
Dobby sorts every transaction. Anything it isn't sure about waits in a review queue, where one tap fixes it and turns the fix into a rule.
Ledger
Every transaction in one place. Search and filter by category, taxable or not, and where it came from.
Insights
Income, spending and cash over any period you pick, with trends, category breakdowns and net worth.
Tax estimate and checklist
A running estimate of what you owe, the deductions you can claim, and a checklist of the documents you'd need, with rules for each country.
Stablecoins
Add a wallet by address and Dobby tracks your stablecoins next to your bank money. Cash-outs to naira and yield are flagged for review, so they land correctly in your tax estimate.
My role
I was the only person on this project. I set the scope, designed every screen and the design system, and chose the stack: Next.js, shadcn/ui, Clerk, Supabase and Prisma, Composio for email, Alchemy for wallets, and Bachs for payments. I wrote the prompts that directed AI-assisted development in Cursor, decided pricing and billing, tested on several real phones, and launched it.
Decisions
- Cut scope to ship. Autonomous tax filing was too hard to build reliably, so tax became an estimate on top of the books. I also cut budgeting and goals to launch with four core screens.
- No bank feeds yet. They carry a fixed monthly cost before there's revenue. Uploads, email receipts and wallet addresses cover the same ground for now.
- Earn trust first. Email access is read-only and limited to receipts and statements. Wallets are added by address, with no custody.
- Transfers aren't income. A real OPay statement showed about three times more "income" than actually arrived, because half the rows were money moving between my own wallet and savings. I added a transfer type and paired those rows by transaction reference.
- Ask once, remember. Anything the AI can't tell goes to a review queue, and one tap turns a correction into a rule.
- Tax comes from rules, not AI guesses. It's always an estimate, users can override it, and each country is its own module. Nigeria came first, with the US next.
- Stablecoin-aware tax. Cash-outs to naira and stablecoin yield are flagged for Nigeria's new virtual-asset rules.
- A trial that matches the value. A 7-day trial ended before anyone saw a monthly summary. I moved to 14 days, starting on first use, plus an instant "month in review" email after the first import.
- Payments that fit the provider. Card handles recurring billing. Bank transfer and crypto are one-time payments, because the provider only allows cards for subscriptions.
What's next
More countries, and bank feeds once funded.