TreeMap
무료 오픈소스 디스크 사용량 시각화 도구로, 사각형 트리맵·중복 파일 탐색·디스크 가득 예측·정리 시 파일을 휴지통으로만 이동한다
스마트 투두 플래너가 제니스 그라디언트 알고리즘으로 일일 시간을 작업에 나눠 노력·즐거움·몰입을 균형 있게 배분합니다
A smart to-do planner that splits your daily time across tasks with the Zenith Gradient algorithm — balancing effort, enjoyment, and flow across the hours you actually have.
생산성TypeScript · SvelteGitHub @IBakeCookies온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A to-do app that does calculus so you don't have to.
Try it → — no account, no server, works
offline.
Fallow answers a question every productive day poses: _you have N tasks and only
so many hours — how should you split your time to get the most out of the day?_
Instead of guessing (or splitting time equally), Fallow models each task's
productivity curve and solves for the time allocation that maximizes the
quality of your worked hours, subject to your real limits: the hours in your
day and how much mental and physical energy you can actually sustain.README 전문 보기 ↗A to-do app that does calculus so you don't have to.
Try it → — no account, no server, works offline.
Fallow answers a question every productive day poses: you have N tasks and only so many hours — how should you split your time to get the most out of the day? Instead of guessing (or splitting time equally), Fallow models each task's productivity curve and solves for the time allocation that maximizes the quality of your worked hours, subject to your real limits: the hours in your day and how much mental and physical energy you can actually sustain.
It started as a faithful, over-engineered implementation of the Zenith Gradient Algorithm and has since revised the article's math where it didn't hold up (model v2), extended with a dual energy-pool model, context-switching costs, and a personalization loop that learns your constants from measured data. MATH.md is the authoritative record of the implemented math — every formula, derivation, and deviation from the article, with rationale.
For any task, productivity over time isn't flat — it starts at some initial level, ramps up as you get into the zone, peaks at flow state, then decays as you tire:
p(t) = (a·k·t + p₀) · e^(−kt) k = (1 − p₀/a)/ϕ
Each task is described by three things you feel intuitively:
E) — how demanding the task isβ) — how much you like doing itϕ) — how long before you hit the zoneThese shape the curve: enjoyable, low-effort tasks start productive
(p(0) = p₀); hard ones start slow but peak higher. There's a mathematically
optimal point to stop each task — between 1.5194×ϕ and 1.7933×ϕ depending on
the task, and earlier still while Fallow is unsure of your ϕ — because working
past it makes your average productivity for that task fall.
Fallow takes your whole task list and finds the allocation ⟨t₁, t₂, … tₙ⟩ that
maximizes the importance-weighted sum of average productivities. Plans are built
in 15-minute blocks: greedy marginal analysis over block values, with an
exhaustive search over which tasks deserve funding at all once context-switch
costs are charged. Against your hours alone that is exact for up to 12 tasks,
and past that whenever your day, list and switch cost together keep the search
bounded; once the energy pools bind too it reaches the optimum on ~94% of days
and lands within a few per cent on the rest. Then Fallow reports how much better
that is than an equal split. (Full derivations: MATH.md.)
p₀, decays to 0
and holds the peak independent of ϕ, which makes the optimal stopping point
task-dependent (1.5194–1.7933 × ϕ) instead of a universal constant. See
MATH.md §2–3.c₁, c₂, c₃) with a Bayesian linear regression — anchored to the
default constants, sharpening as you log more, and aware of how uncertain
its own predictions still are.Four screens, and the whole dataset is IndexedDB in your own browser — no account, no server, works offline.
/ — today. The task list and the plan it produces: hours per task,
priority, suggested run order, stopping times, and the metric dashboard. Which
day you are looking at comes from the URL — /?date=YYYY-MM-DD opens a past
day to correct or a future one to plan ahead, and anything invalid falls
back to today. Deletions are undoable from a toast rather than guarded by a
confirm dialog./calendar — the same days as a month or week grid, each planned day
linking back to itself./analytics — what actually happened. Stats and charts across your stored
days, a range toggle, plan adherence against what was planned, and the
calibration history: every time-to-flow and drain measurement, correctable and
deletable./energy — the Energy Lab. The model with its lid off: the constants
fitted from your logs and how sure it is of them, per-task what-ifs against
the real plan, and the button that resets its parameters to the defaults.The nav menu carries the data controls from any page — export a backup file, import one back, or delete everything. Theme, language (five translations) and the animated scenery are per-browser settings.
@sveltejs/adapter-vercel); ADAPTER=node builds the standalone Docker imageThe productivity math lives in
src/lib/business/model/zenith.ts (pure,
dependency-free functions — derivations in MATH.md) and the
task/dashboard logic in
src/lib/business/model/metric/calculation.ts.
Architecture, conventions and contribution rules: AGENTS.md —
the brief, which routes to the per-area rule files.
npm install
npm run dev # start the dev server (add -- --open to open a tab)
npm run build # production build
npm run preview # preview the production build
npm run test # unit tests (vitest) + e2e (playwright)
npm run test:unit # unit tests only
npm run check # svelte-check type checking
npm run storybook # component explorer on :6006
No node or npm on the host; make wraps docker compose.
make dev # dev server with HMR on :5173, source bind-mounted
make deps # after a package.json change: rebuild + renew node_modules
make test # check + lint + depcheck + server unit tests
make e2e # browser unit projects + Playwright e2e → test-result/
make prod # adapter-node production build on :3000
Based on "How to Over-Engineer a To-Do App: The Zenith Gradient Algorithm" from The Quantastic Journal.
Fallow — a to-do app that solves for the optimal split of your day. Copyright (C) 2026 Shadi
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. See LICENSE.
It is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.