Skip to content

Arpit-oo/splittime

Repository files navigation

TimeSplit

TimeSplit is a focus-time web app built with React, TypeScript, and Vite. It combines a Pomodoro-style timer with lightweight work tracking so you can move from planning to execution without switching tools.

What It Does

  • Runs focused work sessions with a live countdown timer.
  • Captures session logs and displays them in a calendar-style view.
  • Supports manual log entries for work completed outside the timer.
  • Tracks deadlines with create, complete, and remove flows.
  • Persists all user data locally in the browser (no backend required).
  • Includes dedicated Dash, Logs, Sessions, and Profile views.
  • Uses a stylized animated Dither background (Three.js + postprocessing) for the app atmosphere.

Tech Stack

  • React 19
  • TypeScript
  • Vite
  • Framer Motion
  • Three.js
  • @react-three/fiber
  • @react-three/postprocessing
  • postprocessing

Project Structure

  • src/TimeSplit.tsx: Main app shell and view routing.
  • src/useTimer.ts: Timer/session mechanics.
  • src/useLogStorage.ts: LocalStorage-backed logs and deadlines state.
  • src/Calendar.tsx: Logs and deadline management UI.
  • src/Sessions.tsx: Session history view.
  • src/Profile.tsx: Aggregated stats/profile view.
  • src/Dither.tsx: Animated shader background.
  • src/index.css: Theme and UI styling.

Getting Started

Prerequisites

  • Node.js 18+ (or current LTS)
  • npm

Install

npm install

Run in Development

npm run dev

Build for Production

npm run build

Preview Production Build

npm run preview

Lint

npm run lint

Available Scripts

  • npm run dev: Starts Vite dev server.
  • npm run build: Type-checks and builds production assets.
  • npm run preview: Serves the production build locally.
  • npm run lint: Runs ESLint.
  • npm run stitch:download: Downloads Stitch assets via scripts/download-stitch.mjs.

Data Persistence

TimeSplit stores app state in browser LocalStorage, including logs, deadlines, and draft/task state. Clearing browser storage will reset local app data.

Notes

  • The production build may show a chunk-size warning due to graphics and UI dependencies. This is expected for the current feature set.
  • No external API keys or server services are required to run this project locally.

License

No license file is currently included. Add one (for example MIT) if you plan to distribute this project publicly.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors