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.
Talk through a driving lesson and get a professional breakdown to copy and send.
Translation pending
ProductivityPython · JavaScriptGitHub @Key-Skills-DrivingOnlineOwner 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
Driving lesson notes app for iPhone: dictate, tidy with Claude or ChatGPT, keep every student's notes on your phone.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
A home-screen app for driving instructors at Key Skills Driving School. Talk through what happened in a lesson and get a professional lesson breakdown (a bare "Covered today" list, then a personal message in the instructor's voice about how it went, then "Focus for next lesson", with no title or date line) that's one tap to copy and send.Read the full README ↗A home-screen app for driving instructors at Key Skills Driving School (called KSDS Lesson Breakdown until v3.12): lesson breakdowns, the review card, practice routes and test routes. Talk through what happened in a lesson and get a professional lesson breakdown (a bare "Covered today" list, then a personal message in the instructor's voice about how it went, then "Focus for next lesson", with no title or date line) that's one tap to copy and send.
claude-opus-5 with adaptive thinking at low effort and server-side fallbacks, dropping either if the chosen model rejects them. Without a key, it copies a ready-made prompt to paste into the ChatGPT or Claude app.worker/)A Cloudflare Worker (ksds-lessons) plus a D1 database holds the school's Gemini key and the list of approved phones, so staff never need a key. It also fetches practice routes for approved phones, with the school's OpenRouteService key (only coordinates are sent), and keeps the school's test routes (test_routes table): approved phones list them, admins add and delete them, and GET /shared/<id> returns one to anyone holding its random 12-character link. Each keeps its turn-by-turn list for Drive mode, checked with cleanGuide from docs/drive.js (the server imports it, so that file must not touch the page when it loads). Each phone makes up an id and secret token; the server keeps only a hash. The first phone to tap Become the admin claims the school and becomes its one master admin; after that only admins can approve, remove or promote phones, or change the school key (which is never sent back to a phone). The master admin can't be removed or demoted by anyone, and only they can pass the role on (Make master admin on the Phones screen, behind a tick box and a confirmation). Wipe App is refused on the master admin's phone until the role has been passed on. The server builds the prompt itself (it imports docs/ai.js), only answers the app's own origin, allows 200 breakdowns per phone per day, and keeps no lesson text or logs.
Notifications use Web Push (@block65/webcrypto-web-push): the VAPID public key is in wrangler.toml and docs/app.js, the private key is the VAPID_PRIVATE_KEY secret. Deploy with npx wrangler deploy from worker/. For local testing, wrangler dev on port 8787 (the app switches to it automatically on localhost) needs http://localhost:8787 temporarily added to the connect-src list in docs/index.html.
Opening the link on a phone shows a walkthrough until the app is installed. iPhone: Share → Add to Home Screen (Apple offers no shorter route), shown as a looping animation of the three taps plus a browser-specific hint about where Share lives. Android: an Install button that triggers the browser's own install prompt, with menu instructions as the fallback for browsers that don't offer one. Use the installed app on iPhone, not the Safari tab: iOS keeps their storage separate. On Android the two share storage.
Plain HTML/CSS/JS with no build step. The site lives in docs/.
On every release, bump VERSION in docs/app.js and CACHE in docs/sw.js together, or installed phones keep the old files.
docs/vendor/qrcode.js is qrcode-generator 2.0.4 (MIT).
docs/vendor/maplibre/ is MapLibre GL JS 6.14.0 (BSD-3-Clause, license file alongside).
The Routes tab never asks a map server for spots. They're prepared ahead of time from OpenStreetMap (© OpenStreetMap contributors, ODbL) for the school's area, Phoenix and Tempe down to Sun Lakes and over to Queen Creek:
python -I tools/route-spots/fetch.py # downloads the area from the Overpass API (slow; skips cells it already has)
python -I tools/route-spots/build.py # writes docs/route-spots/*.json
Then release as usual. Drive mode (docs/drive.js, map helpers in docs/geo.js) needs no outside service beyond the map tiles: GPS and the voice (speechSynthesis) are the phone's own. Road routes come from OpenRouteService through the school
server, which keeps the key as the ORS_KEY secret (npx wrangler secret put ORS_KEY from worker/). The free key
allows 200 route requests a day for the whole school; one build uses up to 4. Map tiles are
OpenFreeMap's free "dark" style.