Bambu Bar
Monitor Bambu Lab printers from your Mac menu bar: print progress, the live camera, AMS filament, alerts and desktop widgets. Bambu Bar for macOS 26+.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
Loading the full README. The saved excerpt is shown below.
Daily habit tracker for the 90-Day Run (Sep 27 – Dec 25, 2026): workout, daily spend, meal plan, code commits, job applications, reading, HYSA deposits, weigh-ins and milestones.
Static site — a single index.html, no build step.
Deploy on Vercel
1. Push this repo to GitHub.
2. In Vercel: Add New → Project → Import this repo.
3. Framework preset: Other. Leave build command and output directory empty.
4. Deploy.
Data
Progress is saved in the browser's localStorage first, so it always works offline. Click Sync in the header to also back it up server-side and share it across devices/browsers:Read the full README ↗Daily habit tracker for the 90-Day Run restart (Day 0 Sun Nov 1, Day 1 Mon Nov 2, 2026 → Day 90 Sat Jan 30, 2027). Mobile-first, offline-first, syncs between phone and desktop.
src/engine/ (pure functions, unit tested with Vitest).src/config/run.config.ts (dates, habits, plans) + src/config/profile.ts (personal numbers, placeholders only).api/sync.js, a Vercel function on Upstash Redis with a per-record last-write-wins merge.npm install
npm run dev # local dev (sync needs `vercel dev` for the /api routes)
npm test # rules engine, migration and sync merge tests
npm run build # typecheck + production build to dist/
vercel.json sets the Vite build (npm run build → dist/), so no dashboard changes are needed.
Sync needs the Upstash Redis integration (KV_REST_API_URL / KV_REST_API_TOKEN or UPSTASH_REDIS_REST_*), which this project already has.
This repo is public, so real money, debt and body numbers are not in the code. Keep them in
profile.local.json (gitignored) and load it once in Settings → Import profile. It is then
stored with your run data and synced, never committed.
Settings → Sync: enter the same sync code on every device. Data saves on the device first and syncs in the background; each record merges by its own timestamp, so edits on two devices don't overwrite each other. The code is a passcode, not real authentication: use a long generated one. Settings → Backup exports/imports everything as JSON.
Schema v3. The original Sep 27 run is migrated into a read-only "Run 1" (raw data kept), and older synced data under the same code is migrated on the first sync.