Projects
Client work and open-source projects I have built.
💼 Client Work
Built for Yumetronics
SmartLite
Real-time IoT control platform running in production at Gardens by the Bay, Singapore — about 200 lamp poles managed across the public-facing park, live since 2024 and still under my maintenance. Yumetronics handled the hardware and on-site pole integrations; I built the software side end-to-end: the operator web app, the backend services, the AWS infrastructure, and the deploy pipeline. Three months from kickoff to production, no prior code. The platform bridges MQTT-driven hardware control with an operator-friendly web dashboard. Pole state, sensor readings, and command acknowledgements flow over MQTT for low-latency control; database changes propagate to connected clients via PostgreSQL LISTEN/NOTIFY for a live multi-user dashboard without polling. Operators see a geographic map of every pole, scheduled automation (time-of-day, sensor-triggered, manual override), motion and ambient-light triggers, failure detection with automatic alerts through PWA push, Telegram, and WhatsApp — plus CSV and Excel exports, charts for incident reporting, role-based access (admin / operator / viewer), TOTP 2FA, and a mobile PWA so on-site staff can act from the field. What this demonstrates: shipping a full real-time control system solo — web app, backend, MQTT broker, relational store, AWS deployment, observability stack — in three months, then keeping it running for a venue where downtime is not an option. The screenshots below cover every operator page: the dashboard with the per-device detail panel, the lamp, gateway, sensor, zone, region, and lamp-profile management tables, the schedule editor, the alerts feed, and the admin views.
Built for Rustam Zaripov
Truth or Dare (DareChat)
Real-time multiplayer Truth or Dare game for Russian-speaking audiences, live at darechat.me. Built for founder Rustam Zaripov in 2022 with a backend-first architecture in one Nx monorepo: two NestJS APIs on Express (public REST + admin) using CQRS handlers, Swagger-documented at darechat.me/api, Socket.IO chat scaled across nodes via the Redis pub/sub adapter, Firebase auth + storage + FCM push notifications, Google Cloud Vision for user-uploaded image moderation, and Prisma on PostgreSQL with backup infrastructure on Postgres 18. JWT-bearer auth across both APIs, custom Nx libraries for shared command/query handlers, and MinIO-compatible media storage. The marketing site (SvelteKit) and an Angular web app consume the same public REST API that mobile clients do — iOS and Android apps live in the founder's separate repos.
Built for Michael Distel
FoodRazor
From paper chaos to automated procurement — built the platform that digitizes restaurant invoice processing, automates supplier ordering, and tracks ingredient price fluctuations in real-time. The founder (a serial restaurateur) was drowning in manual paperwork across 5 locations. I architected an Angular + Node.js stack with Firebase real-time sync, OCR-based invoice scanning, and ML-driven price trend predictions. What started as a single-restaurant tool grew into a multi-country operation.
Built for Nastassia Ponomarenko
Corecircle
Fitness social network that actually kept people moving — built the backend and ML recommendation engine that matched users with workouts, trainers, and accountability partners. The founder had a vision for AI-driven fitness personalization but the existing codebase was a monolithic Nest.js app that couldn't handle real-time interactions. I introduced Nx monorepo for shared code, Redis pub/sub for live workout sessions, and a collaborative filtering ML pipeline that boosted engagement 3x.
Built for Lila King
Roley — Make a Movie!
Multi-video recorder for kids. Pick a script, record scene-by-scene, and the app stitches the clips into a finished movie — with intro/ending credits and 50+ transitions. Full stack: SvelteKit app, ffmpeg.wasm video pipeline, Postgres, AWS S3 + SES, Slack + Mailchimp webhooks. Paired physical craft boxes (scripts, props, costumes) with a digital recorder so the founder's vision of physical play + digital creativity just worked. The visuals below are a portfolio re-imagination I built later — the original client's branding wasn't mine to share.
Built for Novo Nordisk
Sogroya Dose Reminder
A four-step multilingual web app for setting once-weekly Sogroya medication reminders on mobile and desktop calendars. I built the SvelteKit + TypeScript SPA, five-language flow (English, French, German, Portuguese, and Japanese), privacy consent, dose/day/time selection, and in-browser ICS generation. Static deployment kept the experience fast, backend-free, and easy to distribute globally. Completed in 2023 and remained publicly accessible on its branded domain through at least July 2025. The original project site is now offline.
Built for PayBridge
PayBridge
B2B payment reconciliation SaaS built from scratch. Founder (ex-Stripe PM) had a validated idea but the previous dev team spent 6 months and $60K on a non-functional prototype with wrong architecture — monolithic design that couldn't scale and wrong database choice. I ran a 3-day discovery sprint, architected an event-driven microservices system on Deno + Postgres, and delivered a production-ready MVP in 21 days with Stripe Connect integration, multi-tenant isolation, and webhook system.
Built for PropView
PropView
Real estate virtual property tour platform infrastructure overhaul. Founder had a WordPress-based platform that was crashing under load (1.2K concurrent users max), couldn't handle 4K video streaming, and had 40% bounce rate due to slow loading. I rebuilt the full infrastructure on Docker + Traefik, implemented CDN for video streaming, rewrote the image processing pipeline from Python to Rust, added auto-scaling for traffic spikes, and reduced asset sizes by 80%.
Built for MediFlow
MediFlow
Healthcare platform rescue mission. Founder (former nurse) had a working prototype built by an offshore team that was a tech debt nightmare — $8K/month AWS bill, 12-second page loads, no backups, database corruption every 2 weeks. I performed a full infrastructure audit, migrated to Hetzner ($180/mo), rewrote critical query paths, implemented proper backup strategy, monitoring, and zero-downtime deployment pipeline.
Built for WordWeaver
WordWeaver
AI-powered long-form content platform for enterprises. Founder (ex-journalist) had a prototype from AI researchers that was unusable — 40% hallucination rate, no citations, couldn't handle branded content guidelines. I designed a RAG pipeline with citation verification, built a custom MCP server for brand guidelines, implemented human-in-the-loop review workflow, and deployed on self-hosted infrastructure with GPU acceleration.
Built for Nastassia Ponomarenko
Connectful
Networking app with Tinder-like UI and Machine Learning algorithm to match like-minded professionals. Built during the pandemic when in-person networking vanished. The founder needed a platform that could replace conference hallway conversations — I built real-time matching with collaborative filtering, virtual event integration, and icebreaker automation that drove 40% weekly active user retention.
Built for Peter Visser
GoPingu
Marketing team management platform with a Trello-like interface and a marketplace of reusable project templates. The founder needed to standardize how 50+ marketing agencies ran their campaigns — I built a drag-and-drop workflow builder, real-time collaboration on task boards, and a template marketplace that reduced campaign setup time from 3 days to 2 hours.
Built for Andy Gough
Microwork
Human-in-the-loop text classification platform — a marketplace connecting businesses needing data labeling with a global workforce. Built the full-stack platform handling user onboarding, task assignment, quality control, and payment processing. The founder needed a reliable way to scale human classification without managing a distributed team manually.
Built for Thomas Wusatiuk
CallTrack
Call center analytics platform — ingests call metadata from Twilio and telephony providers, visualizes agent performance, detects call drop patterns, and automates phone number provisioning based on geographic routing rules. The founder needed visibility into a chaotic multi-provider setup.
Built for Hamish Ogilvy
Sajari
Enterprise dashboard for a search and recommendations engine-as-a-service. Built a single-page application that let customers configure search relevance, monitor query analytics, and A/B test ranking algorithms — without touching code. The founder needed a UI that could surface complex ML model performance to non-technical product managers.
Code Review & Architecture Audit
Deep-dive code review for a Node.js REST API codebase that was falling apart under production load. Documented callback hell, code inconsistency, missing error handling, and security gaps. Delivered a prioritized refactoring roadmap that the team used to cut incident rate by 60% in 3 months.
🔧 Personal Projects
Homelab
Open-source infrastructure-as-code framework for managing multi-server Docker-based services with automated deployment, monitoring, and backups. Self-host your own cloud with Traefik, Immich, Jellyfin, Vaultwarden, Home Assistant, and 20+ more services.
Financy
Open-source, self-hostable finance tracking for individuals, families, and small businesses. Features double-entry accounting, multi-currency support, real-time collaboration, and PWA capabilities.
Air Quality Sensor
DIY ESP32-based air quality monitoring system measuring PM1.0, PM2.5, PM10 particles, CO2, temperature, and humidity. Integrates with Home Assistant for smart home automation and real-time alerts.
YouTube Tech Channel
Short tech videos about software development and SaaS.
TodoApp — CalDAV Task Manager (PWA)
My Android tasks live in Tasks.org. Tasks.org syncs them to CalDAV. Every desktop client I tried either pulled its own backend or fought Tasks.org for ownership of the data — I needed a thin UI on top of the same VTODO files. Built it on Deno + Hono + Preact Signals: a CQRS layer over a CalDAV adapter (one PROPFIND/PROPPATCH/PUT/DELETE interface that speaks both Radicale and Stalwart), AES-GCM at rest for server credentials, SQLite holding only user accounts and encryption keys — never for todos. Result: 5 calendars and 140+ todos on a single Hetzner box, deployed since June 2026, including a Radicale-to-Stalwart migration that moved zero VTODO data.
caldav-mcp
Native Deno Model Context Protocol server for CalDAV. Events + tasks, zero npm dependencies, single binary. Works with OpenCode, Claude Desktop, Cursor, and Open WebUI.
Zond
Internal health probe bridge for services behind SSO proxies. Probes HTTP endpoints through Authelia-secured gateways — built for Gatus and other monitoring tools that lack SSO support.
Archived Projects
Toread.Today
A cloud tool to organise things to read/watch later. Priorities, tags, statuses and other fancy stuff. Web, Desktop & Mobile app, Google Chrome extension.
The Seed
A one-person SaaS application codebase template. Ship your project idea in days instead of months. It is addictive.
