Projects

Here’s a small collection of personal projects I’ve built over the years, each highlighting my ability to learn quickly across various domains,
along with hands-on experience in full-stack development, product thinking, and user-centered design.

LocationLens App Screenshot

LocationLens.app

I designed and developed a web app to support location search and comparison, building the backend with Node.js and Express with several integrated Google Maps APIs.
The app includes additional configuration to improve search accuracy with filtering, ranking, and an interactive map view. Additionally, I built technical performance and user metrics which are stored in MongoDB for analysis.

🎥 Watch a demo by flipping this card

Supported on desktop and mobile - see more at https://locationlens.app

LocationLens Demo

This product solves a problem with current real estate search tools that provide limited information regarding neighborhood amenities.

BirthdayNudge App Screenshot

Birthday Nudge mobile app

I designed and developed a cross-platform mobile app using Flutter and Firebase that reminds users of birthdays and drafts one-click, customizable messages.

Available now on Google Play Store:

Get it on Google Play

See more at BirthdayNudge.com

Leveraged AI tools like GPT-5 and Claude Code to build features including contacts integration, smart scheduling,notifications, and AI-generated message suggestions.

Integrated freemium consumer payment model to paywall advanced features.

Prioritized privacy and security by ensuring data does not leave user's device.

Event Analytics Dashboard Screenshot

Event Analytics Dashboard

Developed an analytics platform powered by API-ingested gameplay data to analyze user interactions, including ratio analyses, outlier detection, and longitudinal behavioral trends.

Designed searchable, filterable dashboards and outcome visualizations to surface individual and cohort-level insights for a large online community.

View the live demo

Event Analytics Dashboard

Built with modern data visualization techniques to provide actionable insights from gameplay event data. Features include cohort analysis, trend detection, and interactive filtering capabilities.

Movie club bot event announcement screenshot

Movie Club Bot

I built a bot that runs a movie club the way a book club runs itself: schedule a night and it pulls the poster, runtime, and synopsis automatically, posts RSVP buttons, generates calendar invites for Google, Apple, and Outlook, and works down a reminder ladder from a day out to showtime.

It also settles the arguments. Ranked-choice polls pick the film with round-by-round eliminations, availability polls find the night that works, and attendance is measured rather than asked — the bot samples who is actually in the voice channel and for how long.

Three decisions carried the design. Reminders are database rows, not in-memory timers, so a restart or a crash never drops one, and each is fired idempotently with a grace window — nobody wakes up to "starts in one hour" the next morning. Button state is encoded in the message itself rather than held in a listener, so a post from three weeks ago still works after any number of deploys. And "attended" has exactly one definition, shared by every screen, so no two views can disagree about who was there.

Nanoparticle Tracking Analysis gif

Nanoparticle Tracking Analysis

As a team of three, we designed and developed a laser-based nanoparticle tracking system using an optical setup with a custom lens configuration that focused light sheets. The system captured particle motion via a camera and analyzed it using machine learning algorithms for precise size measurements and characterization.
We optimized the signal quality, achieving sub-1% error rates, while developing the device at a fraction of the cost of commercial systems. This project deepened my expertise in optical systems, image capture, and algorithm-driven analysis.

You can review a condensed version of our presentation here
Nanoparticle Tracking Analysis Screenshot

We measured signal performance using a variety of lens configurations to determine the most accurate design. We leveraged both open source algorithms and wrote our own in order to track nanoparticles over time and therefore characterize them. We also had to use a standard microscope camera as part of our optical system.