Why we built GitGumbo
It started as a command-line script that found merge requests nobody had looked at in a while. It is now the screen we keep open all day instead of GitLab's own boards.
It started as a command-line script that found merge requests nobody had looked at in a while. It is now the screen we keep open all day instead of GitLab's own boards.
We ran a full audit, fixed what it found, and shipped three accessibility settings. Here is what is genuinely fixed, what is now opt-in, and what still is not good enough.
A board used to render everything the syncing account could see, for everyone in the firm. Visibility is now resolved per viewer, against that viewer's own provider account.
Start a merge request for a GitLab issue without leaving the board. It creates a draft, with a branch, linked back to the issue.
Day-first, month-first, or ISO. One pinned format for everybody was a decision nobody made deliberately.
Issue titles are the most identifying thing we hold. They are now encrypted in the database and in the nightly backup, and the plaintext columns are gone rather than merely unused.
GitHub's issue dependencies now light up the same blocked and blocking indicators that GitLab boards have.
Issue link relationships now render on the board — both directions — with lines drawn between the cards involved. Confidential GitLab issues are also marked as confidential.
Cards that look like index cards on a desk, and cards that look like sticky notes. A physical-looking board for people who miss the wall.
Downgrading is now a control on the billing page, next to the one that upgraded you. Leaving should be as easy as arriving.
Drag a card up or down inside its own column to set its position, on GitLab boards — with a keyboard and switch-accessible path that does the same thing.
Columns can carry a WIP limit and show when they are over it — and a column that cannot have one now explains why rather than leaving a blank space.
GitLab boards can build lists from assignees or milestones rather than labels. Those boards now render, and a board with lists we cannot draw says so instead of quietly dropping them.
Cards now show the milestone they belong to and the date they are due, on both providers, and both are exposed on the public API.
A density toggle that shrinks cards vertically, so you can see substantially more of a busy board without scrolling.
The theme set is now Light, Dark, High Contrast, Gruvbox and Dracula — plus System, which follows your operating system instead of making you choose.
A statistics view over your board's history — throughput, cycle time, work in progress, age distribution, contributors and review activity.
A project with several GitLab boards no longer collapses into one. Pick which board you are looking at from the board itself.
There are two clocks between a change in GitLab and a change on your screen, they run at different speeds, and they are measured in different units. Here is what each one does.
The theme you pick is now stored against your account rather than in one browser, so it is the same on your laptop, your desktop and your phone.
Projects, boards and billing now belong to a firm rather than to one person, so a team can share a board and a subscription without sharing a login.
GitGumbo now has paid plans, with Stripe checkout, a self-serve billing portal, and project limits that follow your plan.
GitLab and GitHub can now tell us when something changes instead of waiting to be asked, and GitLab webhook registration is scope-aware so it fails loudly rather than silently.
Issues now render as cards in columns, and the columns come from the labels your project already uses rather than from a workflow you have to describe to us again.