Public
Like
Pomodoro
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data β all from the browser, and deployed in milliseconds.
index.ts
https://ommywaters--02a0aa783fa411f0877776b3cceeab13.web.val.run
A customizable Pomodoro timer productivity tool that allows users to create, save, and manage different timer configurations.
- Customizable Timer Settings: Adjust Pomodoro duration, short break, long break, and number of sessions
- Named Timer Presets: Save and reuse timer configurations with custom names
- Session Management: Automatic progression through Pomodoro sessions and breaks
- Visual & Audio Feedback: Clear visual indicators and optional sound notifications
- Persistent Storage: Timer presets are saved and persist between sessions
βββ backend/
β βββ database/
β β βββ migrations.ts # Database schema setup
β β βββ queries.ts # Database query functions
β βββ routes/
β β βββ timers.ts # Timer CRUD API endpoints
β βββ index.ts # Main Hono server
βββ frontend/
β βββ components/
β β βββ App.tsx # Main application component
β β βββ TimerDisplay.tsx # Timer display and controls
β β βββ TimerSettings.tsx # Timer configuration form
β β βββ TimerPresets.tsx # Saved timer presets management
β βββ index.html # Main HTML template
β βββ index.tsx # Frontend entry point
β βββ style.css # Custom styles
βββ shared/
β βββ types.ts # Shared TypeScript types
βββ README.md
- Create a Timer: Set your preferred Pomodoro duration, break times, and number of sessions
- Save Presets: Give your timer configuration a name and save it for future use
- Start Timer: Begin your Pomodoro session with visual countdown and automatic break transitions
- Manage Presets: Load, edit, or delete saved timer configurations
- Pomodoro Session (work time)
- Short Break
- Repeat for specified number of sessions
- Long Break after completing all sessions
- Option to restart the cycle
GET /api/timers
- Get all saved timer presetsPOST /api/timers
- Create a new timer presetPUT /api/timers/:id
- Update an existing timer presetDELETE /api/timers/:id
- Delete a timer preset