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

Share this project:

Updates