What I build when I'm not doing my day job. Each project has a case study with the architecture, decisions and links.
A personal training log that turns Apple Watch and Garmin exports into real coaching. Uploads are parsed into per-km splits, heart-rate zones and running-form metrics, then an AI coach that sees your goal and full history gives feedback after every run and plans your training.
View case study →
A full-stack product management app — a TypeScript REST API with Express and PostgreSQL, documented with Swagger and tested with Jest, plus a React frontend with schema-validated forms.
A server-rendered e-commerce store built end-to-end with Node.js, Express, Sequelize and MySQL, with EJS templating on the frontend.