A daily planner for macOS — write down what you want to get done today, attach a little reward to each task, and celebrate when you finish everything.
- Morning ritual — every day starts with one question: What do you want to get done today?
- Boards per life track — keep Job hunt, LeetCode, Fitness and whatever else on separate boards, each with its own emoji and open-task count. All shows everything at once.
- Three zoom levels — switch between Today / Week / Month. The week view is 7 day columns plus a This Week goals list; the month view is week columns (with a daily rollup) plus This Month goals. Page back and forth to plan ahead.
- Drag & drop — drag a card to another day to reschedule, drop it between cards to reorder, promote it into the week/month goals list, or drop it on a board chip to move it to another board. Today's list supports precise drag reordering too.
- Editable tasks — double-click any card or row to change its title, reward, and urgency
- Urgent flag — flagged cards get a red edge and badge without overriding your manual ordering
- Reward yourself — attach an optional reward to each task ("an iced americano", "one episode of my show"…)
- Perfect Day — finish everything and get a confetti celebration listing all the rewards you've earned
- Streaks & stats — current/best streak, total done, perfect days
- Consistency map — a GitHub-style heatmap of your last 6 months, with custom hover tooltips
- Window appearance — behind-window frosted glass via
NSVisualEffectView, an animated aurora background, trackpad haptics - Local-first — data lives in a local SwiftData (SQLite) store; no network, no accounts
Boards — one per life track, with open-task counts. Drag a card onto a chip to move it.
Week board — 7 day columns plus a This Week goals list. Drag cards anywhere.
Month board — week columns with a daily rollup, plus This Month goals.
| Today | Review |
|---|---|
![]() |
![]() |
Requires Xcode (tested with Xcode 26 / Swift 6.3, macOS 15+).
./build.sh # builds and packages build/iCanDoIt.app
cp -R build/iCanDoIt.app /Applications/Builds as a plain Swift Package (SwiftUI + SwiftData) with a packaging script.
Two hidden flags. The first renders every screen to PNGs off-screen (verifying visuals without screen-recording permissions):
.build/debug/iCanDoIt --snapshot /tmp/snapsThe second asserts the logic that a screenshot can't prove — drag-and-drop placement, schema backfill, stats:
.build/debug/iCanDoIt --selftest- SwiftUI + SwiftData — a plain Swift package, no
.xcodeproj - Frosted glass via
NSVisualEffectView(.fullScreenUI, behind-window) with a thin tint so the desktop shows through - Confetti is a pure-SwiftUI
Canvasparticle system - The heatmap flattens its 182 shadowed cells into one GPU texture (
drawingGroup) so screen transitions don't drop frames - Icon is generated programmatically by
scripts/make_icon.swift
Built with Claude Code 🤖
© 2026 Weiren Feng. All rights reserved. Published for reading and portfolio purposes; not licensed for reuse, modification, or redistribution.





