2026-08-10 17:32:58 +02:00
2026-08-10 17:32:58 +02:00
2026-08-09 23:31:23 +02:00
2026-08-09 23:18:41 +02:00

Studywatch

This is a set of scripts.

  • The client script tracks study sessions and syncs them with a CalDAV calendar.
  • The server script reads from said CalDAV calendar and serves a nice-looking web UI and API endpoint.

Usage

Client

  1. Create an .env following the .env.example layout and fill in all fields
  2. Run as ./studywatch-cli <subject-name> (available subjects are also defined in .env)
  3. Previous, failed syncs are stored in ./backlog.csv and will be reattempted first
  4. The new session will start and display a live timer. To stop it, send SIGINT (Ctrl+C)
  5. You will be asked if you want to sync the session (y|n)

Server

The server is written in python using flask. It grabs the calendar events via CalDAV and renders out a nice looking ui.
Heads-up: The entire frontend is vibe-coded. Im not much of a web dev. Backend is written by me tho.

  1. Just run python app.py and connect to localhost:5000 (just debug, a proper docker build will follow)
S
Description
Client and server scripts to track study sessions, store them in a CalDAV calendar and render out a nice web dashboard.
Readme
461 KiB
Languages
Python 60.7%
CSS 17.1%
JavaScript 12.9%
HTML 8.1%
Dockerfile 1.2%