Projects

Things I've
built.

Each of these started with a specific problem worth solving. Here's what each one does and how it works.

01

Invigil

Jun 2026 — Present

A locked-down browser for online exams

Taking an exam at home is easy to game, so Invigil closes the gaps. It runs the test inside a restricted Windows client that won't navigate away, blocks new windows and downloads, and catches artificial clicks and keystrokes using OS-level input checks — so a script can't sit in the background answering for you. Camera and mic capture is built and being wired in now. Everything the client sees goes into a tamper-evident journal, and anything unusual shows up on the instructor's timeline with a timestamp, for a person to look at rather than an automatic verdict.

.NET · WPF + WebView2 · Fastify · Next.js · Prisma · ONNX Runtime

Read about Invigil

02

Sighting

Jun 2026 — Present

Filming-location map for videographers & photographers

Scouting a location takes more than an address — you need to know the light, the ground, and how loud it is. Sighting maps filming spots around Houston with the things that actually decide a shoot: the best hours to shoot there, ground texture, ambient noise, sample shots at different focal lengths, and whether it's public or private property. Anyone can add a spot, so there's a full moderation layer behind it — reports, appeals, and account actions. Built on Mapbox and Supabase, with an Android app alongside the web one.

React · TypeScript · Mapbox GL · Supabase · Kotlin

Read about Sighting

03

CognitiveFlow

Jan 2026 — Present

Real-time focus detection from typing patterns

CognitiveFlow gauges how focused you are in real time by reading the rhythm of your typing and input — no camera, no surveys. It learns the difference between being in the zone and starting to struggle, so an app can respond: ease off and offer help when you're stuck, and stay out of the way when you're locked in.

TypeScript · VS Code · Python

Read about CognitiveFlow

04

Caesar Cipher Solver

Jul 2026

Breaks a shift cipher without being given the key

A small C++ tool built on a nice idea: you don't need the key if you can recognize English. It runs through all twenty-six shifts, scores each one by how many common English words come out of it, and keeps the best — so you hand it a scrambled file and get the message back without knowing anything about how it was encoded. Runs in linear space and writes the result straight to a file.

C++

Read about Caesar Cipher Solver

05

Scroll Studio

Jun 2026

A builder for website scroll animations

Scroll-driven animations — where a video scrubs as you scroll, or a section wipes and tilts into view — are awkward to build by hand. Scroll Studio makes them straightforward. Drop in an MP4 and it splits the clip into frames right in the browser; pick from a range of scroll effects — frame‑scrub, parallax, wipes, 3D tilt, hue shifts and more — and preview them on a mock site that reacts to your scroll. Adjust the strength, range and easing, then copy the integration code or download the frames as a zip. Everything runs locally; nothing uploads.

JavaScript · Canvas · scroll-driven animation

Read about Scroll Studio

06

Clarify

Jun 2026

Flags risky terms of service before you sign · browser extension + website

Most people don't read terms of service — they scroll to the bottom and click "I agree." Clarify reads them for you. Run the extension before signing up and it analyzes the full agreement, then explains in plain language whether it's fair, flagging the risky parts — data selling, ownership grabs, and arbitration clauses — with a simple 1–3 risk score (3 means think twice). When something's off, it drafts an opt‑out email so you can push back in one click. It works as both a browser extension and a full website, powered by GPT‑4o mini.

Browser extension · Web app · OpenAI (GPT-4o mini)

Read about Clarify

07

Noor

Jun 2026

Prayer times, qibla & live notifications · try it live in the Playground

Noor is a prayer app that focuses on the essentials and does them well, with no ads. It shows accurate daily prayer times for your location, points you toward the qibla (the direction of prayer), and sends live notifications the moment each prayer time arrives, so you never miss one. It's built as a fast, clean web app — open Noor .

Web app · location-aware · live notifications

Read about Noor

08

Word Hunt Solver

Jun 2026

Solves the board and shows you the moves

Enter the letters you've been dealt and it finds every word you can actually build, then draws each one out on the board so you can copy the moves in order. The catch is that it isn't just an anagram check — tiles are locked horizontal or vertical, so a word only counts if the pieces physically fit together, which the solver works out by backtracking through the placements. Results are sorted by length or point value so you play the highest scorer first.

TypeScript · React · Vite · Tailwind

Read about Word Hunt Solver

09

Gradebook

Apr 2026 — Jun 2026

Grades, attendance & clean records for teachers

Built around how a classroom actually runs. Teachers create groups, add their students, and mark grades and attendance as they go, then print it all as a clean gradebook for record‑keeping. Students get their own login to check their grades and attendance, and an admin side ties it together: create teachers, classes, groups, and students, then assign students to groups and groups to classes. Deleted data is archived for five years, so records hold up.

Full-stack web app · role-based logins · data archiving

Read about Gradebook

10

SimiEats

May 2026

A food-delivery app where nothing is real

The whole food delivery experience — browse restaurants, build an order, check out, then watch your driver come to you on a live map — except none of it is real. No restaurant gets the order, no driver is sent, and no money moves. That's enforced in the code rather than just promised: the amount charged is always written as zero, and checkout has no payment integration to call in the first place. Restaurants come from real Google Places data, but the menus are generated, so no real restaurant gets misquoted.

Next.js · TypeScript · Prisma · PostgreSQL · Google Maps API

Read about SimiEats

11

Garage Hand

Apr 2026

Extracts car specs from forum threads · browser extension

Finding one torque spec usually means scrolling a forty-page forum thread. Garage Hand reads the page for you and pulls the numbers into a floating overlay — torque values, fluid capacities, part numbers — each one linked back to the exact line it came from so you can check it. It works out which vehicle the page is about from the title, breadcrumbs and URL, then flags anything that doesn't match, so a spec for the wrong chassis doesn't end up in your notes. It reads PDFs too, and everything runs in the browser, so no page you visit gets sent anywhere.

TypeScript · React · Manifest V3 · Transformers.js · PDF.js

Read about Garage Hand

12

Outlier

Mar 2026

Catches underpriced flights before they're fixed

Spotting a cheap flight is easy; knowing whether it's actually abnormal is the hard part. Outlier watches the routes you pick and scans fares for abnormal pricing using a comparative scoring model — every offer is measured only against genuinely similar ones, same cabin, trip type and booking window, so economy never gets compared to business. When something comes in unusually low it tells you why it scored that way, and what pulled the score down: too few data points, a stale offer, a hidden self-transfer. It pulls from airline APIs on a slow schedule rather than scraping.

TypeScript · Next.js · Prisma · PostgreSQL · Amadeus / Duffel

Read about Outlier

13

MRA Maintenance App

Sep 2025 — Dec 2025

Fleet maintenance tracking · led the team

Vehicle maintenance usually lives across someone's memory, a notebook, and a few spreadsheets — and things slip. MRA brings it into one shared system: what's been done, what's due next, and who's authorized to do what. I led the team that built it, dividing up the work and keeping development on track.

React · FastAPI · PostgreSQL

Read about MRA Maintenance App

14

Face Tracker

2023

Computer vision · re-identification · live in the Playground

A webcam app that detects people, recognizes their faces, and remembers them across sessions. It assigns each person an identity — Person 1, Person 2 — and re-identifies them when they leave the frame and come back. A sidebar lets you rename or delete people and export the whole gallery to a file; load that file later and it recognizes everyone again. Built with Python and OpenCV (YuNet detection + SFace embeddings) and running live on the Playground.

Python · OpenCV · YuNet + SFace

Read about Face Tracker

Like what you see?

Let's build something together.