online London --:--:-- London, United Kingdom

I turn complex product problems into software systems.

End-to-end product engineering, from polished interfaces to reliable backend systems, data flows, automation, and AI-assisted workflows.

§ 01 Flagship · CoachHaven public beta
saas · cms · coach tools ios · android · web

CoachHaven

Solo-built, solver-backed coaching platform for nutrition coaches.

I built CoachHaven solo across a large product surface: web app, mobile app, API, payments, optimization infrastructure, and operations. The product brings client management, recipes, training, adherence, billing, and constraint-aware meal-plan generation into one system.

§ 01

Optimization engine

The queue-backed CP-SAT meal-planning engine solves real coaching constraints across macros, meal slots, recipe availability, allergens, diet rules, and regeneration scope. Immutable plan versions let the product poll progress, explain failures, and regenerate safely.

§ 02

Domain and database architecture

I modeled the coaching domain in Prisma/Postgres around coaches, clients, immutable plan versions, recipes, collections, ingredients, unit conversions, adherence, training, and Stripe-backed billing. I kept tenancy, solver history, and admin workflows in one data model.

§ 03

Full-stack product architecture

I built the product as a pnpm/Turborepo monorepo across a Next.js web app, Fastify API, Expo mobile app, BullMQ worker runtime, and shared contracts, database, solver, telemetry, and UI packages. I kept product rules and API contracts aligned across every surface.

§ 04

AI-assisted workflows

The in-app assistant generates meal plans, regenerates meals, adjusts macros, inspects client progress, and exports plans through a validated internal tool pack.

Other workflows use AI inference for constrained classification and decision steps, with outputs limited to explicit enums before product logic acts on them. I routed tool calls and inference outputs through the same tenant-scoped API and RBAC model as the product, so automation stayed inside real permissions and workflows.

§ 05

Observability and incident debugging

I wired OpenTelemetry, Prometheus, Loki, Tempo, Grafana, and a dedicated private observability runtime. I added a Tailscale-backed private network and a read-only MCP layer for debugging API failures, queue health, solver runs, and frontend issues without exposing internal tooling publicly.

§ product snapshot
  • status public beta · used for live coach-owned meal planning
  • ownership solo ownership across product, design, engineering, infrastructure, and operations
  • core solver-backed meal planning that coaches can review, edit, regenerate, and reuse
  • for nutrition and hybrid coaches managing active client rosters
  • system recipes, plans, training, adherence, chat, and billing in one workflow
  • advantage constraint-aware generation embedded directly into the coaching workflow
§ stack Next 16 React 19 TanStack TS Fastify 5 Prisma 7 Postgres 18 Redis BullMQ Python FastAPI OR-Tools CP-SAT Expo React Native Auth0 Stripe OpenTelemetry Prometheus Grafana Vitest Playwright Detox Turborepo Docker Railway pnpm
§ recent ship log
  • apr 07 · 26 v0.97 mobile plan management, mobile payments, live adherence sync, persistent assistant, meal regeneration
  • mar 16 · 26 v0.95 tracking overhaul, batch cooking, FODMAP-aware recipes, feasibility preview
  • feb 28 · 26 v0.9 billing, client payments, referrals, coach-client chat
  • feb 05 · 26 v0.4–0.8 training builder, tracking, Command Center assistant beta, mobile companion beta, client portal, recipe collections, exercise library, practice dashboard
  • jan 16 · 26 v0.3 meal-structure editing, manual plan creation, version history
  • dec 19 · 25 v0.2 recipe search/editing, Low FODMAP, client macro summaries, generation accessibility
  • nov 25 · 25 v0.1 beta foundations: plan generation, client roster, recipe library, exports, Stripe Connect, analytics
§ 03

Archive · shipped work

04 projects · case studies
§ 04

Profile

spyros bourtzalas · since 2018
423

days of practice using agentic tools, LLM APIs, and custom automation.

Agentic engineering
since claude code · 24 feb 2025

I track new models, agent harnesses, and tooling as they ship, then put them to work in real products. Across web, mobile, backend, and automation work, I know which tools matter, where they fit, and how to use them well.

§ primary tools
Codex CLI
Codex CLI
Primary coding agent
logic · orchestration · architecture
Claude Code
Claude Code
UI and interaction work
Opus · design pairing
§ also in rotation
  • Gemini CLI
    Gemini CLI
    image processing · transcription
  • OpenClaw
    personal agent · skills + automation
  • Claude Agent SDK
    build custom claude agents · tool use
  • OpenAI Agents SDK
    multi-agent orchestration · handoffs
+ custom mcp servers · agent skills · hooks

I studied Computer Science at the University of West Attica in Athens, then relocated to the UK and completed IT Career Switch's Coding Traineeship, a year-long online programme focused on full-stack development, practical projects, and portfolio work. I then spent a year as a web developer at Atelier Studios and have since continued building through freelance work, personal products, and AI-assisted engineering across web, mobile, APIs, data, and automation.

I am most useful when the work spans product thinking, interface and system design, and the engineering judgment to work through awkward constraints without losing sight of the product.

frontend 12
Next.js React TanStack TypeScript JavaScript HTML5 CSS Tailwind SCSS Bootstrap jQuery Leaflet
backend & data 06
Prisma PHP MySQL MariaDB PostgreSQL Python
tooling 11
Node.js npm Vite Git GitHub Prettier ESLint Bash Docker Vitest Railway

Need product engineering across the stack?

Bring me in when the work needs technical depth, clear judgment, and software people can use, extend, and debug. I work across product, systems, automation, and AI-assisted engineering to build or improve software that holds together.

GMT+0

Direct Message

PHP + Krystal SMTP