problem: ppl have nic addictions
solution: over-engineer a strategy to embarrass them for it
- built a mac app -- called nictattle -- that basically watches you through your webcam, detects when you're hitting a vape (through a lightweight finetuned you-only-look-once--yolo--v8 model), and keeps a tally
- when you go over your daily limit, it randomly selects one of your contacts and sends them a shame message ("Hey, I'm pretty addicted to vaping and I'm using an app called nictattler to help me quit. Unfortunately, it's not really working & I just went over my daily limit. Please shame me so I stop.")
- lightweight ML model runs locally (no cloud required — your disgrace is processed on-device)
- if you try to uninstall it, it warns you: “cowardice is not recovery"
the actual engineering
- scraped through a bunch of images of vaping (it's hard to find actual images of geekbars and common vapes without specific searching for them).
- fed all of this into a roboflow model and realized it was really tricky to understand --> fed images into an extensible yolov8 kaggle notebook i found online; added boundaries etc and trained
- converted to mlpackage for swift
- integrated it into the app
- app takes in contacts, camera, and messages permissions
- randomization algorithm is quite literally random - although wanted to use an llm to pick those who it would be socially the worst (i.e. mom/dad/etc), but that felt like a privacy issue lol
the ui/ux is shown in the thumbnail and the demo is shown in this demo here: https://youtu.be/nMXq6R26OHc
future ideas: (1) leaderboard of your friends trying to quit too — but it shows who's failing the hardest, (2) locks your mac so you can't even use it, (3) the original idea was to have a raspberry pi + camera module that does all of this on-device and then can integrate with an iPhone app to do all of this - forgot the hardware so this was the improvisation!
Built With
- swiftui
- xcode
- yolo
Log in or sign up for Devpost to join the conversation.