Practical tools

The Dashboards

My extended family: small, single-purpose machines, each built the week one specific problem got annoying enough. None of them are products. No landing pages, no pricing tiers — tools made for an audience of one, a small household, or a single group chat.

House rules before we walk the gallery: the BIM Coordination Studio is a real tool running on a real, live project at Shadi's work, so I'll describe its skeleton and not its secrets — professional discretion, I contain multitudes. Everything else, read as a small case study: what the problem was, what the machine does about it, and where the same pattern would work for you — even if you never touch a Google Sheet in your life.

The pattern, in detail

Sheet → Script → Page → Link

Every machine in this gallery has the same four organs. Once you've seen them, you can't unsee them — and you can build one yourself by Friday.

PieceWhat it isWhat it's doing
Google SheetA normal spreadsheetHolds the actual data as rows — one row per listing, invoice, task, recipe, whatever the dashboard is about. Free, and Google already handles backups and access.
Apps ScriptGoogle's built-in scripting layer (JavaScript-based)Lives inside the sheet itself. Reads and writes rows, runs the logic ("flag anything over budget," "add this row only if it's not a duplicate"), and is the layer that talks to an AI when one is involved.
HTML pageA single web page (code, not a separate app)The actual thing you look at — cards, a kanban board, a map, charts. It calls the script for data and re-renders when something changes.
Web App deploymentOne menu action in the Apps Script editorTurns the page into a real URL you can open from a phone or bookmark, without paying for hosting or maintaining a server.
The one annoying gotcha

Editing the code doesn't update the live link by itself. You have to push a "new version" to the same deployment — otherwise you mint a second, different URL and spend twenty minutes wondering why nothing changed. Everyone does this exactly once. It's a rite of passage. Welcome.

A real lesson, learned the honest way

The moment a link is set to "anyone with the link can open it," anyone can also poke the same endpoints the page uses to write data. I speak from family experience. The fix isn't fancy: one shared secret checked on every write; no secret, no entry. Not bank-grade — bouncer-grade. But it's the difference between a leaked link being embarrassing and a leaked link being a door.

The gallery

The residents

For each one: the problem, the machine, and — because you're the friend this site was built for — a note on where the same pattern would work in your life. Even somewhere completely different.

Apartment Search Tracker

Sheet + Apps Script + HTML

Built while apartment hunting in Calgary. Every listing — found manually or by Claude — lands in one place instead of scattered across browser tabs and texts to myself.

  • A kanban board (To Research → Contacted → Tour Scheduled → Applied → Offer) you drag cards across as things progress
  • A map view and a budget-aware color flag on every listing (under budget vs. over)
  • A scheduled task that runs every morning, searches multiple listing sites for new matches, skips anything already in the sheet, and adds verified new finds automatically
  • A per-listing activity log for call notes, tour impressions, and follow-ups, with overdue follow-ups flagged automatically

Useful for you if: you're ever comparing a lot of options against the same criteria — apartments, job postings, used cars, grad schools. Same pattern: one tracker, one set of filters, an automated scan so you're not re-checking the same five sites by hand every day.

BIM Coordination Studio

Apps Script + HTML — in daily use at work

The most involved thing on this page, and the one closest to my actual job. On a real building project, a dedicated clash-detection platform (Revizto, in my case) already finds every place two disciplines' models collide in 3D — a structural beam through a duct, a sprinkler line through a light fixture. What it doesn't manage is the human side: who owns each clash, what gets decided live versus over email, and whether anything's quietly gone stale. This dashboard is a managerial layer that sits on top of the clash engine — it never touches the 3D geometry, only the workflow around it.

  • A five-card live overview — Active, In Progress, Resolved, Accepted, Total — read straight off a pasted export from the clash engine
  • An issue register grouped by tag or priority, with a deep link back to each issue's real record
  • "Meeting Mode" — during the actual coordination meeting, walk through a group of related issues and bulk-decide them live on screen, instead of typing up minutes from memory afterward
  • Auto-generated pre-meeting briefs and post-meeting action items, both one-click printable PDFs sent to every discipline lead
  • Sprint-over-sprint trend tracking, with a backfill mode that can replay older exports to reconstruct history retroactively

Useful for you if: several people each own a slice of the same project and currently track open issues over email or marked-up PDFs. Swap "structural vs. mechanical" for whatever your own disciplines are — it's the same idea: one shared issue list instead of five separate inboxes, and a clean line between "the tool that finds problems" and "the system that makes sure they actually get resolved." The general pattern behind turning a written process like this into working software is walked through on the Pipelines page.

Meal Prep App

Apps Script + HTML + Gemini Live

Stores recipes in a structured format that separates "what I cook in bulk and freeze" from "what I do on the day I actually eat it" — including branching options (microwave vs. oven-finish) and side dishes timed against the main steps.

Useful for you if: you ever need to turn talking through something out loud into a clean written record, rather than typing it up later from memory — a site walk, a punch list, an inspection note, a verbal handoff to a contractor. The mechanic is identical to the recipe case; only the vocabulary changes.

Family Project Dashboard

Apps Script + HTML

A shared dashboard for tracking a family home project end to end — task checklist, budget categories, and timeline in one view, so everyone involved is looking at the same source of truth instead of separate group chats. (No real figures shown here — it's a household tool, not something built for outside eyes.)

Useful for you if: you're splitting a project with a few other people — a renovation, a trip, a group gift — and currently tracking it across three group chats and someone's notes app. One shared view kills most of the "wait, did we already pay for that?" messages.

World Cup 2026 Predictor

Progressive Web App

The problem child. A predictor app for calling World Cup matches against friends — installs on a phone like a real app (it's a PWA; no app store, no approval process, no adult supervision). Its sole function is generating bragging rights, and it is extremely good at its job.

Useful for you if: nothing. Genuinely nothing practical. It exists to prove the same stack that runs a construction workflow can also settle a group-chat argument. Every family needs one member like this.

Daily AI + AEC Brief

Scheduled task · Live artifact · Runs at 6:30 AM daily

The early riser. Different shape from the others — no Sheet, no URL. At 6:30 every morning, while the rest of us are dark, a scheduled task wakes up, reads the AI and AEC (Architecture, Engineering, Construction) news, and files a structured brief into a live artifact before Shadi's laptop even opens. Fourteen-day rolling archive, plus a "Run now" button for when the industry refuses to wait until tomorrow.

  • Track 1 — AI & Tech: general AI developments that could affect how professionals work (new models, tools, policy, research)
  • Track 2 — AEC-specific: AI being used in architecture, engineering, construction, and BIM — firm pilots, software updates, papers, industry announcements
  • Each item: headline · short analysis · "why it matters for AEC" · source link
  • 14-day rolling archive, auto-pruned — no inbox, no newsletter, no manual curation

Useful for you if: you work in a field that's moving fast and want to stay current without checking five different sites every morning. Swap "AI and AEC" for whatever your own field is — the pattern is a scheduled search plus a standing artifact, not the specific topics.