Hackathons taught me what a classroom can't: spotting a real problem, scoping it to a weekend, and shipping something that works in front of judges before the clock hits zero. The most recent one, AntidoteML, is the most serious: a 4-person team, a real adversarial-ML problem, and a working defense by the deadline. Below it are the earlier weekend builds where the pattern was the same — a genuine problem, a simple ML or automation core, and a demo that just works. Click any card to flip it.
In federated learning, many clients train one shared model and send back weight updates. A single malicious client can plant a backdoor — a trigger pattern that makes the model misclassify on command while clean accuracy looks perfectly normal. AntidoteML catches the attacker from the updates alone.
The ML core. A 629K-parameter CNN on GTSRB (German traffic signs) in PyTorch with fully seeded training, so every run is reproducible, and paired metrics — clean accuracy and attack success rate — reported together so a "defense" can't hide a drop in one behind the other. 94.7% clean accuracy across 118 tests.
The detector. Scores every client's weight update against the round's median using median/MAD z-scores, a robust statistic that a single outlier can't drag. Poisoned updates stand out; the server drops them and ejects the client. Backdoor success fell from 99.6% to 1.2% with no drop in clean accuracy, and the attacker was ejected two rounds after its first poison.
The team. I led the 4-person team: split the system into four owned modules behind a fixed interface contract on day one, and owned every merge to main so the demo never broke.
Backdoor attacks are the realistic threat to any model trained on data you don't fully control — federated phones, crowdsourced labels, open fine-tuning. The hard part isn't detecting a loud attacker; it's detecting one whose updates look almost normal without throwing away honest clients whose data just happens to be unusual. Robust statistics are the right tool for exactly that line, and the paired-metric reporting is what makes the claim checkable.
Point your camera at a meal; a machine-learning model tells you which food groups it's missing.
Built a Python/TensorFlow image-classification model that analyzes photos of meals and flags missing nutrients across the five food groups — a practical tool aimed at fighting diet-driven obesity. As a 4-person team, we trained the model, wrapped it in a usable app, and pitched it live to United Nations judges, taking 1st place out of more than 40 teams. My first proof that an ML model and a clear story beat a complicated demo.
Texts you the moment a vaccine appointment opens in your zip code — built when appointments were nearly impossible to find.
During the height of the vaccine shortage, appointments vanished within minutes of appearing. BoostMe is a Python/Twilio service that continuously monitored appointment availability by zip code and sent instant SMS alerts when a slot opened. Simple architecture, real stakes: automation applied to a problem people were refreshing browser tabs over. Took 2nd place at WilHacks 2.0.
A public-speaking coach that catches your "um"s and "like"s — built to make high schoolers more confident presenters.
A speech-analysis tool that listens to you practice and flags filler words — the "um"s, "uh"s, and "like"s that undermine a presentation — so speakers can see their habits and train them away. Aimed at students who dread presenting. It earned a winner badge, and it's the project that taught me a tool people actually want to use starts from a problem you've personally felt.
An assistive-vision app that describes the world out loud for visually impaired users, in real time.
An accessibility app that pairs OpenCV with TensorFlow to caption a live camera feed — describing surroundings aloud so visually impaired users can navigate more independently. Real-time image captioning on a hackathon deadline forced hard trade-offs between model size, latency, and accuracy: my first genuine lesson in deploying ML under constraints, not just training it.
Weekend builds are where I learned to move quickly without cutting the corners that matter. If that's the kind of energy your team runs on, let's talk.