SELECTED WORK / PROJECT NOTES

BUILDING FROM
THE INSIDE OUT.

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.

Visit the interactive playground
PROJECT / QUESTIONSTACK / AREAOPEN
01 / Secure remote access

Vipsy

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.

Source on GitHub

Maintained across 10+ production sites in India

Follow the workflow
02 / Telephony & real-time systems

Simson Call Relay

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.

Source on GitHub

Deployed environment supports 100+ SIP phones and 20+ gateways

Follow the workflow
03 / Network reliability

Flappy

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.

Source on GitHub

<80 ms failover recovery under tested conditions; deployed to 5+ sites

Follow the workflow
04 / Website platform & headless CMS

Spokegrid

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

Visit project

10+ content models · 100+ CMS entities · 20+ REST APIs

Follow the workflow
05 / Product engineering & automation

Job Discovery Platform

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)

Follow the workflow
06 / Backend systems

TenantX

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

Source on GitHub Visit project Follow the workflow
07 / Applied machine learning

DDoS Detection

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.

PythonFlaskscikit-learnPandasRandom Forest

ML experiment / GitHub project · demo link

Source on GitHub Visit project Follow the workflow
08 / Data exploration

ClusterMap

A customer-segmentation experiment that makes groups easier to explore.

A Python data project that groups customer records and presents summaries and charts for exploring the resulting segments.

THE QUESTION

How do you help someone make sense of a clustering result?

THE APPROACH

Keep the groups close to their visual summaries. Let the viewer focus a segment and compare how the groups sit in feature space.

PythonClusteringPandasData visualization

ML experiment / GitHub project · demo link

Source on GitHub Visit project Follow the workflow
09 / AI applications

LLM Assistant

A terminal assistant combining chat with retrieval and web lookups.

A Python chatbot project using OpenAI GPT-3.5, with utilities described for information retrieval, web scraping, summarization, and conversation.

THE QUESTION

How can a chat workflow bring an answer and useful source material together?

THE APPROACH

Connect a conversational interface with search and scraping utilities, then use an LLM to synthesize and summarize the collected information.

PythonOpenAI APIRequestsSearch APIs

Personal project / Personal project · API keys required

Source on GitHub Follow the workflow