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.
A weekly activity planner for parents
Translation pending
ProductivityTypeScript · CSSGitHub @noeminaOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
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
Friendly planner for kids activities
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Three independent weekly planners for parents — Activities, Meals,
and School — each with its own printable, real-PDF calendar. They share
only your kid list; nothing else overlaps between them.Read the full README ↗Three independent weekly planners for parents — Activities, Meals, and School — each with its own printable, real-PDF calendar. They share only your kid list; nothing else overlaps between them.
Every planner can print (really: download) a real vector PDF — the text is selectable, searchable, and copyable, not a screenshot — with per-print controls for which days/kids/events to include, a font-size adjustment, and its own notes field.
Local-first, no accounts. Nothing is sent to or stored on a server: your
data lives entirely in your browser (localStorage). There's no login, no
database, and no server-side data of any kind to worry about. Each of the
three planner pages has its own Save / Load / Clear — Save downloads a
self-contained JSON file (your kids + that planner's own data + its own
notes), so it works as a backup or to move that planner to another
browser/device even if the destination has no kids set up yet; Load merges
kids in by id and replaces that planner's own data; Clear wipes only that
planner's own data, leaving your kids and the other two planners untouched.
src/lib/pdf-export.ts and
src/lib/meals-pdf-export.ts), not a screenshot of the pagenpm install
npm run dev
Open http://localhost:3000. That's it — no database, no environment variables, no seed data.
/kids) — name, color, and an optional family
name shown on printouts. Everything else assigns activities/meals/
subjects to one or more kids, so this is the one page all three planners
depend on./planner) — add recurring activities (with an optional
validity window, e.g. a school year running September to the next
September) and one-off events, then navigate between weeks. An activity
can be assigned to more than one kid (e.g. siblings sharing a class) — it
shows up under each assigned kid. Click any entry on the calendar to edit
or delete it; for a recurring activity spanning multiple days, you'll be
asked whether the change applies to just that occurrence or the whole
series./meals) — add a lunch or dinner for a specific date. Leave
the kids unchecked for a meal the whole family shares, or check specific
kids to scope it just to them./school) — add a subject with the day(s) of the week and
time slot it occurs, per kid. This is a fixed weekly template, not tied
to any specific date — no "this week vs. next week" to think about.Everything lives in one JSON object (PlanData, see
src/lib/plan-store.tsx) persisted to localStorage:
{ id, name, color }. Shared by all three planners.validFrom/validTo window, includeInTypicalWeek, and a
seriesId shared across every day-of-week row from the same "add
recurring activity" submission (so editing/deleting the whole series
updates all of them at once). Can be shared by more than one kid via
kidIds.kidIds. Also how "edit just this occurrence" of a recurring activity
is represented (the original day gets skipped via excludeDates, and a
one-off exception is created for that date).{ date, mealType: "lunch" | "dinner", title, color, kidIds }.
Dated, not recurring. Empty kidIds means the whole family.{ title, color, kidIds, daysOfWeek, startTime, endTime }. One record holds every day it occurs on directly (not a
separate row per day) — there's no per-occurrence exception concept here,
since the timetable is always just the recurring template.{ planner, meals, school }, one independent free-text field
per planner's print view.Each planner's own Save/Load file is a smaller, self-contained shape (see
PlannerExport/MealsExport/SchoolExport in src/lib/plan-store.tsx) —
family name + kids + that planner's own data + its own notes — rather than
the full PlanData above.
| Script | Purpose |
|---|---|
npm run dev | Start the dev server |
npm run build | Production build |
npm run lint | ESLint |
npm run test | Vitest in watch mode |
npm run test:run | Vitest, single run (used in CI) |
.github/workflows/ci.yml runs lint, type-check, unit tests, and a
production build on every push and pull request..github/workflows/claude-code-review.yml posts automated review comments
on pull requests via the Claude Code GitHub
Action — review-only,
it cannot push commits (its job has contents: read). Requires an
ANTHROPIC_API_KEY repo secret.Open a pull request against main. CI runs lint, type-check, tests, and a
build; the Claude Code review workflow will also leave comments on the diff.