Inspiration
New Year's resolutions fail at an alarming rate, as over 80% are abandoned by February. We noticed people lack accountability and social support when pursuing goals. Inspired by Strava's social fitness tracking and Duolingo's gamification, we built Questify to turn personal goals into a competitive yet supportive social experience.
What it does
Questify is a social goal-tracking platform where users:
- Create daily/weekly goals and earn points (10 for daily, 50 for weekly tasks)
- Track streaks and unlock achievement badges
- Compete on monthly leaderboards that reset on the 1st of the month
- Connect with friends, view their progress, and send nudges
- Receive AI-generated encouragement, alerts, and motivational quotes via Gemini API
- Monitor progress with visuals and detailed stats
How we built it
- Frontend: React, CSS
- Backend: Node.js, Express, PostgreSQL, bcrypt for auth, express-session
- AI: Google Gemini API for personalized messages
- Features: Custom streak calculation, badge system, leaderboard with cron jobs for monthly resets
- Database: 8-table schema with users, goals, task_completions, friendships, badges, nudges, leaderboard_history
Challenges we ran into
- Streak logic: Handling timezone edge cases and determining when to increment vs reset streaks
- Progress calculations: Different logic for daily (resets midnight) vs weekly (resets Sunday) tasks
- AI consistency: Prompt engineering Gemini to return concise 1-sentence messages instead of essays
- Leaderboard resets: Cron timing to reset at midnight on the 1st without data loss
- CORS/Sessions: Managing credentials between frontend and backend ports
Accomplishments that we're proud of
- Full-stack integration of React, Express, PostgreSQL, and Gemini AI
- Sophisticated gamification with points, badges, and streak tracking that actually motivates
- Real-time social features with friend feeds and AI-powered nudging
- Automated cron jobs for daily streak checks and monthly leaderboard resets
- Clean architecture with separated routes, services, and middleware
What we learned
- REST API design and PostgreSQL query optimization
- AI integration: prompt engineering, fallback strategies, rate limiting
- React state management across multiple components
- Node.js cron jobs for scheduled tasks
- Session-based authentication with CORS
- UX importance of immediate feedback (animations, AI messages, progress updates)
What's next for Questify
- Mobile app with push notifications for streaks and nudges
- Group challenges where friend circles compete toward shared goals
- Data visualization showing long-term trends and insights
- Integration APIs to sync with fitness trackers, calendars, and productivity tools
- Advanced AI coaching that analyzes patterns and suggests goal adjustments
- Customizable rewards where users set personal stakes for goal completion
- Public goals marketplace to discover and clone successful goal templates
Log in or sign up for Devpost to join the conversation.