TenantProof
Live in production
A mobile-first web app that helps private renters in England build a defensible,
time-stamped evidence trail (condition photos and repair logs) and
export it as a court- and adjudicator-ready PDF.
The Renters’ Rights Act 2025 passed, but its new Ombudsman isn’t expected
until roughly 2028, leaving a multi-year gap where tenants have no simple way to
document issues and escalate correctly. Free core tool, plus a £12 one-off
“Dispute Pack.” Built solo, end to end: product, architecture, compliance
design, deployment, and ad operations. Operated as Northwind Labs Ltd, an
ICO-registered data controller.
Stack
- Next.js 16
- React 19
- TypeScript
- Tailwind v4
- Supabase
- Stripe
- @react-pdf/renderer
- Playwright
- ffmpeg
- Resend
- Vercel
Engineering highlights
- Tamper-evident evidence chain
- Photos are captured live in-browser via
getUserMedia and
fingerprinted client-side with a SHA-256 hash. The capture method and hash are
printed into the exported PDF, so a third party can verify a file hasn’t
been altered since capture.
- Security & data protection by construction
- Postgres Row-Level Security on every table (a user can never read
another’s rows), plus full UK GDPR export and account-deletion
flows, data minimisation, and PII masking in session replay.
- Consent-compliant analytics
- A four-provider stack behind a consent gate, implementing Google Consent Mode
v2: analytics load cookielessly denied-by-default so conversions still model,
upgrade on accept, and hard-kill on reject, with session replay and the Meta
Pixel fully gated.
- Programmatic ad-creative pipeline
- A Playwright + ffmpeg renderer turns parameterised HTML/CSS into 97 production
ad assets across six formats. Root-caused a capture race that opened every clip
on ~2s of blank white, and trimmed exactly the measured lead-in with
ffmpeg -ss.
- Out-of-home attribution
- A
/r/<slug> redirect routes billboard QR scans through UTM
tagging into GA4, making physical out-of-home advertising measurable
(normally a black box).
- Regulatory-constrained design
- Explicitly not legal advice: deterministic template letters with no runtime
LLM, persistent disclaimers, and mandatory signposting to Shelter, Citizens
Advice and GOV.UK.
By the numbers
- Migrations
- 8 · RLS enforced on every table
- Ad assets
- 97 rendered across 6 formats
- Analytics
- 4 providers · Consent Mode v2
- Compliance audit
- 12 ad variants · 25-agent pipeline
Car Arbitrage Engine
Shipped · v4.1
A production Python engine that watches used-car markets for price dislocations,
verifies each candidate against DVLA records and multi-round vision AI, and surfaces
only the vehicles worth acting on.
- Stack
- Python · asyncio
- Data
- DVLA VES integration
- Vision
- Three-round AI consensus
- Pricing
- Live median market analysis