Chapter 6 · Own build6•1

CommonGround

A family app for the week: groceries, dinners and recipes, the freezer, to-dos and a shared calendar. Self-hosted, built for Kevin's own household first.

One Nx monorepo, written mostly with Claude Code. Every feature is cut the same way, and an MCP server lets an assistant add recipes and plan the week's dinners from the family's own data.

Entrant
Kevin, own build
Period
2025 – now
Status
In use at home, self-hosted

Wiring key

CommonGround6•2

Fig. 6.1 · One feature, two doors

The app and an AI assistant come in separately and meet at the service, where a feature’s rules live.

Two columns that meet at the bottom. On the left, the app: an Angular page, its signal store, its API service and an Express route handler. On the right, an AI assistant such as Claude or ChatGPT reaches /api/mcp with a scoped token, and every call runs through a pipeline: a rate limit, the scope check, a confirmation gate for anything that deletes, the tool, a message to the household and an audit row. Both doors call the same service, which reads and writes through Prisma to PostgreSQL. When the assistant changes something, the household's socket.io room tells every open page, which updates on its own.

Fig. 6.2 · Every feature, the same cut

Each feature is a back-end and a front-end lib in one Nx monorepo. The four the assistant can reach keep their rules in services.

The features: endpoints, whether the rules are in services, and how many MCP tools reach each.
FeatureEndpointsServicesMCP tools
Groceries1510
Meal planner98
Recipes188
Freezer55
To-do7not yet·
Calendar6not yet·
Households10not yet·
Sign-in6not yet·
Plus get_context32
Fig. 6.3 · A week of dinners, from your own data

Every suggestion comes from the household’s own plan, history and recipes.

A sequence between you, the assistant, CommonGround and the open page. 1. You to Assistant: “Plan this week’s dinners”. 2. Assistant to CommonGround: get_meal_plan · get_meal_history. This week, and what you ate lately. 3. Assistant to CommonGround: search_recipes. Your own recipe library. 4. Assistant to You: A dinner for each empty day. Nothing is written until you agree. 5. Assistant to CommonGround: plan_meal. One per day, the whole recipe copied in. 6. Assistant to CommonGround: send_week_ingredients_to_groceries. Shared ingredients added up. 7. CommonGround to Open page: household:changed. The week and the list update live.

Fig. 6.4 · A recipe, from a link
  1. A link in the chat
  2. add_recipeIngredient lines parsed into amount, unit and name
  3. set_recipe_imageDownloaded and kept by the server
  4. The open page follows

Notes

  • Every count on these pages is read off the private Commonground-nx repo.

Pit limiter on

Kevin

Frontend developer at Zinderlabs since 2021. Professional Bachelor Applied Computer Science, KdG 2017–2021.

Code on github.com/kevhauma.

Stack

Experience

  1. 2021 – nowZinderlabsConsultant, frontend and full-stack · clients include VG Computers, Jumperke, Aurubis, ArCom, publiq, Clearmedia
  2. 2017–2021Professional Bachelor Applied Computer ScienceKdG · internship at Zinderlabs on Platform Planner, 2021

Projects

  1. 2026 – nowmoney-mosaic-v2 · own buildLocal-first finance: bank CSVs in, rules and a trained network, honest stats out, nothing sent
  2. 2021–2023Scrap yard management · AurubisPlanning to invoicing for a multi-plant copper scrapyard
  3. 2023Driver check-in kiosk · AurubisSelf-service check-in for delivery drivers, run by a state machine
  4. 2023–2024DBA tool · ArComA legacy C++ application rebuilt for the web, without its source code
  5. 2017–2022Discord bot · own buildOne Discord bot, built three times, down to one shape for every command
  6. 2025 – nowCommonGround · own buildA household's week in one app, open to an AI assistant over MCP

Other work

  1. 2025–2026 · 14 moMicrosoft services reselling platform · ClearmediaA B2B client portal and back office for reselling Microsoft services, including reseller packages and invoicing.
  2. 2024 · 4 moUiTPAS counter app · publiqA counter app for UiTPAS cards and profiles, migrated page by page from AngularJS to React, with a seamless fallback to the old pages.
  3. 2021 · 3 moRoute planning and order tool · JumperkeAdmin tools to plan delivery and pickup routes, plus bug fixes in the client-facing order tool.
  4. 2021 · 2 moWebstore · VG ComputersA webstore and its admin back office: Meteor components moved to React, plus user reviews and breadcrumbs.
  5. 2021 · 1 moPlatform Blog · ZinderlabsAn internal blog for knowledge sharing and meeting notes, with a Markdown editor.
  6. 2026 · 1 moPlatform Planner, Vue 3 upgrade · ZinderlabsThe planner Kevin built during his internship in 2021, upgraded page by page to Vue 3 with a redesign, falling back to the Vue 2 pages through iframes.
  7. 2026 – now · in progressBuilding installation planner · construction tech client, under NDAA planner for building installations, for a client in construction technology. Kevin leads the frontend and works across the stack.

Contact placeholder

Email and LinkedIn go here once Kevin adds them.

Download CV not uploaded