The only app that bullies you into success!
NagAgent is an iOS app featuring AI-powered accountability coaches with distinct personalities who roast you into productivity. Choose your toxic motivator and get brutally honest feedback on your daily goals.
- 🔥 Sergeant Slacker - Military drill instructor who's perpetually disappointed
- 😈 Sassy Susan - Your toxic bestie who secretly wants you to succeed
- 🤖 Passive-Aggressive Pat - Corporate middle manager energy
- 👹 Brutal Brandon - Zero filter, just truth bombs
- ✅ Personality selection that persists
- ✅ Daily goal setting and tracking
- ✅ Personality-specific roasts and motivation
- ✅ Progress tracking with harsh reality checks
- ✅ Daily report cards with brutal grades
- ✅ Share your shame on social media
- SwiftUI for modern iOS UI
- Core Data for offline persistence
- PersonalityManager singleton for state management
- RevenueCat for subscriptions
- Firebase for push notifications
- FastAPI REST API
- PostgreSQL database
- JWT authentication
- OpenAI integration for dynamic roasts
- Twilio for SMS/WhatsApp notifications
- Docker containerization
NagAgent-iOS/
├── NagAgent-Swift-Codebase/ # iOS app source code
│ ├── Views/ # SwiftUI views
│ ├── Services/ # Business logic
│ ├── Models/ # Data models
│ └── ViewModels/ # View models
├── NagAgent-Backend-Python/ # Backend API
│ ├── app/ # FastAPI application
│ ├── personalities/ # AI personality implementations
│ └── routers/ # API endpoints
└── nagagent-original-preserved.html # Interactive demo
- Personality Selection Persistence - Created PersonalityManager singleton to maintain selection across screens
- Goal Adding Button - Fixed button action binding and state management
Open nagagent-original-preserved.html in any browser to see the interactive UI preview.
cd NagAgent-Backend-Python
pip install -r requirements.txt
uvicorn app.main:app --reload- Open
NagAgent-Swift-Codebasein Xcode - Select your simulator or device
- Build and run (⌘R)
Create a .env file in the backend directory:
OPENAI_API_KEY=your_key_here
DATABASE_URL=postgresql://user:pass@localhost/nagagent
SECRET_KEY=your-secret-key
TWILIO_ACCOUNT_SID=your_sid
TWILIO_AUTH_TOKEN=your_tokenMIT License - Roast responsibly!
Pull requests welcome! The more brutal the roasts, the better.
Warning: This app contains harsh motivation. Not for the faint of heart or easily offended. Your feelings will be hurt, but your goals will be achieved! 💪