Portfolio UMBC · B.S. Computer Science

Just a CS student refusing to feel ordinary.

Saumya Patel — full-stack developer & UMBC CS junior.
Shipped campusly.us from localhost to production, now serving 35+ active users.

Scroll
Hello Hanover, MD
(01)— About

I'm Saumya — a CS junior at UMBC who ships real products, not just demos.

Somewhere between a 3.8 GPA and a long string of late-night side projects, I figured out that I learn faster by shipping than by studying. So I do — .edu OTP auth, Supabase Realtime DMs, OpenCV blink detectors, Arduino soil sensors. Whatever the problem rewards, I pick up and wire together.

  • 3.8GPA · President's List
  • 35+Active users on Campusly
  • 10+Languages in rotation
(02)— Selected Work

Real projects, real users, live in production.

01 / Current Role Feb 2026 — Present

TutorMatch — Student Ambassador

Running multi-platform referral campaigns across UMBC Snapchat communities, Instagram, TikTok and Discord to recruit tutors for TutorMatch's Ed-Tech matching platform. Owning the full outreach-to-onboarding funnel, with referral attribution tracked through a Stripe-integrated ambassador portal that verifies commission per completed session.

GrowthFunnel opsStripeUMBC
02 / Full-stack Mar 2026

Campusly — Campus Social Network

Live in production at campusly.us with 35+ active users. Built .edu email OTP auth, a PostgreSQL schema for posts, comments and DMs, and enforced Supabase Row-Level Security so data stays isolated per user and campus. Glassmorphism UI with staggered entrance animations, powered by Supabase Realtime.

Next.jsSupabasePostgreSQLVercel
03 / Computer Vision Apr 2025

MoodMap — Real-Time Fatigue Tracker

A webcam-based drowsiness detector using the Eye Aspect Ratio (EAR) and blink frequency. Calibrates a baseline per user, then triggers audio-visual alerts when alertness dips below threshold — made for late-night study sessions that shouldn't become late-night drives.

PythonOpenCVJavaScriptHTML/CSS
04 / Accessibility · CV Open source

Visionary — Spatial Awareness for the Visually Impaired

A real-time accessibility tool that turns a webcam into a spatial narrator. YOLOv8 Nano detects objects in frame and pyttsx3 speaks them aloud with directional context — left, right, centre — at 320px resolution so the whole pipeline stays smooth on CPU. Flask and OpenCV on the backend, a Tailwind + TypeScript interface on top.

PythonYOLOv8OpenCVFlaskTypeScript
05 / IoT · Hardware Jul 2023

IoT Agricultural Soil Classifier

An Arduino-driven sensor rig that logs moisture, pH and nutrient readings to a SQL database, then recommends crop types based on the measured soil conditions. My first real dance with hardware, C++, and the joy of debugging something that lives in the physical world.

ArduinoC++SQL
06 / Consulting simulations 2023

Forage · BCG X · Accenture · KPMG

Three virtual internships across data science, analytics & consulting. Framed hypotheses, ran EDA, engineered features, trained a supervised model, then packaged findings into client-facing presentations in each firm's voice. A good reminder that a chart is only as good as the story you wrap around it. Full write-ups live on my LinkedIn experience page.

PandasNumPyscikit-learnTableau
(03)— Taste

A product is only as good as the details nobody asked for.

I care about the twenty milliseconds between a click and a response, the weight of a single word in a button, and whether an empty state looks lived-in or abandoned. Code is the easy half — taste is what makes a junior project feel like a real product.

Glassmorphism UI Microinteractions Editorial typography Thoughtful empty states Real-time UX Accessible colour Motion with a purpose Honest loading states
(04)— Process

Spec less. Ship sooner. Listen harder.

  1. 01

    Write the problem down in one sentence.

    Before a schema or a Figma, I force the problem into a single line. If I can't, I'm not ready — and neither is the build.

  2. 02

    Ugly prototype by tomorrow.

    A rough, clickable slice running on localhost beats a polished mock every time. The sooner I get to a real interaction, the sooner the build stops lying to me about what works.

  3. 03

    Lock it down.

    Auth flows, RLS policies, empty states, loading states, keyboard traps. Boring work. It's where a side project becomes something you'd let a real user touch.

  4. 04

    Ship to production, then listen.

    Campusly only started meaning something the day strangers signed up. Localhost answers your questions; production answers theirs. The interface that launches is a first draft.

(05)— Let's build

Have a thing that deserves to be built well?

Reach me at saumyapatel566@gmail.com
Now

Junior year at UMBC (graduating Dec 2027). Open to internships & co-ops — engineering, product, data, or any role where a curious junior gets to ship work that real users see. Happy to talk about anything from Next.js and Supabase to Python and Arduino.

Based in

Hanover, Maryland.
Open to roles anywhere on the East Coast and remote. English & Hindi fluent, Gujarati native.