Skip to content

PriyanshuBh/focusflow

Repository files navigation


FocusFlow Logo

FocusFlow

A Professional Sanctuary for Deep Work: Pomodoro + Kanban + Atmosphere Engine
View Demo »

View Code · Report Bug · Request Feature

Next.js TypeScript Tailwind CSS Framer Motion Radix UI

Table of Contents
  1. About The Project
  2. Key Features
  3. Tech Stack
  4. Performance Architecture
  5. Getting Started
  6. Contributing

🤖 About The Project

FocusFlow is a premium, distraction-free productivity dashboard designed to facilitate the "Flow State." By consolidating a High-Precision Pomodoro Timer, a Minimalist Kanban Board, and an Integrated Atmosphere Engine into a single hardware-accelerated interface, FocusFlow eliminates the cognitive load of switching between apps.

Built with Next.js 15, React 19, and the Midnight Slate design system, it delivers a smooth, professional experience even on lower-specification hardware.

FocusFlow Midnight Slate Dashboard

🔥 Key Features

  • 🍅 Precision Pomodoro System Features custom work/break intervals and a Mini-Widget Mode that automatically appears via Intersection Observer when you scroll, keeping your timer visible at all times.
  • 📋 Deep Work Kanban Board A visual task manager designed for clarity. Includes drag-and-drop functionality and a workspace reset feature to keep your environment clutter-free.
  • 🍃 Native Atmosphere Engine Replaces external streaming widgets with a lightweight, built-in audio engine. Includes professionally curated Brown Noise, Rain, and Forest soundscapes with smooth volume pulsing animations.
  • 📊 Performance Analytics A robust metrics suite that tracks Daily Streaks, Focus Intensity, and Best Streaks using intelligent consecutive-date validation logic.
  • 🎨 Midnight Slate Design A professional glassmorphism aesthetic built with Tailwind CSS 4 and Radix UI, optimized for reduced eye strain during long-duration focus sessions.

⚙️ Tech Stack

Category Technology Description
Framework Next.js 15 App Router architecture with React 19 concurrent features.
Styling Tailwind 4 Ultra-efficient utility engine for modern design systems.
Animations Framer Motion GPU-accelerated micro-interactions and spring physics.
Components Shadcn UI Accessible, headless UI primitives via Radix UI.
State Context API Unified global state for timer logic and performance metrics.

🏗 Performance Architecture

To ensure a lightweight experience, FocusFlow utilizes a specialized rendering strategy:

graph TD
    A[Timer Context] -->|Functional Updates| B[Pomodoro Timer]
    A -->|Memoized Stats| C[Analytics Dashboard]
    D[Atmosphere Engine] -->|GPU-Pulse| E[Volume Icon]
    F[User Scroll] -->|Intersection Observer| G[Mini Widget Toggle]
    B -->|Metric Trigger| A
    H[Kanban Drag] -->|Framer Layout| I[Task Update]

Loading
  • GPU Offloading: Animations use compositor-only properties (scale, opacity) to ensure 60fps on older CPUs.
  • Memoization: React.memo and useCallback prevent unnecessary re-renders during the 1-second timer tick.

📂 Folder Structure

focusflow/
├── app/                  # App Router Pages & Layouts
│   ├── page.tsx          # Main Dashboard
│   └── layout.tsx        # Root layout with TimerProvider
├── components/           
│   ├── AtmosphereEngine  # Built-in ambient sound controls
│   ├── KanbanBoard       # Drag-and-drop task management
│   ├── PomodoroTimer     # Main timer & Mini-widget logic
│   ├── YourMetrics       # Performance analytics dashboard
│   └── ui/               # Optimized Shadcn primitives
├── contexts/             # Global State (Timer & Metrics)
├── public/               # Audio assets (Zen Bell, Brown Noise)
└── utils/                # Date validation & calculation helpers


🧰 Getting Started

Prerequisites

  • Node.js (v18 or higher)

Installation

  1. Clone the repository
git clone https://github.com/priyanshubh/focusflow.git
cd focusflow
  1. Install dependencies
npm install
  1. Run the development server
npm run dev

🔧 Contributing

Contributions are welcome! If you have ideas for professional features or performance improvements:

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Open a Pull Request

🚀 Follow Me


Built with ❤️ by Priyanshu Bharti

About

FocusFlow is an all-in-one productivity application designed to help you get into the "flow state" and stay there.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages