I built nojerk because I was struggling. Porn addiction was ruining things, late nights, no focus, feeling awful. I know lots of people go through this, so it’s not just me.

I tried other apps. streak trackers, journals, stuff like that. They were way too basic, just counting days or letting you write thoughts. I needed something that actually guides you, with challenges that fit your life, not generic tips.

So, I decided to make nojerk myself. It’s like a friend in your pocket, giving you personalized challenges to help you break free. I’m excited to share it for the hackathon!


What Got Me Started
This came from my own tough times. I’d promise myself I’d stop, but I’d slip back. I wanted an app that really understands you, with challenges that evolve as you grow. nojerk gives you 3-4 daily challenges, tailored to you, that adapt based on what you do or skip. It learns what works for you and keeps pushing you.


How I Built It
I used React Native with Expo and EAS Build to make it work on Android (iOS is next). The UI’s clean—progress rings light up when you finish tasks, which feels great. The core uses the Gemini API for AI-driven challenges and learning. You start with a quiz about your triggers and goals, and it creates challenges like “Take a 10-minute walk when you’re stressed” or “Write one thing you’re grateful for today.”

The AI is smart—Gemini adjusts challenges based on your actions. Skip a meditation? It might suggest an audio one next. Nail a workout? It steps it up. I used Convex as the backend database to keep user data secure, and Google Auth for easy, safe logins. GitHub Copilot was a huge help, speeding up coding and catching bugs.

Streaks unlock badges to keep you motivated, and the journal analyzes your mood to suggest better challenges. RevenueCat handles subscriptions smoothly, letting me offer premium features like extra challenges or a community forum. I tested it on myself, tweaking until it felt like a real guide.


What I Learned
I learned how addiction works—it’s about rewiring your brain, not just willpower (Atomic Habits opened my eyes). Tech-wise, I got better at React Native, Expo, and using Gemini API for AI. Convex taught me how to handle a backend without stress, and Google Auth made logins secure and simple. Copilot showed me how AI can help code faster while I still call the shots. Privacy was critical—all data stays secure, no tracking. RevenueCat helped me make subscriptions feel worth it. Building this meant facing my own struggles, which was hard but rewarding.


The Hard Parts
This was tough. Early versions had too many challenges, testers were like, “Slow down!” A/B testing helped me land on 3-4 per day. Getting Gemini API to generate good challenges took work. sometimes it was too random. Setting up Convex and Google Auth was tricky; debugging OAuth flows for Android logins was a pain.

The emotional part hit hardest. Coding while reliving my addiction brought up rough memories. Some nights, I was fixing bugs and fighting urges at the same time. I also doubted myself, could my app really make a difference? But testers said, “This actually helps,” and that kept me going.

Built With

Share this project:

Updates