Projects
AI agents, machine learning, full-stack apps, and hardware.
Dialyn Voice Agent
Voice agent that books doctor appointments over the phone, with streaming speech recognition and synthesis.
- Chains Deepgram speech-to-text, GPT-3.5-turbo, and ElevenLabs text-to-speech over Twilio and WebSockets, at ~700ms round-trip latency.
- Streams each reply as tokens and audio arrive, and keeps that call's transcript in memory. Bookings are written to a JSON file after the call.
- Handles interruptions by canceling the reply in progress when the caller speaks again.
- Won Best Use of ElevenLabs at Hack(H)er413 2026.
PythonFastAPITwilioDeepgramOpenAIElevenLabsWebSockets
SoulMate
Live DemoTinder-style sneaker app with a recommendation engine that learns from swipes.
- Swipe-based sneaker feed with a FastAPI backend. Auth checks Supabase's public JWKS endpoint, so the server never holds a shared secret.
- The recommendation engine keeps a 7-dimensional taste vector per user and updates it on every swipe with cosine similarity.
- The feed refills in the background once fewer than 2 cards are left, with no loading flash. Cards behind the active card ignore pointer events.
ReactTypeScriptFastAPIPythonSupabaseCosine Similarity
Moments
Live DemoSocial app for travel photos paired with a song and a place.
- Next.js 16 app with Server Actions and custom auth.
- Pairs uploaded travel photos with Spotify tracks and OpenStreetMap geotags.
- Runs on Neon Postgres, stores media in Vercel Blob, and rate-limits with Upstash Redis.
TypeScriptNext.js 16PostgreSQLNeonVercel BlobUpstash RedisSpotify API
Spectral Vision Transformer
Vision Transformer for classifying hyperspectral satellite and airborne images.
- Adapted a Vision Transformer for hyperspectral data with spectral-spatial patch embeddings. It reaches 95% accuracy on the Indian Pines benchmark.
- Wrote data loaders and augmentation for high-dimensional multi-band reflectance tensors.
PythonPyTorchVision TransformersHyperspectral ImagingScikit-Learn
T2V Safety Filter
Filter that checks text-to-video prompts with two language models before generation.
- Phi-4 and DeepSeek-R1 flag unsafe text-to-video prompts before the video is generated.
- Tested on 432 prompts. Accuracy was 93% on static non-temporal risk and 61% on temporal risk.
PythonDeepSeek-R1Phi-4LLM EnsembleAI Safety
Arduino Solar Tracker
Demo VideoDual-axis solar tracker on an ESP32 that follows the sun.
- Four LDR sensors drive two servos so the panel turns toward the brighter side.
- Servo moves use a light threshold and a noise buffer so the panel stays steady in patchy light.
- A 0.96 inch I2C OLED shows live sensor readings and servo angles.
ESP32C++ArduinoOLED DisplayServo Motors
Habit Tracker
Live DemoNotebook for daily habits, monthly goals, and streaks.
- Journal laid out like a notebook, with Supabase auth and storage.
- Monthly goals, plus a streak count for each habit.
Next.jsReactSupabaseTailwind CSSTypeScript