Product roadmap · v0.1 · April 2026

From drawing board
to app business

earnd is a voice-first financial admin app for UK tradespeople — built by people who understand tax, designed for people who hate paperwork. This document is the complete build guide: concept, architecture, tasks, and developer briefs.

UK tradespeople MTD-ready Voice-first AI-powered iOS + Android Cloudflare backend £15–£40/mo SaaS

01 — Elevator pitch

The 60-second version

For developers, investors, and partners

earnd is a mobile app that does the admin for tradespeople — automatically. A plumber finishes a job, speaks to their phone for 30 seconds, and earnd turns that into a professional invoice, logs their materials, tracks their mileage, and files it for their tax return — all without opening a spreadsheet. The government is forcing every self-employed person in the UK to submit tax data quarterly from 2026 onwards. Most tradespeople have no idea how to do this, and don't want to learn. earnd does it for them. It's built on top of an existing tax advisory firm, so the financial logic is baked in from day one — not bolted on later. Revenue comes from a monthly subscription, and the firm's existing client base of tradespeople is the launch audience.

The problem

Tradespeople hate admin. MTD (Making Tax Digital) is making it unavoidable. Existing tools are desktop-first, complex, and built for accountants — not plasterers.

Our answer

Voice-first mobile app. Speak the job, earnd does the rest. Invoicing, expenses, mileage, MTD quarterly submissions — all handled automatically with zero spreadsheets.

The moat

Tax advisory firm backing. HMRC logic is baked in. MTD submissions go through the firm as registered agent — clients stay dependent, firm scales without proportionally more staff.

Market size

~2.1M

Self-employed tradespeople in the UK. All need MTD compliance from April 2026.

Revenue target yr 1

£180k

500 paying subscribers at £30/mo average. Achievable via existing firm client base + referral.

Pricing tiers

£15–£40

Core (£15), Pro with MTD (£25), Pro + Tax advisory (£40). Annual discount available.

02 — App overview & shape

What earnd actually is

Think of earnd as three layers sitting on top of each other. The user sees only the simple mobile app. Underneath that is a smart engine that organises their data. At the bottom, invisible to the user, is the HMRC bridge that handles compliance.

User layer — the mobile app Voice input Job logging Invoicing Expenses Dashboard Mileage Intelligence layer — the engine AI categorisation VAT monitoring Tax calculation Alert engine Data store (D1) Compliance layer — HMRC bridge MTD quarterly push Self-assessment prep Adviser dashboard HMRC API gateway Audit log

Three-layer architecture — user sees only the top layer; everything below runs automatically

Plain English: The app is a mobile front-end. Behind it, a Cloudflare Worker (a small server programme) handles the logic. The database sits inside Cloudflare too (called D1). HMRC has its own API (a connection point) that the app talks to directly. No complicated server to manage.

Core features — what the app does

01

Voice logging

Speak after a job. AI converts speech to structured data: client name, job type, materials used, time spent, address for mileage.

02

Auto-invoicing

Invoice generated automatically from voice log. Sent via PDF or direct link. Payment tracked. Reminders sent if unpaid after 14 days.

03

Expense tracking

Photo a receipt or speak an expense. AI categorises it (materials, tools, fuel, PPE). Labour vs materials split calculated automatically.

04

Mileage tracker

GPS-based auto-log, or voice entry. 45p/mile claim calculated. Commute excluded. Home-to-first-job rules applied correctly.

05

VAT monitoring

Rolling 12-month threshold watch. Alerts at £75k, £80k, £85k. Flat rate vs standard comparison. Auto-flags adviser when needed.

06

MTD submissions

Quarterly income + expenses compiled automatically. Submitted to HMRC via registered agent (the tax firm). No user action required.

03 — Data flows

How data moves through earnd

Understanding data flow is key for any developer joining this project. There are three main flows: what the user puts in, how the system processes it, and how it gets to HMRC.

Flow 1 — Voice to Invoice

User speaks 30 seconds audio Whisper AI transcribes text Claude AI extracts data JSON CF Worker validates + saves stored Invoice PDF sent to client D1 DB saved

Flow 1 — speech becomes structured data, then an invoice, in under 5 seconds

Flow 2 — Data to HMRC (quarterly MTD)

D1 Database all year data Quarter calc Worker runs logic Adviser review approve / adjust HMRC MTD API official submission User notified push notification Runs automatically on quarterly deadline. User does nothing.

Flow 2 — quarterly MTD submission handled entirely in the background

Flow 3 — Receipt / Expense capture

Photo receipt or voice entry OCR / AI read amount, merchant, date AI categorise materials / tools / fuel VAT extracted reclaim calculated Tax return updated running total adjusted

Flow 3 — a photograph becomes a tax-deductible expense entry in seconds

04 — Technical relationships

How the parts connect

Every relationship in the app has specific data requirements. This section is primarily for developers — it defines exactly what data passes between each component.

For non-technical readers: Think of each relationship below as a pipe between two rooms. The "sends" column is what goes into the pipe; "receives" is what comes out. The "format" is the language the two sides speak to each other in (always JSON — a simple structured text format).

Mobile App

Cloudflare Worker (API)

REST / HTTPS

App sends →

  • Audio blob (voice recording)
  • Photo blob (receipt image)
  • User ID + auth token (JWT)
  • Job data (client, amount, type)
  • GPS coordinates (mileage)
  • Invoice approval status

Worker returns →

  • Structured job JSON
  • Invoice PDF URL
  • Running tax estimate
  • VAT threshold status
  • Alerts array
  • Dashboard summary data

Key requirements

  • Auth: Cloudflare Access or JWT
  • Max file size: 25MB audio
  • Rate limit: 100 req/min/user
  • Response time: <3 seconds
  • HTTPS only, TLS 1.3
CF Worker

AI Services (Whisper + Claude)

OpenAI / Anthropic API

Worker sends →

  • Audio file (m4a/mp3/webm)
  • Transcription text
  • System prompt (tax rules)
  • User trade type context
  • Receipt image (base64)

AI returns →

  • Transcribed text string
  • Structured JSON: client, amount, materials[], labour_hours, job_type
  • Category label for expense
  • Extracted receipt fields

Key requirements

  • Whisper for transcription
  • Claude Haiku for extraction
  • Prompt: enforce JSON output
  • Fallback if AI fails: manual
  • Log all AI calls for audit
CF Worker

Cloudflare D1 Database

SQLite / D1 API

Core tables

  • users — profile, tier, adviser_id
  • jobs — date, client, amount, vat, type
  • expenses — amount, category, vat, receipt_url
  • invoices — job_id, status, sent_at, paid_at
  • mileage — date, miles, purpose, from, to
  • submissions — quarter, status, hmrc_ref

Key queries

  • Rolling 12-month turnover sum
  • Quarter income/expense totals
  • Unpaid invoice list
  • Mileage claim total YTD
  • Tax estimate (live)
  • Adviser client list view

Key requirements

  • Row-level security by user_id
  • Adviser can read, not write
  • Soft delete (never hard delete)
  • Created_at / updated_at on all
  • Backup daily via R2 export
CF Worker

HMRC MTD API

OAuth 2.0 / REST

We send →

  • Quarterly income total
  • Quarterly expenses total
  • Expense category breakdown
  • Tax year period identifier
  • Agent credentials (firm)
  • User's UTR number

HMRC returns →

  • Submission reference ID
  • Acknowledgement timestamp
  • Crystallisation status
  • Obligation periods list
  • Error codes (if rejected)

Key requirements

  • Firm registers as ITSA agent
  • OAuth token per user
  • Sandbox test env available
  • HMRC fraud headers required
  • Store all submission receipts

Database schema overview

Table Key fields Relationships Notes
users id, email, utr, trade_type, tier, adviser_id, vat_registered → jobs, expenses, invoices, submissions UTR stored encrypted. Tier controls feature access.
jobs id, user_id, client_id, date, labour_amount, materials_amount, vat_charged, description → invoices, → mileage (via date) Labour/materials split is critical for VAT reclaim calc.
expenses id, user_id, date, amount, vat_amount, category, receipt_url, ai_confidence → submissions (aggregated) ai_confidence flags low-confidence categorisations for review.
invoices id, job_id, user_id, pdf_url, sent_at, paid_at, amount, status ← jobs Status: draft / sent / viewed / paid / overdue
mileage id, user_id, date, miles, from_postcode, to_postcode, purpose, rate_per_mile → submissions (aggregated) Rate switches from 45p to 25p after 10,000 miles/year.
submissions id, user_id, quarter, period_start, period_end, income, expenses, hmrc_ref, status, submitted_at ← users; → HMRC Immutable once submitted. Amendments tracked separately.
clients id, user_id, name, email, phone, address, vat_number ← jobs, ← invoices Auto-created from voice logging. User can enrich later.

05 — Roadmap & tasks

Getting from here to launch

Five phases. Each phase has a clear goal and a set of tasks. Tick them off as you go — progress is saved in your browser.

Overall progress 0 / 0 tasks complete
1
Foundation — business & legal setup Weeks 1–4
2
Backend — data & API Weeks 5–12
3
Mobile app — iOS & Android Weeks 8–20
4
Adviser dashboard & beta testing Weeks 16–24
5
Launch & growth Month 6+

06 — Developer roles

Who you need, and when

You don't need everyone at once. Here's the order to hire, what each role does, what to brief them on, and realistic cost expectations for UK freelancers.

BE

Backend / API developer

First hire — the most critical role. Builds the Cloudflare Worker, database, and all AI integrations.

Hire first

They build

  • All Cloudflare Workers (API endpoints)
  • D1 database schema + migrations
  • Whisper + Claude AI integration
  • HMRC MTD API connection
  • Stripe subscription webhooks
  • Invoice PDF generation
  • Tax calculation logic

Brief them with

  • The Technical Relationships section (above)
  • Full database schema
  • HMRC MTD API docs (developer.service.gov.uk)
  • Cloudflare Workers docs
  • Your Anthropic API key and Whisper access
  • Stripe test account credentials
Typical cost: £400–£650/day UK freelance · or £25–40k fixed-price for MVP backend · Timeline: 10–14 weeks
MOB

Mobile developer (React Native)

Builds the iOS and Android app. Can overlap with backend developer — start 4 weeks after backend begins.

Hire second

They build

  • All app screens (listed in Phase 3)
  • Voice recording + upload flow
  • Camera / receipt capture
  • GPS mileage tracking
  • Push notification integration
  • Stripe in-app subscription UI
  • App Store + Play Store submission

Brief them with

  • Phase 3 task list (above)
  • API endpoint documentation (from backend dev)
  • Figma designs (from UX designer)
  • Your Cloudflare Worker base URL
  • Tone + brand guidelines
  • Beta tester TestFlight setup needed
Typical cost: £350–£550/day · or £20–35k fixed for MVP app · React Native means one dev covers both platforms
UX

UX / UI designer

Designs every screen before any code is written. Tradespeople have low tolerance for complexity — UX must be exceptionally simple.

Hire alongside #1

They deliver

  • User journey maps (voice → invoice)
  • Figma wireframes for all screens
  • High-fidelity mockups with brand
  • Component library for mobile dev
  • Onboarding flow designs
  • Adviser dashboard design

Brief them with

  • This roadmap document
  • Your 10 beta tester profiles
  • Competitor apps to avoid: FreeAgent, QuickBooks
  • Inspiration: simple, bold, voice-first
  • Audience: 35–55yo tradespeople, not tech-savvy
  • Brand: earnd (lowercase), honest, practical
Typical cost: £300–£500/day · or £8–15k for full design system + screens · Can use Upwork/Toptal for this role
TAX

Tax logic reviewer (internal — you)

This is your competitive advantage. You review every tax calculation the backend produces and sign off on correctness. Not a hire — this is your domain expertise contributing directly.

That's you

Your responsibility

  • Review all AI system prompts for tax accuracy
  • Sign off on VAT threshold logic
  • Define alert trigger conditions
  • Verify MTD submission format matches HMRC spec
  • Review expense category rules
  • Spot-check calculations during beta

What to document

  • Current tax year rates (income, NI, CGT)
  • MTD obligation periods
  • Allowable expense categories (HMRC list)
  • VAT threshold rules and exceptions
  • Mileage rate rules (45p/25p thresholds)
  • WFH calculation methods
Your time commitment: 1–2 days/week during build · Reduces once launch-ready. Consider documenting rules in a shared Notion/Google Doc for the dev team.

Total estimated build cost (MVP): £60,000–£90,000 for all three external roles to MVP launch. This can be reduced significantly by using offshore developers for the backend (India/Eastern Europe) while keeping UX UK-based. Break-even at ~200 subscribers at £30/mo = ~6 months post-launch at modest growth.

Alternative route: Use a no-code / low-code agency to build a simpler v1 in 8–10 weeks for £15–25k (e.g. Bubble for web app, Adalo or Bravo for mobile). Launch this to validate demand, then rebuild properly with the budget above once you have 50+ paying customers. Faster and cheaper to prove the concept.