Skip to content

Selected Work

Projects

Machine learning, civic technology and full-stack products. Source and live demos are linked wherever the repository is public; private work is described in full and available on request.

The My Travel Buddy discovery page. A hero reads "Plan Your Next Adventure with AI" over a beach. Below it a form holds a destination of Bali, Indonesia, dates of 8 to 21 October 2026 and a budget estimate of 1000, with eight interest chips to choose from: culture and history, food and culinary, nature and outdoors, shopping, cozy cafes, art and architecture, photography hotspots and nightlife.

Screen 1 of 4: Planning a trip

LiveTTP Capstone

My Travel Buddy

An AI travel planner that brings itineraries, visa checks, activities, packing lists and trip management into one app.

My contribution: Developed and secured 20+ REST API endpoints and contributed across the React client and the Express and PostgreSQL server of this team capstone.

  • React 19
  • Vite
  • React Router
  • Node.js
  • Express
The PLANIT home screen for a household, greeting Maya with "Three things on, one chore left" above cards for today's and tomorrow's appointments, her remaining chore, tonight's dinner, the grocery list and the latest family note, with quick-add, photo and ask buttons at the top and a tab bar along the bottom.

Screen 1 of 5: Today

LiveFamily Planner

PLANIT

A family planner that puts the calendar, chores, meals, documents, notes and shared money behind one login.

My contribution: Built it solo: the schema, the row-level security policies that keep each family's data separate, the client, offline behavior and release.

  • JavaScript
  • Vite
  • Supabase
  • PostgreSQL
  • Row-Level Security
The BridgeAI home page. A headline reads "Your resources. Finally found.", above a line explaining that CUNY students leave over $40 million in aid unclaimed each year because the programs are hard to navigate. A "Find My Resources" button sits beside the note that the data is never sold or shared, and below are four figures: unclaimed aid, average match per student, resources indexed, and time to results.

Screen 1 of 2: Home page

LiveBMCC Hackathon

BridgeAI

Helps CUNY students find the aid, benefits, scholarships and internships they may qualify for, ranked by fit.

My contribution: Built the deterministic eligibility engine that runs before any AI is consulted, the server-side AI workflows, and PostgreSQL persistence with authentication and rate limiting.

  • React
  • Node.js
  • Express.js
  • PostgreSQL
  • Sequelize

More projects

Tarn Wellness daily check-in: a voice-or-type button above five sliders for sleep, stress, mood, energy and focus, with a study and work hours field and a button to view the reflection.
LiveBMCC Hackathon

Tarn Wellness

Six self-reported signals become a daily wellness snapshot, with every number traced back to the answer that produced it, and every claim the data could not support removed rather than reworded.

A low-risk general wellness tool, not a medical device. It does not diagnose, treat, monitor for crisis, or provide emergency services, and nothing entered into it is reviewed by a healthcare professional.

  • JavaScript
  • Chart.js
  • Vercel
  • Node.js test runner
A dark landing page headed "Music That Reads Your Mind", with a line below it describing explainable AI recommendations that understand mood, energy and vibe, each carrying a confidence score and transparent reasoning. A sample track card sits to the right showing a score.
LiveCodePath AI Engineer

DHIMIX AI: AI-Native Music Platform

Music recommender that shows its working: every track carries a score, a confidence level, the reasons behind it, and the license it is served under. Built as the CodePath AI Engineering capstone.

  • Next.js
  • TypeScript
  • FastAPI
  • Python
  • Cloudflare R2
The Playlist app library: a grid of playlist cards, each with a four-cover album-art mosaic, a name, a description and a song count, with Import and New Playlist buttons.
LiveTTP

Playlist: PERN Music Library

Create playlists, add songs to them and play a thirty-second preview of each. It is a full PERN application built around a relational model rather than a flat list.

  • PostgreSQL
  • Express
  • React
  • Node.js
  • Sequelize
  • Vite
The Résumé Builder: a form of personal info, education and experience fields on the left and a live preview of the formatted résumé on the right, with a PDF download button.
Live

Résumé Builder

Structured résumé generation with live preview and browser-based PDF export. Entered data stays in the browser.

  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
The PDF Tools workspace: a sidebar of fourteen tools grouped as editing, read and extract, and convert, with the Merge tool open on a drop zone for PDF files.
Live

PDF Tools: Browser-Based Document Workspace

Merge, split, compress, rotate, watermark, sign, read and convert PDFs, entirely in your browser. Files are never uploaded to a server, because there is no server.

Tools
14
Uploads
0
Client-Side
100%
  • Next.js
  • React
  • TypeScript
  • pdf-lib
  • pdfjs-dist
PrototypeInternshipML / Software Engineering Internship

Walkspan: Sidewalk Crack Detection

Built and shipped a sidewalk crack-detection service as the sole engineer. It covered the dataset pipeline, model training and evaluation, a FastAPI inference API and an interactive Streamlit dashboard.

Research prototype trained on 84 images and evaluated on 18. No cross-validation and no confidence intervals. Supports inspection prioritization; not a substitute for certified engineering assessment.

Verified IoU
42.5%
Tests
141
Health Latency
1 ms
  • Python
  • PyTorch
  • DeepLabV3-ResNet50
  • FastAPI
  • Docker
  • Streamlit
  • +1

Course projects, API practice and exercises →

Software Engineering Training Hub

Two private study platforms I built for full-stack software engineering and interview preparation. Access is by invitation only, with a separate account for each person and no public sign-up.

LivePrivate · invitation only

Software Training Hub

A private, installable study system for full-stack interview preparation. It works offline once you are signed in, and each person's progress stays on their own account.

  • Study manual and review guide
  • Practice problems with an in-browser code editor
  • Arrays mastery drills
  • Assignments and timed build challenges
  • React
  • Vite
  • React Router
  • CodeMirror
  • Vercel Edge Middleware
LivePrivate · invitation only

Dhiforge Academy

A private learning platform with its own server-side sign-in: structured curriculum, a code lab and a project archive, backed by a PostgreSQL database.

  • Curriculum organized into tracks, modules and lessons
  • Code lab and SQL lab
  • Coding-problem workspace
  • Registration closed to anyone without an invite code
  • React
  • Vite
  • Tailwind CSS
  • Express
  • PostgreSQL
  • JWT cookie auth

There is no sign-up. Requests go to me by email and I add each person myself. Or get in touch →

The code behind them is private; more of my work is on GitHub ↗

Featured Case Study

Walkspan ML Internship: Sidewalk Hazard Segmentation

Problem

During my Machine Learning Internship at Walkspan ML, the model initially produced IoU = 0.0 on held-out images, predicting all background. CrackForest masks used label values of 1 and 2, but the preprocessing divided them by 255, making the ground-truth masks appear nearly empty and causing the model to learn nothing useful.

Action

  • Debugged mask preprocessing and corrected CrackForest mask decoding
  • Addressed class imbalance with combined BCE + Dice loss and class weighting
  • Verified label semantics against the primary source: decoded all 118 shipped .seg files and matched them pixel-for-pixel against the .mat masks (118/118 exact)
  • Rebuilt the training loop with proper evaluation metrics and checkpointing
  • Built a FastAPI inference server with 5 endpoints, Docker, and a CI pipeline

Result

A second, subtler defect surfaced during that audit: the decoder recognized the label set only when it was exactly {1,2}, so 22 of 118 masks silently decoded to all-background. That left 18.6% of the ground truth reading as blank pavement while 78 tests kept passing. Correcting the decoder alone raised test IoU from 0.344 to 0.425 with no retraining, because the bug had been scoring the model's correct predictions as false positives. The released model scores 0.433 IoU and 0.595 Dice/F1 at threshold 0.85 on 18 held-out images, and the health-check fix cut worst-case API latency from 3.2 s to 1 ms. Shipped with 5 FastAPI endpoints, a locally verified Docker image, 141 passing tests, and a Streamlit research dashboard.

Evaluation Metrics

Verified IoU42.5%
Health Latency1 ms
Annotations Affected19%
Passing Tests141
API Endpoints5

Stack

PythonPyTorchDeepLabV3-ResNet50FastAPIDockerStreamlit

Availability

Available upon request

Let's Connect

Open to engineering roles and collaboration

I am actively looking for internships and early-career software engineering roles, full-stack with a strength in backend and data work.