Page 1 of 8
System Requirements Document (SRD)
Project Name: fierce-productivity
1. Introduction
Welcome to the System Requirements Document (SRD) for fierce-productivity, a gamified student productivity app designed to transform studying into a competitive and rewarding experience. This document outlines the functional and non-functional requirements, design concepts, and technical specifications for the project.
The app, envisioned by Suchith Parmi from India, aims to motivate users through gamification features such as streaks, levels, badges, and leaderboards. By blending productivity tracking with game mechanics, fierce-productivity will inspire users to achieve their study goals while fostering a sense of competition and accomplishment.
Page 2 of 8
2. System Overview
fierce-productivity is a Duolingo-style productivity app that gamifies studying. Users earn XP for study time, maintain streaks by completing daily goals, and compete on leaderboards. The app includes features like achievements, badges, and dynamic dashboards to keep users engaged.
The system will include:
- Authentication: Secure login and signup.
- Study Timer: Tracks active study time with idle detection (pauses when the user minimizes, closes the tab, or exits the app).
- Gamification Features: XP, levels, streaks, badges, and rewards.
- Leaderboards: Separate pages for weekly-resetting and all-time leaderboards.
- Dashboard: A central hub displaying progress, streaks, and quick actions.
Locale-specific considerations include Indian timezone defaults (IST) and currency-independent gamification.
3. Functional Requirements
Authentication
- As a User, I should be able to log in and sign up securely.
- As a User, I should see validation errors for incorrect or duplicate inputs.
- As a User, I should be redirected to the Dashboard after login/signup.
Study Timer
- As a User, I should be able to start and stop a study timer manually.
- As a User, the timer should automatically pause if I minimize, close the tab, or exit the app.
- As a User, I should see my total study time for the day.
Page 3 of 8
Daily Goal System
- As a User, I should have a default daily goal of 60 minutes.
- As a User, I should see a progress bar showing my daily goal completion.
- As a User, completing my daily goal should give me bonus rewards.
XP System
- As a User, I should earn 10 XP for every 10 minutes studied.
- As a User, I should earn a bonus of 50 XP for completing my daily goal.
- As a User, I should see my total XP displayed clearly.
Level System
- As a User, I should level up every 100 XP.
- As a User, I should see my current level and progress to the next level.
Streak System
- As a User, I should maintain a streak if I complete my daily goal.
- As a User, I should see my streak visually represented with a flame icon 🔥.
- As a User, my streak should reset if I miss a day.
Achievements / Badges
- As a User, I should earn badges for milestones like:
- First Study Session
- 3-Day Streak
- 7-Day Streak
- 10 Hours Studied
- As a User, I should see my badges visually on my profile.
Page 4 of 8
Leaderboards
- As a User, I should see a global leaderboard ranked by all-time XP.
- As a User, I should see a weekly leaderboard ranked by XP earned this week.
- As a User, I should see my rank highlighted even if I’m not in the top 10.
- As a User, I should see the top 10 users displayed dynamically.
Dashboard
- As a User, I should see my streak 🔥, XP ⭐, level 🧠, and daily goal progress clearly.
- As a User, I should have a quick “Start Study” button for convenience.
- As a User, I should see a mini leaderboard preview showing the top 3 users.
Pages
- As a User, I should navigate between:
- Login Page
- Signup Page
- Dashboard
- Study Session Page
- Leaderboard Pages (Global and Weekly)
- Profile Page
4. User Personas
Admin
- Manages user accounts and monitors app performance.
Page 5 of 8
User
- Primary persona: Students aiming to improve productivity through gamification.
5. Visuals Colors and Theme
Color Palette
To ensure fierce-productivity stands out and avoids Duolingo’s green, purple, and white palette, the following unique color palette is proposed:
- Background: #EAF6F6 (Mint Ice Blue)
- Surface: #FFFFFF (Pure White)
- Text: #3E4C59 (Deep Slate Gray)
- Accent: #FF8C42 (Burnt Orange)
- Muted Tones: #B4CDED (Soft Periwinkle Blue)
This palette creates a fresh, vibrant identity while maintaining a professional yet playful tone.
6. Signature Design Concept
Page 6 of 8
Interactive Study Galaxy
The homepage will feature an interactive galaxy map where each star represents a feature or section of the app.
-
Visuals:
- Stars glow and pulse subtly.
- Hovering over a star reveals its name and purpose (e.g., "Leaderboard", "Achievements").
- Clicking a star zooms into that section with a smooth transition.
-
Animations:
- XP earned will create shooting stars across the galaxy.
- Streak flames will orbit the user's profile star dynamically.
-
Micro-interactions:
- Progress bars fill like constellations connecting stars.
- Leaderboard rank changes trigger a "starburst" animation.
This concept makes the app feel alive and immersive, ensuring users are captivated from the first interaction.
7. Non-Functional Requirements
- Performance: The app should load pages in under 2 seconds.
- Scalability: Support up to 1 million users.
- Security: Passwords must be hashed using industry standards (e.g., bcrypt).
- Availability: 99.9% uptime guarantee.
8. Tech Stack
Page 7 of 8
Frontend
- React for Web
- React Native for Mobile
Backend
Database
- MySQL (primary RDBMS)
- MongoDB (for NoSQL needs)
AI Models
- GPT 5.4 for user-friendly responses
- Google Nano Banana for image generation
AI Tools
- Langchain for workflow orchestration
- Litellm for LLM routing
Local Orchestration
Page 8 of 8
Server-side Orchestration
9. Assumptions and Constraints
Assumptions
- Users will primarily access the app via mobile devices.
- The app will operate in IST timezone by default.
Constraints
- Idle detection for the timer will rely on browser/app activity monitoring.
- Weekly leaderboard resets will occur every Monday at 00:00 IST.
10. Glossary
- XP: Experience Points earned through study time.
- Streak: Consecutive days of completing the daily goal.
- Leaderboard: A ranking system based on XP.
- Idle Detection: A feature that pauses the study timer when the user minimizes or exits the app.
- Badge: Visual rewards for achieving milestones.
No comments yet. Be the first!