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.
Personal dashboard to track calendar, health, money, and stock prices
Translation pending
AI summary · README
ProductivityJavaScript · CSSGitHub @definedetailingOnlineOwner 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
Loading the full README. The saved excerpt is shown below.
A clean, blue, mobile-first dashboard PWA. Five tabs: Home · Calendar · Health · Money · Systems.
Works offline, installs to your phone's home screen, and (optionally) syncs the same data across all your devices.
• Live stock/ETF prices — free, no API key (Yahoo Finance via a serverless proxy). ASX symbols use .AX (e.g. VAS.AX), US just the ticker (e.g. VOO).
• Live weather — free, no key (Open-Meteo), for your Home greeting.
• Passcode lock + secret-key-protected cloud sync.
• All your data is yours — stored on your device and in your own private cloud store.Read the full README ↗A clean, blue, mobile-first dashboard PWA. Five tabs: Home · Calendar · Health · Money · Systems. Works offline, installs to your phone's home screen, and (optionally) syncs the same data across all your devices.
.AX (e.g. VAS.AX), US just the ticker (e.g. VOO).| File | Purpose |
|---|---|
index.html, styles.css, app.js | The whole app (frontend) |
manifest.webmanifest, sw.js, icons/ | PWA install + offline |
api/quote.js | Serverless function: live prices |
api/sync.js | Serverless function: cloud sync |
api/food.js | Serverless function: food search (Open Food Facts, no key needed) |
dev-server.py | Local testing only — mimics the two functions |
You already have Python, so:
cd "/Users/tyson/Desktop/Personal/Compass"
python3 dev-server.py
Open http://localhost:8787. Live prices and weather work here. The local sync secret is localdev
(enter it as the Secret key in Settings if you want to test sync locally).
Stop it with Ctrl+C.
This makes it installable on your phone with data synced everywhere. All free.
compass (Private is fine). Don't add a README.cd "/Users/tyson/Desktop/Personal/Compass"
git init
git add .
git commit -m "Compass dashboard"
git branch -M main
git remote add origin https://github.com/<your-username>/compass.git
git push -u origin main
compass repo.https://compass-xxxx.vercel.app. It already works — live prices and all — but sync isn't on yet.KV_REST_API_URL and KV_REST_API_TOKEN to your project's environment variables.SYNC_SECRET, Value = a strong secret you invent (e.g. a long random string). Apply to all environments.SYNC_SECRET into Secret key. Save.That's it. 🎉
Compass can import your runs from Strava so you never log one by hand. Rides and swims are ignored — runs only.
https:// or any path, e.g. compass-abc123.vercel.app.
To also test locally, Strava lets you use localhost — but only one domain at a
time, so set it to localhost while testing, then change it to your real domain.STRAVA_CLIENT_ID = your Client ID.STRAVA_CLIENT_SECRET = your Client Secret.Disconnect at any time from the orange Strava bar — runs already imported stay put.
Running locally instead? Set the same two variables before starting the dev server:
STRAVA_CLIENT_ID=xxxxx STRAVA_CLIENT_SECRET=yyyyy python3 dev-server.py
Compass reads the calendars you pick and sends events you add in Compass back to one of them. Your Google sign-in is stored in your own Vercel KV store, never in the browser or in backups, and only works with your cloud-sync secret key. Cloud sync (Step 3 and Step 4 above) has to be set up first.
compass-psi-nine.vercel.app as an authorised domain..../auth/calendar.events and
.../auth/calendar.calendarlist.readonly.https://compass-psi-nine.vercel.app/api/gcal. Create, then copy the
Client ID and Client secret straight away.
Connect from that exact address — a preview or *-git-* Vercel URL sends a
different redirect URI and Google refuses it (or set GOOGLE_REDIRECT_URI to
the address above to pin it).Project → Settings → Environment Variables: GOOGLE_CLIENT_ID and
GOOGLE_CLIENT_SECRET. Then push a commit (a dashboard Redeploy can reuse old settings).
Settings → Google Calendar → Connect. Google will say it hasn't verified the app — that's expected for a personal app: Advanced → Go to Compass, and tick both permission boxes (Compass refuses the connection if either is unticked). Back in Compass, tick the calendars to show, give each a default category, and pick where new Compass events go.
It syncs when the app opens, every 5 minutes while it's open, and a few seconds
after you change an event. Locally, dev-server.py runs a fake Google
Calendar so all of this can be tried without a Google account.
Name | sets | reps); log PBs, runs, sleep.
Runs can import from Strava (see above). Sleep tracks bed/wake times (hours are worked out for you),
quality, notes, a nightly goal, 7-night average, sleep debt, and how much your bedtime swings around.VAS.AX, VOO), tap ↻ Prices to refresh; add bills (get countdowns + a red badge when due), budgets, and income/expenses. Tap Paid to clear a bill (also logs it as an expense).Everything is editable — tap an item to edit, use the ✕/Delete to remove.
Backups: Settings → Export backup saves a JSON file; Import restores it.
.AX).git add . && git commit -m "…" && git push. Vercel redeploys automatically; the app fetches the new version next time it's online.