← Vikram Mekala
Live in production · 2025–2026

Miru — AI daily brief for UK life

How I designed and shipped a production AI assistant as a programme manager with no engineering background — using AI tooling to bridge the gap between product thinking and working software.

→ See the live product

UK daily life is fragmented across too many apps

Train times from one app. Fuel prices from another. School letters buried in email. Spending scattered across banking apps. No single surface synthesises what actually matters for your morning.

The gap isn't data — it's intelligence. The apps exist. What doesn't exist is something that knows your context and tells you the three things that matter today, unprompted.

One household, multiple jobs to be done

I built Miru for my own family first — which meant the jobs-to-be-done were concrete, not hypothetical.

🚆 The commuter
Needs to know if the 8:04 is running before getting in the car. Not after opening three apps.
⛽ The driver
Wants cheapest petrol near home postcode. Doesn't want to check a website — wants the number in the morning brief.
🏫 The parent
Two kids at different schools. Letters arriving by email. School run timing varies. Zero visibility without actively checking.

The decisions that shaped what Miru became

WhatsApp vs a native app
Apps require installs, onboarding, and habit formation. WhatsApp is already open. Zero friction for the user — Miru sends, they read. The delivery channel IS the product.
Brief-first vs tool-first
Early version showed tools (trains, fuel, school) as a grid. Users had to ask. The insight: the AI should lead with what matters today, not wait to be asked. Brief-first is the V2 architecture.
Groq (llama-3.1-8b) vs GPT-4
Speed and cost at this scale. The brief is generated from parallel data fetches and needs to arrive in under 3 seconds. Groq's inference speed is the reason that's possible.
What to cut
An early version rendered full context cards (train boards, fuel tables, school lists) below the brief. It was repeating information already in the narrative. Removed entirely in the redesign.

Context engine → narrative → delivery

The brief is not a chatbot response. It's a synthesis of live data from multiple sources, assembled in parallel, then shaped into a 2–3 sentence narrative by an LLM that knows your prefs.

1
Parallel data fetch
Train departures, fuel prices, school events, spend data — fetched simultaneously on brief request
2
Context engine
Time of day, location (GPS cache), WFH/office mode, school holidays — determines what's relevant
3
Groq synthesis
LLM writes 2–3 sentences. Told what data exists, what time it is, what matters today
4
Delivery
WhatsApp (Twilio) at 7:30am for opted-in users, or on-demand via the web app
Flask Supabase Groq / llama-3.1 Twilio WhatsApp Railway Gmail OAuth

Features across six months

🗞️ Daily brief
AI-synthesised morning narrative. Trains, fuel, weather, school events, bin day — only what's relevant today.
🏫 School comms
Gmail OAuth scan for school emails. AI extracts events and stores them. Parents get a structured view — no more missed letters.
⛽ Fuel tracker
Cheapest petrol near any UK postcode. Live prices, nearest stations, historical trend.
🔎 Company Intel
Agentic research tool — enter a company name, get a structured brief: news, leadership, strategy signals, hiring.
📌 Clippings + saves
Save anything via WhatsApp photo or URL. AI categorises and summarises. Surfaced back in the evening brief.

Product decisions were mine. Execution was accelerated.

I used Claude Code throughout — but as a force multiplier, not a replacement for thinking. Every architecture decision, every feature trade-off, every design choice was mine. Claude handled the implementation that would have taken me weeks to learn from scratch.

"The skill I developed wasn't prompting. It was knowing exactly what I wanted — and being able to describe it precisely enough that the AI could build it correctly."

The result: a production app with a Flask backend, Supabase DB, Twilio WhatsApp integration, Gmail OAuth, and a full single-page web interface — shipped iteratively over six months, maintained and improved weekly.

This is what AI-augmented product delivery looks like at the individual level. Transformation programmes should be run the same way.

In production, in daily use

6+
months live
Daily
active use
10+
features shipped

Not a prototype. Not a demo. A live product I use every morning — and maintain every week.