I'm Fran. I trade fruit and veg at New Covent Garden Market for Ortaggi, and I write most of the software around the business — CRM, briefings, the landing site, the bits in between.
If you've landed here from a comment I left on one of your issues — thanks for clicking through. Apologies in advance if I got something wrong; happy to be corrected in the thread.
Most weeks I leave a comment on an issue or two in repos I use or stumble across — usually a file:line trace of something that broke, sometimes a fix, occasionally just "looks like X also breaks here". Mostly TypeScript / React / Next.js / Python territory. I try to read the source before writing, and I try to admit what I haven't checked.
Lately I'm curious about accessibility-focused projects — caption tooling, screen-reader UX, color-contrast and focus-management primitives. Underrated corner of the issue tracker.
- ortaggi-lead-gen — internal CRM and lead pipeline. Scans Google Places for restaurants, offices and care homes, scrapes sites for cuisine signals and FSA ratings, generates pre-call briefs with Gemini, and clusters leads on a map for visit planning. Templated email outreach with per-cuisine product lists.
- ortaggi-instagram-studio — desktop tool that exports Instagram graphics at the right sizes, with caption templates and a weekly planner.
- wholesale-landing — single-page Next.js site for ortaggi.co.uk. All copy lives in a JSON config so it can be updated without touching layout.
- orbital-discord — Discord operations platform. TypeScript monorepo: discord.js 14 bot, Next.js 15 admin web, background worker for scheduled jobs.
- second-brain — single-user, mobile-first PWA. Thought capture, tasks, habits, expense logging, calendar. Next.js 16 on Cloudflare D1 + Workers, Claude classifies inbound messages, CalDAV syncs to Apple Calendar.
- training_insights — Zwift racing dashboard. Coggan power profiling, critical-power modelling, W/kg category prediction. Built so I could stop staring at a wall of numbers on ZwiftPower and actually see the trends.
- dar1en-zwift-server-helper — Discord bot for the Zwift community I race in. Race and TTT slot templates, multi-timezone scheduling, button voting, CSV exports.
- dev-bootstrap — single-command CLI for spinning up new dev projects with secrets and Claude Code scaffolding already wired. Designed so any agent session opening a fresh project knows what's connected, what isn't, and which command fills each gap.
Before any of the above existed I was deep in The Odin Project and Scrimba, trying to make icons stop overlapping.
- keybgram — Scrimba challenge: mock social feed for mechanical keyboards. Exists because I wanted an excuse to look at backlit photos of keyboards for an unreasonable number of hours.
- leads_tracker — the ancestor of ortaggi-lead-gen. Mobile-first, scrappy, built before I'd heard of half the things in the current stack. The whole CRM idea started here.
- landing-page, top_lp, foundations_repo — TOP coursework. Kept around as a reminder that everything compounds.
TypeScript and Node, Next.js + React, Tailwind for UI, Hono for small APIs. Firebase / Firestore at Ortaggi; Cloudflare Workers + D1 for personal stuff. Gemini for inference where Claude isn't already doing the job. Notion as the operating system for half my life.
Bikes — road and Zwift, mostly Zwift these days because market hours and daylight don't overlap much. Heavy rotation: ZAYN, Morgan Wallen, Ryan Hurd, Justin Bieber, Bad Bunny, Hunter Hayes, Kacey Musgraves, Megan Moroney, Lainey Wilson, Luke Combs, Chris Stapleton, Porter Robinson. Games: Rome: Total War, Skyrim, Cyberpunk 2077, Rocket League.



