Plyox — a production build, end to end
A big part of my days this past year, and a good picture of how I like to ship: one engineer owning everything from architecture and backend to UI, integrations, testing and deployment.
what: Plyox is a fitness coaching platform: a workout tracker for athletes (iOS & Android), a web portal for coaches, and an AI layer that drafts training and nutrition plans — a human coach reviews and signs every one before it reaches the athlete.
roles: Three user roles sharing one codebase, with shared types and business logic so the experiences never drift apart. A lot of the real work is hunting state-management and UI inconsistencies across roles — the “works for one role but not the other” class of bug.
web: React 18 + Vite SPA with a custom prerender step — every route ships as real HTML in three languages (EN/ES/FI), with self-hosted fonts and cookie-free analytics.
app: React Native + Expo, live on the App Store and Google Play.
ai: LLM-drafted training and nutrition plans with a coach-in-the-loop review flow, plus AI-assisted document and data processing — built with usage budgets and limits so no feature can run away with costs. The useful kind of AI: drafts fast, humans accountable.
integrations: Payments, AI providers and analytics — third-party services wired in with the cloud bill watched as closely as the features.
infra: Docker multistage builds serving through nginx behind Traefik on a self-hosted VPS: real 404s, immutable caching, security headers, zero-downtime deploys.
production: Backend hardening, security, reliability, cost efficiency, automated testing and deployment — unglamorous work, and the reason a product stays up once real users arrive.
process: A product owner writes tickets, I turn them into small reviewable changes, a tester closes the loop. Workflows that were built fast get refined, not rewritten — I don't rewrite what I can fix.
my part: sole engineer — architecture, backend, UI, AI integration, testing and deployment