9 selected projects across production automation, backend systems, product engineering, and applied machine learning. Here’s the question behind each one and how I approached it.
Remote Home Assistant access, without exposing the local network.
A secure application-layer gateway for Home Assistant. It terminates TLS, proxies authenticated requests to Home Assistant Core, and can relay WebRTC media through coturn.
THE QUESTION
How do you enable secure access from outside the home without exposing the home network or requiring a VPN app?
THE APPROACH
Put a purpose-built gateway at the application boundary. Let it terminate TLS and proxy only to the intended Home Assistant service, with a separate relay path for media when needed.
PythonDockerTLSReverse proxyWebRTC / coturn
Work project / Work project · production deployment
↗
REAL-WORLD DEPLOYMENT / PRODUCTION / HOME ASSISTANT OSRuns at the site on an HAOS host. This page diagrams the gateway; it is not the live service.
A call-routing platform connecting Home Assistant, browsers, and SIP endpoints.
A Home Assistant telephony platform that routes calls among browser WebRTC clients, SIP desk phones, ATA-connected phones, and gateway-backed destinations.
THE QUESTION
How can people reach the right endpoint when calls cross browser, SIP, and gateway networks?
THE APPROACH
Model each site’s endpoints and destinations, then route a call over its configured signaling and media path with clear fallback behavior.
SIPWebRTCAsteriskWebSocketsDocker
Work project / Work project · multi-site deployment
↗
REAL-WORLD DEPLOYMENT / PRODUCTION / HOME ASSISTANT OSRequires the site’s HAOS telephony host and configured SIP / gateway endpoints. Call routes here are illustrative.
A stable KNX/IP endpoint with automatic failover between interfaces.
A KNX/IP failover proxy for Home Assistant OS that checks multiple backend interfaces and handles failover and failback across TCP, UDP, and USB paths.
THE QUESTION
How can Home Assistant keep a stable KNX endpoint when an interface or gateway drops out?
THE APPROACH
Keep a stable proxy endpoint in front of the KNX interfaces, monitor their health, switch to an available path, and restore the primary when it recovers.
PythonKNX/IPTCP / UDPHome Assistant OSDocker
Work project / Work project · field-tested failover
↗
REAL-WORLD DEPLOYMENT / FIELD-TESTED / HOME ASSISTANT OSRequires an HAOS host connected to local KNX hardware. The failover interaction is illustrative.
An independent toolkit for the website lifecycle: content, deployment, and operations.
A website deployment and management platform with a headless CMS backend, structured content, versioned drafts and publishing, and authenticated REST APIs.
THE QUESTION
Can website content and publishing fit into a developer-friendly workflow that stays manageable as a product grows?
THE APPROACH
Build structured content models and authenticated APIs around the lifecycle: create a draft, review a version, publish it, and manage the deployed site.
FastAPIPostgreSQLAWSNext.jsREST APIs
Personal project / Personal project · product in development
A job discovery and application platform built end to end during an internship.
A platform designed and developed from scratch across application architecture, backend services, React frontend, integrations, automated job discovery, and deployment.
THE QUESTION
How can a job-search product collect useful opportunities and make them easier to discover and act on?
THE APPROACH
Combine a FastAPI and MongoDB backend with a React application, then connect discovery and distribution workflows to external job sources and communities.
FastAPIMongoDBReactAutomationCI/CD
Work project / Internship project · public case-study preview
1,000+ daily users during the internship (résumé-reported)
A learning project exploring tenant-aware SaaS backend patterns.
A Spring Boot learning project exploring organization-scoped roles, JWT authentication, tenant-scoped projects and tasks, audit trails, and data isolation.
THE QUESTION
How should one service serve many organizations without mixing their access or data?
THE APPROACH
Carry organization context into authorization and data access. Make roles explicit, keep an audit trail, and make the boundary visible in the interface.
Java 17Spring BootPostgreSQLJWT / RBACFlyway
Personal project / Personal project · learning project
A network-flow classifier with an interface for inspecting predictions.
A Python and Flask application that applies trained machine-learning models to network-flow features and presents a benign-or-DDoS prediction for inspection.
THE QUESTION
How can a model prediction become understandable enough to investigate?
THE APPROACH
Expose the flow inputs, show the classification as a result to inspect, and pair the model with a small visual testing workflow.