Skip to content
View brentc22's full-sized avatar

Block or report brentc22

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
brentc22/README.md

Brent Ceulemans

I build the systems companies actually run on

Custom CRM and operations platforms — from the first inbound lead to the settled invoice.


TypeScript React Vite Tailwind CSS PostgreSQL Supabase Cloudflare Workers Swift


What I build

Platforms for companies that outgrew their spreadsheets and then found that off-the-shelf software does not fit the way they actually work. Not a dashboard bolted onto a database — the system the whole company spends its day inside.

Sales lead qualification, deals, quotes with digital signing
Operations projects, planning, field execution, logistics and stock
Finance invoicing, payment reconciliation, VAT, collections
People role-based access, HR, training
Outward-facing customer portals, partner flows, marketing attribution

Every role gets an interface built for the work it does, instead of one screen with the rest hidden behind permissions. I own these end to end: the domain modelling, the architecture, the database, the deploys — and the phone call when something breaks on a Saturday.


Things you can install

Disposable inboxes for developers. One mailbox per flow, with the one-time code and the action link pulled out for you — plus a deliverability read of the headers, which is usually the answer to why did this land in spam.

brew install brentc22/tap/catchbox

A free menu bar hider for macOS 27. The macOS 27 rewrite drew the menu bar as a single window and broke every tool in that category at once. The repository documents what changed, measured on a real machine rather than guessed at.

brew install --cask brentc22/stash/stash

How I work

Correctness before cleverness wherever money is involved. Pricing, VAT regimes and invoice totals are guarded by database-level invariants that run on a schedule and alert only when the state changes — an alarm that repeats every fifteen minutes gets dismissed, and is worthless from then on.

Access control is not something you bolt on afterwards. A public customer portal on the same database as internal finance data makes every row-level policy load-bearing. I assume a policy is broken until I have watched it refuse the request.

Every incident becomes a written rule, and the ones that matter become automated checks — a warning in prose only helps if you read it in the minute before you would have made the mistake.

Measured, not assumed. Before I claim something works, I run the check and read the output. That habit is the single biggest difference between a system you trust and one you hope about.


Most of my work lives in private client repositories, so the graph below tells the story rather better than the repository list does.


Belgium · open to interesting problems

Pinned Loading

  1. catchbox catchbox Public

    Disposable inboxes for developers — one mailbox per flow, with the one-time code and the action link pulled out for you.

    JavaScript 1

  2. stash stash Public

    Free, open source menu bar hider for macOS 27, built on the assessment-mode allowlist

    Swift 1

  3. portside portside Public

    Every dev server on your Mac, grouped by repo and git worktree — in the menu bar.

    Swift

  4. glint glint Public

    Free, open-source screenshot tool for macOS that blurs your secrets before you share them.

    Swift