[ My Projects ]

Work

Live products, research, distributed systems laboratories, and developer tooling across my engineering journey.

[ Live Products ]·4 projects

Live Products

Production web platforms and commercial products shipped for thousands of active users.

The Mainstreet Marketplace preview

Technologies Used:

Node.js
Express
MongoDB
REST APIs
JavaScript
Professional work at Stylabs Technologies

Description

High-scale sneaker and streetwear e-commerce platform. Developed frontend components, API contracts, and performance optimizations cutting page load times from 4s to 1s.

Role & Contribution

Full-stack contributor. Developed components and API integrations, fixed bugs, and authored comprehensive API documentation improving user engagement by 27%.

Profound Properties preview

Technologies Used:

Next.js
React
Node.js
MongoDB
REST APIs
Tailwind CSS
Team project at Stylabs Technologies

Description

Production Dubai real-estate web platform for buying, renting and listing luxury property. Built Next.js frontend components, backend integration with authentication, and AI-assisted data seeding covering 50K records.

Role & Contribution

Full-stack contributor. Set up the project foundation, created reusable components from scratch, and implemented AI data seeding that cut manual curation by 40 hours.

Manzil

2023 to 2024

Manzil preview

Technologies Used:

Vue 3
Node.js
Express
MongoDB
REST APIs
Professional work at Stylabs Technologies

Description

A live product for design-led holiday homes and service apartments in Dubai. Built real-time multi-role chat support for guests, staff, and owners, along with rental, sales, and expense modules.

Role & Contribution

Full-stack contributor. Developed the real-time support chat system for customers, employees and owners, and contributed rental, sales and expense features.

Hireavilla

2023 to 2024

Hireavilla preview

Technologies Used:

Vue 3
Node.js
Express
MongoDB
REST APIs
Professional work at Stylabs Technologies

Description

Luxury vacation rental marketplace in India. Developed unified multi-role support chat system for guests, property owners, and operations staff, plus core rental and expense modules.

Role & Contribution

Full-stack contributor. Developed support chat and core modules across both customer-facing applications and operations portals.

[ Research ]·2 projects

Research

Machine learning research in smart homes, multimodal fusion, and privacy-preserving learning.

Human Activity Recognition Research preview

Technologies Used:

Python
PyTorch
PyTorch Geometric
Transformers
Graph Neural Networks
CNNs
M.S. thesis, University of Georgia

Description

Multimodal self-supervised activity recognition research on CASAS smart-home sensor streams. Converts sparse ambient sensor logs into sequence, text summary, floorplan raster, and graph views with fusion transformers and self-supervised pretraining.

Role & Contribution

Thesis author. Built and evaluated the four-view pipeline, multimodal fusion model, replay simulator, and annotation tooling across four CASAS homes.

Federated Face Recognition Robustness preview

Technologies Used:

Python
PyTorch
Federated Learning
Denoising Autoencoders
Machine Learning
Coursework, Machine Learning in IoT (University of Georgia)

Description

Study of adversarial attack vulnerabilities in smart-home face recognition trained under federated learning. Evaluated FGSM and Square attacks on the FLATS dataset and proposed a hybrid defense combining denoising autoencoders with reverse-attack strategies.

Role & Contribution

Team lead. Coordinated experimental design, adversarial perturbation testing, and evaluation across four team members.

[ HomeSense ]·1 project

HomeSense

Full-scale smart-home digital-twin intelligence platform built around my M.S. thesis model.

HomeSense

June to October 2026

The sign-in page, which starts an OpenID Connect authorisation-code flow (PKCE).The dev identity provider: choose a predefined user (admin, researcher, viewer) or a custom one and authorise. Roles decide what the app lets you do.Operations overview: houses, datasets, models and prediction-job counts, and recent prediction jobs.Houses: five published configurations with floor-plan size and version.Validated sensor-event collections pinned to published house metadata.Registered model artifacts matched to house versions.Model lifecycle: checks, shadow run and promotion.Batch inference with compatible dataset and model pairs.Predictions explorer: the activity timeline coloured by predicted activity (opacity follows confidence), class distribution, the average per-modality signal (text, sequence, image, graph) and a window list with evidence.Unusual patterns raised by the detectors.Scenarios replayed through the same pipeline as real sensors.Predictions explorer: the activity timeline coloured by predicted activity (opacity follows confidence), class distribution, the average per-modality signal (text, sequence, image, graph) and a window list with evidence.One house: live view, floor-plan annotation, published configuration versions (checksum, sensors) and validity.

Sign in provider:The sign-in page, which starts an OpenID Connect authorisation-code flow (PKCE).

Technologies Used:

Python
FastAPI
Kafka
PostgreSQL
React
PyTorch
Kubernetes
Redis
Helm
MLflow
M.S. thesis platform, University of Georgia

Description

Smart-home intelligence platform built around my thesis ML model: live Kafka streaming, anomaly detection with human review, LangGraph assistant, digital-twin floorplan viewer, and Kubernetes deployment.

Role & Contribution

Sole author. Designed and built the ML core library, streaming services, background workers, simulator, anomaly detectors, assistant, and Helm Kubernetes packaging.

[ Featured Work ]·6 projects

Featured Work

Interactive learning laboratories, systems simulators, container engines, and performance tools.

SystemForge

September 2026

Landing: what you will learn and the roadmap.Labs grouped by Fundamentals, Building Blocks and Distributed Systems.The forty system designs, grouped (core distributed, coordination and real-time, transactional and interactive).Architecture canvas, empty: palette of component types, undo/redo, auto-layout, save/load JSON.Code playground: eight exercises (LRU cache, token bucket, consistent-hash ring, base62 IDs, backoff with jitter, trie autocomplete, task pool, lease lock).The three real mini-systems (Docker Compose).Sandbox "URL shortener: grow it under load": seven steps from launch to sharding.A concept lab (Caching): move the controls and watch hit rate and database load respond.One system (URL shortener) with its tabbed design."Naive starter" loaded onto the canvas, ready to validate and run under load.Step 2 (Add a cache): Redis in front of Postgres with the bottleneck still on the API tier, plus estimated cost.Running the tests against the starter code: "0 of 8 passed" with each failing case named. Code runs in a sandboxed Web Worker with a 3-second timeout.Capacity calculator for back-of-envelope estimates.

Home:Landing: what you will learn and the roadmap.

Technologies Used:

TypeScript
React 19
Next.js 16
Vitest
Docker
Tailwind CSS
Independent project

Description

Interactive distributed systems learning lab and simulator featuring 40 system labs, an architecture canvas, failure injection, Raft consensus, and event streaming playgrounds. Helped over 10,000 learners.

Role & Contribution

Designed and built the simulation engine, 40 system labs, canvas, code playground, and Next.js web application.

MLForge

September 2026

Landing page: "Learn how machines learn from data", what you will learn, and the roadmap.The curriculum: ten tracks, 75 topics, learning paths.All labs in one grid.Twenty end-to-end projects and how one evolves (fraud detection example).Interview prep in the same interactive style.Your map: which lessons are complete.A lesson page: sidebar sections (plain words, play with it, math, build it, break it, in the wild, interview).Lesson neural networkK-Means lesson.Attention (Q, K, V) lesson.The linear-regression lab with its controls.The neural-network playground: choose a dataset, set the hidden layers, and watch the decision surface and the loss curve update while it trains. Train and test accuracy are shown live.Switching the dataset to Spiral.

Home:Landing page: "Learn how machines learn from data", what you will learn, and the roadmap.

Technologies Used:

TypeScript
React 18
Vite
KaTeX
Python
Independent project

Description

Browser-only machine learning workbench with 75 interactive labs and 20 guided projects. Visualizes neural network training, decision boundaries, and loss curves in real-time with from-scratch TypeScript algorithms. Used by 5,000+ users.

Role & Contribution

Designed and implemented the interactive lesson system, all from-scratch ML algorithms in TypeScript, and the Vite client.

myDocker

May 2026

The dashboard with Docker running: green "docker up" signal, system widget (CPU, RAM, and what is using the memory), one tile per project with its allocated ports, git branch and changes, and the ports-in-use panel on the right.The ports tab: every allocated port, which project and service owns it, and any conflicts.The ports-in-use panel with the "all" filter: every program listening on the machine. The filter chips (dev, docker, node, all) narrow it, and a program that is not Docker, mydocker or the system can be ended from here. A stray program on a project's port is flagged with "blocks <project>"."links use network address": the widget links switch from localhost to this machine's network address so a phone or another computer on the same Wi-Fi can open a running project.Add project: clone from a Git URL (automatic), or copy a folder in and follow the badge on its tile (generate docker, adopt).The terminal: typing "ly" ghost-completes "lykan"; Tab accepts it.With a project selected, the hint line lists only the options valid for its current state (open, logs, stop, restart, down, rebuild ...)."up" printing the real docker compose output as it happens (build steps, image exports, container start), then "lykan: up finished" with the site address.The project tile has a green border and an "up" signal, shows its memory, and appears nested under Docker Desktop in the memory breakdown; its port shows in the ports panel as published by Docker."stop": the container is stopped (never removed), the tile returns to its idle look.

Overview docker active:The dashboard with Docker running: green "docker up" signal, system widget (CPU, RAM, and what is using the memory), one tile per project with its allocated ports, git branch and changes, and the ports-in-use panel on the right.

Technologies Used:

Next.js 16
React 19
TypeScript
dockerode
Docker Compose
Vitest
Independent project

Description

Local Docker control plane that automatically discovers compose projects, allocates non-colliding host ports, generates overrides without touching repo files, and streams container logs and builds live in the browser.

Role & Contribution

Designed and built the dashboard, non-colliding port allocator, streaming terminal, and Compose execution layer.

QueryDoctor

June 2026

Home: "Find out why a query is slow", sample slow queries to try and recent analyses.New analysis: choose PostgreSQL or MongoDB, paste SQL and parameters, pick Explain only or Execute with analysis, or start from one of eight deliberately slow samples.Workload: queries ranked by total time, panels and regressions; import statistics, generate demo traffic or simulate a regression.History by query and all analyses.The recommendation model: what it predicts, how suggestions are ordered, how models compare, training data.What QueryDoctor does to the database, privacy, and how to connect your own databases.Sample "Recent orders for one customer" loaded.The finished analysis: planning and execution time, the plan as a graph (Seq Scan on orders is the slowest step, 93% of the time), the finding "97.2% of visited rows were discarded", and ranked index ideas with a predicted speed-up (about 20x) and the evidence level.The finished analysis: planning and execution time, the plan as a graph (Seq Scan on orders is the slowest step, 93% of the time), the finding "97.2% of visited rows were discarded", and ranked index ideas with a predicted speed-up (about 20x) and the evidence level.Ticking the consent box and running the benchmark builds the index in an isolated copy and measures 7 runs on each side: 95.4% faster (median 6 ms to 0.26 ms), same output, chart of every run, index size and build time.After generating demo traffic.

Home:Home: "Find out why a query is slow", sample slow queries to try and recent analyses.

Technologies Used:

FastAPI
Celery
PostgreSQL 16
MongoDB 7
Next.js
Docker Compose
Independent project

Description

Automated database performance diagnostic engine analyzing PostgreSQL execution plans and MongoDB aggregation pipelines. Tests index candidates with HypoPG and benchmarks promising ones in isolated clones.

Role & Contribution

Designed and built the analysis engine, FastAPI control plane, Celery background workers, and Next.js visual plan viewer.

Landing page.Sign in.Create an account (name, email, password).Password reset by email link.Projects: each holds the files and analyses for one model. (A throwaway account and a project named "Fraud model demo" were created in the local database to take these screenshots.)Upload: drop a CSV/Parquet or try a bundled demo (imbalanced fraud model, and others).Choosing the demo reads the file (20,000 rows) and guesses what each column means: true label, predicted label, probabilities and metadata for slice discovery."Check my file": validation with fixable, human-readable messages before analysis.Run overview after "Analyze this model": headline finding (recall is 3% for small transactions on accounts under about 20 days old, holding 66% of all false negatives), overall metrics (accuracy 97.9% but balanced accuracy 83.3%), which classes are missed, confidence check, and every finding ranked by severity.Per-class precision, recall and support.Confusion matrix; each cell opens the samples behind it.Reliability diagram: the model is underconfident.Automatically discovered weak segments with sample counts, confidence intervals and share of false negatives.Threshold simulator: move the decision threshold and see precision and recall trade off.The shareable report.

Home:Landing page.

Technologies Used:

FastAPI
Celery
PostgreSQL
Redis
MinIO
Next.js 16
Python
Docker Compose
Independent project

Description

Upload classifier predictions to inspect where models fail and why headline metrics deceive: automated failure slices with confidence intervals, cost-aware threshold simulator, and drift monitoring.

Role & Contribution

Designed and built the analysis engine, FastAPI API, Celery background workers, and Next.js frontend with 299 automated tests.

CityOps

July 2026

Entry page: "Understand the work behind the numbers".Overview: 63,477 requests created Jan 18-31, -34.3% against the preceding 14 days, 3 still open, 99.962% closed within seven days, median 10.2 h to close; filters for dates, borough, problem, agency, board and ZIP.The same overview filtered to Noise - Residential (the filter is kept in the URL so views can be shared).Explore: the individual requests behind the chart, sortable list with exact-ID search and a capped CSV export.Borough map of HEAT/HOT WATER reports (official NYC DCP boundaries): the Bronx has 11,422 of 30,624.How long requests take to close: closure by creation week, age of open requests, distribution by problem.Two source-checked findings with their assumptions and how the counts were verified.Seven-day unresolved estimate: ranking withheld after testing, with measured held-out results shown instead.The NestJS API's interactive documentation.Definitions, data source, latest ingestion status.A request's detail drawer: problem, created and closed times (NYC local), agency, area, valid close duration, quality flags, last imported, and a link to the source record.

Home:Entry page: "Understand the work behind the numbers".

Technologies Used:

Next.js
NestJS
PostgreSQL
GraphQL
Python
scikit-learn
Playwright
Independent project

Description

Municipal operations intelligence dashboard tracking 181,205 NYC 311 requests across boroughs, analyzing resolution times, and evaluating 7-day risk prediction models on chronological holdouts.

Role & Contribution

Built the NYC SODA ingestion pipeline, NestJS GraphQL/REST metric service, Next.js dashboard, and chronological model experiments.

[ Hobby ]·3 projects

Hobby

Sports intelligence, live fight analytics, telemetry models, and real-time watch parties.

Cockpit dashboard: 2026 season, circuit locations, the championship battle by round and constructor points.Standings with tabs for overview and evolution, driver standings, driver ratings, teams and cars, constructors and the calendar.2026 calendar and circuits, as a radar map or a grid.Telemetry duel before comparing.Pit stop times and team rankings.Podium predictor: calibrated probabilities per driver.Driver head-to-head duel with one-click team duels.Assistant with suggested questions.Data sources, strict temporal prediction cut-offs, distance-axis telemetry interpolation and data limits.Compare traces: VER vs HAM, lap 15 on softs, 1:28.412 against 1:28.684, a +1.266 s calculated delta and the time-delta curve along the track distance.The Red Bull duel."Why does Verstappen have a higher podium probability than Leclerc?": the answer cites the 88% vs 38% post-qualifying probabilities and the factors behind them, lists the tools it called (get_prediction, get_driver_form) and links to the prediction page.The same view switched to the post-qualifying cut-off.

Home:Cockpit dashboard: 2026 season, circuit locations, the championship battle by round and constructor points.

Technologies Used:

Python
FastAPI
PostgreSQL 16
XGBoost
Parquet
Next.js 14
Recharts
Independent project

Description

Formula 1 analytics platform providing pre-weekend and post-qualifying podium probability models (calibrated XGBoost & logistic regression) and telemetry duels comparing driver lap traces.

Role & Contribution

Built Jolpica/FastF1 ingestion pipelines, time-safe feature builders, chronological backtests, and FastAPI + Next.js dashboard.

Home: next event card with predicted winners, pound-for- pound rankings, and the public prediction record.Events: upcoming and past cards.Rankings: men's pound-for-pound and every division.Style Duel: pick two fighters and compare styles, with the round-by-round explorer.Prediction record: settled predictions and a chronological backtest against the Elo baseline (the settled list is empty until events complete after publication).Assistant: suggested questions and a free-text box.What is predicted, how results are treated, data sources and limits (estimates, not betting advice).Fighter profile: record, physical stats and fight history.One bout: the model's probability (33% vs 67%) next to an Elo baseline, a confidence label, the factors that moved it with their pre-fight values and impact, and a tale of the tape (record, age, height, reach).One event: every bout on the card with the model's pick.Asking "Who is on the next card?" returns the card with model probabilities, the data source and a link to the full card. If the data is not there it says so.Switching the division tab to Lightweight.

Home:Home: next event card with predicted winners, pound-for- pound rankings, and the public prediction record.

Technologies Used:

Next.js
TypeScript
MongoDB
Python
scikit-learn
Tailwind CSS 4
Independent project

Description

Scrapes UFC statistics and trains an interpretable logistic regression model predicting upcoming fight win-probabilities across 17 pre-fight differential features, beating Elo baselines in chronological backtests.

Role & Contribution

Built challenge-solving scraper, MongoDB pipelines, regularized logistic regression, and Next.js public prediction records.

Discover: hero with the next room, "your all-sports rundown" cards (F1, football, college football, cricket), league leaders for MMA, F1 and soccer, and the house chat pulse.A live watch room (Holloway vs Poirier 3): event switcher along the top, the fight stage with round and clock, batched live reactions, a live poll ("Who wins this round?"), and a side panel with room chat / Game yak. Spoiler-safe delivery shows the stream offset slider and delays chat accordingly."Pick the next thing the house watches": event tiles per sport with invited viewers, and Create an event.Upcoming fixtures across the sports.Fight card pick'em: choose three fighters within a budget of 100 to build a lineup; tabs for MMA, F1, soccer, college football and cricket.Standings tables per sport.Household presence: who is home, away or maybe home, inferred from door and motion events, never a camera.Recaps tab. Observation: at the time of capture this tab renders the same presence list as Household under a "Fight night recaps" heading.

Home:Discover: hero with the next room, "your all-sports rundown" cards (F1, football, college football, cricket), league leaders for MMA, F1 and soccer, and the house chat pulse.

Technologies Used:

React 19
Vite
Express
Socket.IO
Expo
React Native
MongoDB
Independent project

Description

Real-time synchronized sports watch-party platform with spoiler-safe delayed chat, reaction counters, live UFC/F1/cricket rankings, and cross-platform Android mobile app. Used by ~200 users.

Role & Contribution

Built the web application, real-time Socket.IO server with reaction batching, normalized sports API adapters, and Expo mobile app.

[ Additional Work ]·5 projects

Additional Work

Systems exercises, distributed primitives, database internals, and coursework applications.

LaunchHelp

Product Planning Lab2026

Interactive browser-based planning lab guiding product concepts across 13 phases from idea briefs to OpenAPI contracts, test matrices, and launch checklists, paired with a 38-chapter handbook.

React 18
TypeScript
Vite
Vitest
Playwright

Java consistent hashing hash-ring service with a bootstrap node and dynamic name servers. Handles dynamic node joins/leaves by reassigning affected key ranges on a 1024-position ring over TCP sockets.

Java
TCP SocketsConsistent HashingDistributed Systems

Java relational algebra engine executing select, project, union, minus, and join operators. Optimized with LinHashMap indexing and predicate selectivity-aware query planning.

Java
Hash IndexingQuery OptimizationDatabase Internals

Resume Ranking with ML and NLP

Undergraduate ResearchJanuary to June 2023

End-to-end resume ranking platform using machine learning and NLP algorithms connected to a Flask API and React interface. Published as a technical paper in IJSRMS (May 2023).

Python
Flask
React
NLP
Machine Learning

Property Management System

Full-Stack CourseworkApril 2025

Full-stack property management application with PostgreSQL schema, Drizzle ORM, Express API, and Nuxt 3 frontend featuring role-based dashboards for admins, owners, employees, and tenants.

Nuxt 3
Vue 3
TypeScript
Express
Drizzle ORM
PostgreSQL