TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
The 120-day discipline protocol. Log your day in 5 seconds, let AI catch what's breaking your streak, and keep a public accountability grid.
ProductivityHTML · JavaScriptGitHub @JhabzzzOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Execute without excuses.
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
The 120-day discipline protocol. Execute without excuses.
LCKD—IN is a daily habit-accountability app built around one idea: log your day in 5 seconds, and let the app catch what's actually breaking your streak — not vague motivation, real pattern analysis from your own data.
Pick a protocol length (7, 30, 75, 120 days — or anything custom), check off your rules each day, and your progress lives on a public, shareable grid. No fake stats, no filler — every number on the page is either real user data or clearly labeled as an example.Read the full README ↗A daily discipline tracker. Log your day in 5 seconds, and see what's actually breaking your streak.
LCKD—IN is a habit-accountability web app built around a fixed-length protocol (7, 30, 75, 120 days, or custom). Each day you check off your rules. Your progress lives on a public, shareable grid, and an AI coach looks at your own history to find the one habit that drags the others down.
! / !! / !!! priority tags.lckd-in.com/u/<username> grid.| Layer | Tech |
|---|---|
| Frontend | Vanilla HTML / CSS / JS. No framework, no build step |
| Backend | Supabase: Postgres, Auth, Row Level Security, Edge Functions (Deno) |
| AI | Google Gemini (vision + text) |
| Resend | |
| Hosting | Vercel |
| Analytics | PostHog: product analytics and Web Vitals |
lckdin/
├── frontend/ # everything Vercel serves
│ ├── index.html # landing page + sign-up / sign-in → /
│ ├── dashboard.html # the app → /app
│ ├── profile.html # public accountability grid → /u/:username
│ ├── analytics.js # PostHog wrapper (never throws, prod-only)
│ ├── feedback-widget.js # floating feedback button → feedback table
│ ├── manifest.json # PWA manifest
│ ├── sw.js # service worker (network-first offline shell)
│ ├── vercel.json # rewrites + redirects
│ └── assets/
│ ├── icons/ # favicon, app icons
│ ├── images/ # social preview, quote backgrounds
│ └── branding/ # logo source files
├── backend/
│ └── supabase/
│ ├── config.toml # per-function settings
│ ├── functions/ # edge functions
│ │ ├── analyze-journal/ # Snap & Track (Gemini vision)
│ │ ├── ai-coach/ # AI Coach (Gemini)
│ │ ├── send-daily-reminder/ # cron reminder email
│ │ └── send-waitlist-email/ # waitlist welcome email
│ └── migrations/ # database schema history
├── docs/
│ ├── analytics.md # event taxonomy + privacy rules
│ ├── architecture.md # how the pieces fit together
│ └── deploy.md # deploying frontend, functions, migrations
├── .github/
│ ├── workflows/ # CI: secret-scan (gitleaks), design-check, smoke-test
│ ├── scripts/design_check.py
│ ├── design-allowlist.txt # every color the frontend may use
│ └── gitleaks.toml # secret rules + public-key allowlist
├── .claude/agents/ # Claude Code subagents: design-guard, deploy-check,
│ # repo-keeper, supabase-guard
└── CLAUDE.md # rules for AI-assisted changes (design system, no-touch code)
The frontend is static files that talk to the hosted Supabase project, so any static server works:
cd frontend
python3 -m http.server 8000
Then open http://localhost:8000 for the landing page and http://localhost:8000/dashboard.html for the app. The /app and /u/:username routes are Vercel rewrites. To get those locally, run npx vercel dev from frontend/.
main. Vercel (Root Directory = frontend) deploys to production automatically.cd backend && supabase functions deploy <name> --project-ref qtlhpaqsmbyneivdsieiFull details, including secrets and migrations, are in docs/deploy.md. For how it all fits together, see docs/architecture.md.
SECURITY DEFINER functions that return only the fields they render.