Skip to content

nktrjsk/flowblock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

136 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FlowBlock

An Akiflow-inspired, local-first time-blocking planner built for ADHD brains.

Plan your day by dragging tasks into your calendar — no backend, no account required. Your data lives on your device.

Features

  • PWA — installable on desktop and mobile, works fully offline after first load
  • Local-first — data stored in local SQLite, never sent to a server; works fully offline
  • Device sync — opt-in, end-to-end encrypted sync across devices via Evolu relay
  • Drag & drop — drag tasks from inbox onto the calendar, resize blocks, drag back to unschedule
  • Time-blocking calendar — week view and 2-day (today/tomorrow) dashboard view
  • Inbox — capture tasks and quick notes (// prefix) in under 3 seconds
  • Transition buffers — configurable breathing room between blocks
  • Keyboard navigation — operate the full UI without a mouse
  • Dark mode — warm paper-industrial aesthetic, light and dark
  • Notifications — optional reminders before blocks end
  • Priority system — color-coded none / low / medium / high

Screenshots

Dashboard view — today and tomorrow side by side, with inbox and capacity bars Dashboard view — today and tomorrow side by side

Week view — full 7-day calendar with time blocks and transition buffers Week view — full 7-day calendar

Stack

Layer Technology
UI React + TypeScript
Build Vite
Local DB + sync Evolu (SQLite + CRDT, E2E encrypted)
Styling Tailwind CSS

No backend is required. Everything runs in the browser.

Getting started

Prerequisites

  • Node.js 18+
  • npm, yarn, or pnpm

Install and run

git clone https://github.com/nktrjsk/flowblock.git
cd flowblock
npm install
npm run dev

Open https://localhost:5173.

The app requires a secure context (HTTPS or localhost). Serving over plain HTTP will break local storage and calendar sync features.

Trusted HTTPS for local dev (required for PWA install)

The dev server uses HTTPS. By default it will start without a certificate (HTTP), so the PWA install prompt won't appear. To get a trusted cert on localhost:

brew install mkcert
mkcert -install  # installs the local CA into your system trust store (once)
mkcert -cert-file .certs/localhost.pem -key-file .certs/localhost-key.pem localhost 127.0.0.1

Vite picks up .certs/localhost.pem automatically on the next npm run dev. The .certs/ directory is gitignored.

Build for production

npm run build

Output goes to dist/. Deploy to any static host — GitHub Pages, Netlify, Vercel, etc.

Deployment

GitHub Pages

npm run build
# push dist/ to gh-pages branch, or use a GitHub Actions workflow

Live demo: https://nktrjsk.github.io/flowblock

Keyboard shortcuts

Action Shortcut
Save time block Ctrl+Enter
Delete time block Del
Close popover / cancel Escape

Sync between devices

FlowBlock uses Evolu for optional device sync. Sync is:

  • End-to-end encrypted — the relay server sees only ciphertext
  • CRDT-based — conflicts resolve automatically, no merge dialogs
  • Opt-in — if you never set up sync, your data never leaves your device

To sync, open Settings → Identity and copy your owner key to the second device.

CalDAV / ICS

Note: This is an experimental, unreliable feature. Both ICS and CalDAV require a CORS proxy to work in the browser — direct fetches are blocked by browser security policy. Set up a proxy in Settings → Advanced.

You can overlay read-only events from external calendars:

  1. Open Settings → Calendars
  2. Add an ICS feed URL or a CalDAV server
  3. Events appear in the calendar as dashed blocks beneath your time blocks

Roadmap

  • CalDAV write — sync time blocks back to CalDAV
  • Projects — group tasks by project with rotational weight
  • Energy capacity bar — plan by energy, not just time
  • Routines — recurring time block templates
  • Review mode — weekly retrospective view
  • Smart suggestions — AI-assisted scheduling

License

WTFPL — do what the fuck you want.

About

Akiflow-inspired time-blocker rebuilt for ADHD brains — no subscriptions, no cloud, and designed to forgive unfinished days.

Topics

Resources

License

Stars

Watchers

Forks

Contributors