Skip to content

FireHead90544/StreaX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

24 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ”ฅ StreaX - Gamified Productivity Tracker

StreaX Logo

Track your productivity. Build streaks. Stay consistent.

I built this for personal use. Feel free to fork & customize to your liking.

Next.js React TypeScript TailwindCSS PWA

Live Demo โ€ข Features โ€ข Installation โ€ข Contributing


๐Ÿ“– About

StreaX is a gamified productivity tracking app that helps you stay consistent with your goals through:

  • ๐ŸŽฏ Pomodoro Sessions - Focus timer with customizable intervals
  • ๐Ÿ”ฅ Streak Tracking - Build daily habits and maintain momentum
  • ๐Ÿ† Rewards System - Earn streak savers and backlog savers
  • ๐Ÿ“Š Detailed Insights - Visualize your productivity over time
  • ๐Ÿ’พ Local-First - All data stored locally with backup/restore
  • ๐Ÿ“ฑ PWA Support - Install as a native app on any device w/ offline access

โœจ Features

๐ŸŽฎ Gamification

  • Streak System: Daily streak counter with milestone rewards
  • Savers:
    • Streak Savers: Skip a day without breaking your streak (earn every 7 days)
    • Backlog Savers: Convert unused daily minutes into emergency reserves
  • Milestones: Unlock rewards at 7, 30, 100, 365, and 1000 days
  • System Notifications: Get daily reminders at 9 AM and evening goal checks at 7 PM

โฑ๏ธ Pomodoro Timer

  • Fully customizable work/break intervals
  • Preset configurations (25/5, 50/10, 90/15)
  • Session history with notes
  • Smart Persistence: Timer continues even if you navigate away or close the tab
  • Today's progress tracking
  • Visual timer with retro design

๐Ÿ“ˆ Insights Dashboard

  • This Day view with detailed stats
  • This Week/Month/All time aggregations
  • Interactive Charts: Beautiful Area Charts powered by Retro UI
  • Hour-by-hour breakdown
  • Daily notes and session logs
  • Completion rate tracking
  • Best day highlighting

๐ŸŽจ Retro UI Design

Thanks to Retro UI

  • Bold, vibrant 80s/90s aesthetic
  • High-contrast color scheme
  • Pixel-perfect borders and shadows
  • Smooth animations and transitions
  • Dark/Light mode support

๐Ÿ’พ Data Management

  • Local Storage: All data stays on your device (Note: Be sure to backup your data manually, periodic backup is recommended)
  • Export/Import: JSON backup system
  • No Server Required: Works completely offline
  • Privacy-First: Zero data collection

๐Ÿ“ฑ Progressive Web App

  • Installable: Add to home screen on any device
  • Offline Support: Service worker caching
  • Desktop & Mobile: Optimized for all screen sizes
  • Platform-Specific Instructions: iOS, Android, Desktop

๐Ÿš€ Installation

Prerequisites

  • Node.js 18+
  • npm or yarn

Local Development

# Clone the repository
git clone https://github.com/FireHead90544/StreaX.git
cd StreaX

# Install dependencies
npm install

# Run development server
npm run dev

# Open browser
# Navigate to http://localhost:3000

Production Build

# Build for production
npm run build

# Start production server
npm start

PWA Installation

Desktop (Chrome/Edge)

  1. Visit the deployed app
  2. Click the install icon in the address bar
  3. Or go to Settings โ†’ Install App

Mobile (Android)

  1. Open in Chrome browser
  2. Tap the menu (โ‹ฎ)
  3. Select "Install app" or "Add to Home Screen"

Mobile (iOS)

  1. Open in Safari
  2. Tap the Share button (โ–กโ†‘)
  3. Scroll and tap "Add to Home Screen"
  4. Tap "Add"

๐Ÿ› ๏ธ Tech Stack

Frontend

  • Next.js 16.1.6 - React framework with App Router
  • React 19 - UI library
  • TypeScript 5 - Type safety
  • Tailwind CSS 3 - Utility-first styling
  • Tailwind CSS 3 - Utility-first styling
  • Retro UI - Neo-brutalism components (@retroui)
  • Recharts - Composable charting library

Features

  • Service Workers - Offline caching
  • Local Storage API - Data persistence
  • PWA Manifest - App installation
  • SEO Optimized - Open Graph, Twitter Cards

Fonts

  • Archivo Black - Display headings
  • Space Grotesk - Body text

๐Ÿ“‚ Project Structure

streax/
โ”œโ”€โ”€ app/                    # Next.js App Router pages
โ”‚   โ”œโ”€โ”€ page.tsx           # Dashboard
โ”‚   โ”œโ”€โ”€ pomodoro/          # Pomodoro timer
โ”‚   โ”œโ”€โ”€ insights/          # Analytics & insights
โ”‚   โ”œโ”€โ”€ settings/          # Settings & data management
โ”‚   โ”œโ”€โ”€ tips/              # Productivity tips
โ”‚   โ”œโ”€โ”€ notifications/     # Notification center
โ”‚   โ”œโ”€โ”€ onboarding/        # First-time setup
โ”‚   โ””โ”€โ”€ layout.tsx         # Root layout with metadata
โ”œโ”€โ”€ components/
โ”‚   โ”œโ”€โ”€ layout/            # Navigation & page structure
โ”‚   โ”œโ”€โ”€ retroui/           # Custom retro UI components
โ”‚   โ”œโ”€โ”€ charts/            # Chart components
โ”‚   โ””โ”€โ”€ PWAInstaller.tsx   # PWA install handler
โ”œโ”€โ”€ lib/
โ”‚   โ”œโ”€โ”€ storage.ts         # Local storage utilities
โ”‚   โ”œโ”€โ”€ streak.ts          # Streak calculation logic
โ”‚   โ”œโ”€โ”€ notifications.ts   # Notification management
โ”‚   โ””โ”€โ”€ formatters.ts      # Date/time formatting
โ”œโ”€โ”€ public/
โ”‚   โ”œโ”€โ”€ sw.js              # Service worker
โ”‚   โ”œโ”€โ”€ manifest.json      # PWA manifest
โ”‚   โ”œโ”€โ”€ icon-*.png         # App icons
โ”‚   โ””โ”€โ”€ og.png             # Social media preview
โ””โ”€โ”€ types/
    โ””โ”€โ”€ index.ts           # TypeScript definitions

๐ŸŽฏ Usage

First Time Setup

  1. Onboarding: Enter your name, role, and daily commitment
  2. Set Goals: Define your long-term productivity goal
  3. Start Tracking: Begin your first Pomodoro session

Daily Workflow

  1. Start a Session: Use Pomodoro timer or quick-add sessions
  2. Track Progress: Monitor your daily goal completion
  3. Maintain Streak: Complete your daily commitment
  4. Review Insights: Check your progress over time

Managing Streaks

  • Complete Daily Goal: Log productive minutes to continue streak
  • Use Streak Saver: Skip a day if needed (earned every 7 days)
  • Use Backlog Saver: Apply unused minutes to reach your goal
  • Track Milestones: Celebrate achievements at key intervals

๐Ÿค Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Guidelines

  • Use TypeScript for type safety
  • Follow existing code style and conventions
  • Test on multiple browsers before submitting
  • Update documentation for new features

๐Ÿ“ License

This project is licensed under the MIT License - see the LICENSE file for details.


๐Ÿ™ Acknowledgments

  • Next.js Team - Amazing React framework
  • Vercel - Hosting and deployment
  • Tailwind CSS - Utility-first CSS framework
  • MDN Web Docs - PWA documentation

Developed by RudraXD & Vibecoded w/ Antigravity

Made with ๐Ÿ”ฅ and โค๏ธ

About

A simple retro-themed PWA to track your productivity & stay consistent w/ pomodoro sessions, build streaks, and gamify your daily goals.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors