Short, frequent notes. The seeds of longer pieces; the things that don't have a place yet.
Dirty work is the enemy of creative work
There is a category of work that looks like work, fills the calendar, and produces no creative output. It comes back every day, in slightly different forms, and never quite goes away. UTM links. Waitlist setup. Shipping tracking. Data sync. Analytics pipelines. Marketing distribution. None of it requires taste. All of it can be done by a system, an agent, or a backend service.
I have been naming it "dirty work" in my head for a while. It is the silent killer of every team that is supposed to be doing creative work. The trap closes quietly — one task at a time — until the role is defined by the dirty work and the creative work is what gets squeezed into the cracks.
I wrote the longer piece about it — the principle, the trap, the cost, and where it shows up in every system I have built. The full essay is on the writing page.
The GUILD Bio Link Surface is live at links.guildgemlab.com. It started as a small thing — discovering that a third-party linktree was treating the Aurora Awards entries as ordinary Instagram posts. They were the most important campaign of the year, and they were getting the same treatment as a Tuesday morning post.
That was the moment the link in the bio stopped being a link. It became a homepage. Self-hosted, fed by the same backend that runs the rest of the operation, with a featured campaign slot that swaps in five minutes and a post grid that joins social content and Aurora entries in a single SQL query.
I wrote the case study — origin, system, wiring, outcome. The full architecture is on the work page. The principle behind it is on the writing page.
Eleven PRs shipped through the agent pipeline this month. Six of them were filed by people who have never written a line of code. The review-agent conversation has dropped from 18 minutes to under 4 by the eleventh requirement. That is the curve I am watching.
I wrote a longer piece about how the loop is wired — from a structured form, to a higher-tier review agent, to a coding agent on a sandboxed branch, to an architect who only looks at the system-level concerns. The full diagram is on the system page.
The most surprising thing about the GUILD Bio Link Surface is not the page. It is the query behind the page.
One SQL statement decides which posts show up in the grid: is_public = true OR (aurora_no is bound AND the Aurora work is publicly visible). That is it. Two systems — the social media manager and the Aurora Awards platform — joined at the database level, not in JavaScript, not in the page. The page is dumb. The backend is the source.
I have been thinking about this pattern for a while. The instinct is always to glue systems together in code — write a function that fetches from system A, then from system B, then merges the results. That works until one system changes its schema, or one becomes slow, or one returns a shape you did not expect. The join moves the integration down a layer, where the database can be honest about what it knows.
I am trying a new section of the site: short, frequent notes, no title required, no "let me polish this for an hour" gate. If a thought survives a single sitting, it goes here. If it grows legs, it becomes a long-form post. If it dies, that is fine too.
The point is to lower the bar for showing what I am currently chewing on — without pretending every thought is a finished essay.
A sales lead opened a structured form yesterday, described a field that should auto-populate from a related customer's last quote, and submitted. The review agent came back in three minutes with two questions: "do you want this for all customers, or only for the ones you have previously sent a quote to?" and "when the related quote is updated, should the field refresh automatically?".
She answered both. The coding agent opened a PR the same afternoon. The architect approved it the next morning.
The whole loop, from her first sentence to merged code, took 14 hours. Of those 14 hours, she was in the room for about 7 minutes.
AI AgentsSales OpsField notes
The structured form is a thinking tool
The single biggest unlock in the agent pipeline is not the agent. It is the form.
A free-text requirement like "I want this to work better" is impossible for an agent to act on. A structured requirement — "when this field is left blank, after the user has already saved once, surface a hint that links to the help article" — is actionable. The user is forced to think about the edge case before they file it. The agent does not have to guess. The architect does not have to translate.
We are not building a smarter agent. We are building a smarter way to ask.