Skip to content

Alenbosh/Denji

Repository files navigation

🧠 Denji — Focus, Time & Study Companion

🖼 Timer Page

Timer Page

📊 Stats Dashboard

Stats Dashboard

⚙️ Settings

Settings

Live MVP: https://pochita-tau.vercel.app

Denji is a desktop-first productivity app built with React + TypeScript. It centers on deep focus, intentional time tracking, and clean state management.

At its core, Denji is a Pomodoro engine built to evolve into a full Student Productivity OS — supporting focus sessions, habits, tasks, subjects, and exam planning.


✨ Core Features

⏱ Pomodoro Engine

  • Focus / Short Break / Long Break modes with automatic transitions
  • Configurable durations (focus, short break, long break, sessions before long break)
  • Manual reset, skip, and session control
  • Persistent session tracking (LocalStorage)

📊 Stats Dashboard

  • Today / This Week / Total focus minutes
  • Timeline of past sessions
  • Charts: focus over time, session-type breakdown (pie), heatmap
  • Reset stats option

⚙️ Settings

  • Durations: focus, short break, long break, sessions before long break
  • Preferences: auto-start next session, sound on/off, volume, dark mode
  • Changes apply after the current session (or immediately when stopped)

🤖 AI-Powered Focus Tips

  • Integrated with Google Gemini API (serverless /api/focus-tip)
  • Daily productivity tips on the Timer page (focus mode only)
  • Cached per day; new tip each day

🔔 UX & Feedback

  • Clear visual session state
  • Completion sound & optional notifications
  • Keyboard shortcuts (space: start/pause, r: reset, s: skip)
  • Pause on tab blur

🧠 Tech Stack

Layer Tech
UI React 19, TypeScript
Build Vite 7
Routing React Router 7
Charts Recharts
Data LocalStorage
AI Google Gemini API (gemini-2.5-flash) via Vercel serverless
Deploy Vercel (frontend + api/ functions)
Test Vitest
Lint ESLint

🚀 MVP Features

  • Pomodoro timer with configurable durations
  • Automatic session switching (focus → short/long break → focus)
  • Stats dashboard (summary, timeline, bar chart, pie chart, heatmap)
  • AI-powered daily focus tips (Gemini)
  • Settings (durations + preferences)
  • Persistent state (sessions, settings)
  • Clean, intentional UX

🔮 Planned / Future

  • Habit tracking
  • Subject-based session tracking
  • Task integration
  • Exam countdown
  • Long-term productivity analytics

🧪 Scripts

Command Description
npm run dev Start Vite dev server
npm run build TypeScript check + production build
npm run preview Serve production build locally
npm run test Run Vitest tests
npm run lint Run ESLint

📁 Project Structure

Denji/
├── api/
│   └── focus-tip.js       # Vercel serverless: Gemini focus tips
├── src/
│   ├── app/               # App root, layout, routing
│   ├── components/        # Timer, Controls, Stats, Settings, FocusTip, etc.
│   ├── context/           # PomodoroContext
│   ├── features/subjects/ # (WIP) Subject tracking
│   ├── hooks/             # usePomodoroEngine
│   ├── pages/             # Timer, Stats, Settings
│   ├── reducer/           # Pomodoro state logic + tests
│   ├── styles/
│   ├── utils/             # storage, ai, stats, time, etc.
│   └── types.ts
├── vercel.json            # SPA rewrites (exclude /api)
├── vite.config.ts
└── package.json

📜 License

MIT License © Manish (Alen) Permission is hereby granted, free of charge, to any person obtaining a copy of this software, to deal in the software without restriction

See the LICENSE file for details


Denji is built to grow — structured, minimal, and scalable.

About

Denji is a desktop-first productivity app built with React + TypeScript. It centers on deep focus, intentional time tracking, and clean state management.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors