Independent builder

David Belschak.

Fascinated by AI. I build my own tools.

Discipline

Business & software

Self-taught builder

Shipped

2 apps in daily use + 10 open-source repos

Not prototypes

Manifesto

I build the tools I wish existed, then use them every day until they earn their place.

03  Open source

Read the source. Vet the code.

Everything here is extracted from my own daily setup: the agent team it runs on, and the skills and tools that grew around it. One discipline holds throughout: your agent should read the real source, and you should know what code you run before you run it.

belschak / claude-agent-team

Claude Code setup

Turns Claude Code into an agent team for everyday life.

Most public Claude Code setups are built for writing software. This one is built for everything else: an orchestrator that routes to specialist personas (finance, travel, training, research), each with a backlog file that survives context clears, plus a hiring workflow for domains that have no owner yet. The personas are starting points. The durable part is the conventions, documented with the failure each one prevents.

$ git clone --depth=1 https://github.com/belschak/claude-agent-team.git && cp -r claude-agent-team/template/* ~/.claude/

belschak / web-research-cascade

Claude Code skill

Stops your agent from silently reading the wrong source.

Four fetch stages, from plain WebFetch to your own logged-in browser. The rule sits above the ladder: when a source blocks, escalate the fetch. Never swap the source for a weaker one just because that one loads.

$ git clone --depth=1 https://github.com/belschak/web-research-cascade.git ~/.claude/skills/web-research-cascade

belschak / repo-audit

Claude Code skill

Reads third-party code for red flags before you install it.

Six read-only phases: maintainer reputation, install hooks, obfuscation, exfiltration patterns, prompt injection in agent-facing files. Every run ends in a verdict, and every verdict comes with evidence.

$ claude "audit this repo before I install it"
verdict: SAFE-WITH-CONDITIONS · no license, pin the commit

belschak / strava-withings-sync

Python CLI

Puts your watch's heart rate on the runs your phone recorded.

Syncs Strava activities and Withings health data into Notion. Standard library Python only, built to run from cron. When an activity has no heart rate, it reconstructs one from the watch's intraday stream by timestamp, because the two services will not merge it for you.

$ python -m strava_withings_sync hr-backfill --since 2026-05-01
... patched 2026-05-11 12.0km avg=154 window=09:02-10:07

belschak / google-maps-skills

Claude Code skills

Researches the best places in a city and files them into your Google Maps.

map-scout ranks candidates from three source families with a Bayesian rating adjustment; google-maps builds the Saved Lists through your own logged-in Chrome and verifies them with a hard reload. There is no official API for Saved Lists, so the engine absorbs the UI's known failure modes.

$ claude "scout Kyoto, we're there for a week in October"
build: 5 Saved Lists + ⭐ Top Picks, ranked pins, notes, verified

belschak / claude-design-handoff

Claude Code skill

Keeps Claude Design from silently rewriting your facts.

Freeze every fact, number and link in the source before the design pass, brief the designer to keep them verbatim, then check the designed output against the frozen blocks with a script. The brief minimizes the drift; the diff catches what got through.

$ python scripts/verify-frozen.py source.md designed.html
OK: all 18 frozen blocks present verbatim in designed HTML.

belschak / showpiece

Claude Code skill

Turns one-shot website prompts into a studio-grade build pipeline.

Lock the brief, decide the design system before any code, pull design DNA from real references, build section by section, then verify with Playwright screenshots until the output survives inspection. This site was built with it.

$ git clone --depth=1 https://github.com/belschak/showpiece.git ~/.claude/skills/showpiece

belschak / video-watch

Claude Code skills

Turns a 40-minute video into one page of findings with timestamps.

yt-dlp fetches the audio, ffmpeg shrinks it to 16 kHz mono, Whisper transcribes, and the agent writes a findings page with (mm:ss) timestamps so you can jump into the original where it matters. Follow-up questions are answered from the transcript on disk, not by watching anything again. Ships with audio-transcribe for local recordings and an optional cron pipeline that mails transcripts from a YouTube playlist.

$ claude "watch this for me: youtube.com/watch?v=..."
done: transcript + findings.md, one page for a 14:32 video

belschak / parallel-streams

Claude Code skill

Keeps the build going when your subscription window empties at 2am.

Splits a project that is too big for one agent session into independent work streams and builds them in parallel headless claude -p loops, one terminal per stream. When the usage limit hits, the runner sleeps 15 minutes and picks the stream back up until it writes its done marker. The Windows runner is battle-tested from real overnight builds; the sh port is syntax-checked and labeled honestly: untested.

$ git clone --depth=1 https://github.com/belschak/parallel-streams.git ~/.claude/skills/parallel-streams

belschak / publish-gate

Claude Code skill

Stops a dirty commit from ever leaving your machine.

Ten ordered gates before anything goes public: sanitize sweep, gitleaks on the tree and on history, an adversarial audit by a second model instance, a legal pass. Deleting afterwards does not help, GitHub keeps serving overwritten commits by their SHA, so the gate exists to keep a dirty commit out of anything you push. This repo went through its own gate before going public; the full run is documented inside.

$ claude "make this repo public"
gate 10: the human pushes. Never the agent.
belschak.dev / oss Browse the full workshop 

04  Selected work

Built for one user: me.

Two apps, both in daily use: one for studying, one for marathon training.

01 · Study tool

Recall

Sign-in

Spaced-repetition flashcards, generated automatically from lecture PDFs and reviewed on an FSRS schedule.

2026 · recall.belschak.dev

Open project 

02 · Training tool

Marathon Dashboard

Private

Live training telemetry for the 2026 Lisbon Marathon: runs, pace trends and race readiness in one view.

  Private tool · live behind a passcode

2026 · marathon.belschak.dev

Open project 

The workshop

I don't just use agents. I run them with discipline.

Every tool on this site is built with agents in the loop. Three standing rules decide what an agent reads, what gets installed, and what goes public. The rules are the craft.

38.7223° N · 9.1393° W
  • Rule 01
    what gets read

    Blocked sources escalate. They never get swapped.

    When a primary source blocks the fetch, the agent climbs a four-stage ladder that ends in my own browser. Quietly reading a weaker source instead is the one move that is off the table.

    ↳ Shipped as web-research-cascade

  • Rule 02
    what gets in

    Third-party code gets read before it runs.

    Maintainer history, install hooks, what leaves the machine: a six-phase read-only audit ends in a verdict with evidence. No verdict, no install.

    ↳ Shipped as repo-audit

  • Rule 03
    what goes out

    Nothing goes public without passing the gate.

    Secrets, licenses, claims that cannot be backed: one final pass stands between the working tree and the internet, and it has veto power. Deadlines included.

    ↳ Runs before every release

Notes from the workbench 

06  Writing

Notes from the workbench.

An agent team for your life, not just your codebase

Public Claude Code setups are built for writing software; this one runs the rest, with the conventions behind a personal agent team and the failure each one prevents.

Read the post 

All writing 

07  About

Maastricht

Lisboa

38.7223° N
9.1393° W

I studied International Business with a major in Finance in Maastricht, and in September 2026 I start my Master in Finance at Nova SBE in Lisbon. I always saw potential in AI, but since Claude Code took off in early 2026 it has become a genuine fascination I spend several hours on every day. This site is my portfolio of personal use cases: tools I built for my own life, published so others can use them or take ideas from them.