Home/Blog/First light
Founder notes · Six months in

First light.

Desklight's public launch is Tuesday, November 17, 2026. Before then, here's how it got built: one person, a cast of AI coding agents, more than 2,300 commits and a fair number of rewrites. The dates come from the git log. The rest I remember too well.

Public launch

The day the lights come on for everyone. Each channel goes live as its platform's review clears, so a few may join in the days after.

Chart of Desklight's commits, one thin vertical line per day from March 29 to October 1, 2026, glowing from night blue to ember orange like a sunrise over a horizon. July peaks at 700 commits, August is nearly empty with 27, the busiest day is September 27 with 80, and a bright beam marks the launch on November 17. Monthly totals: April 558, May 331, June 406, July 700, August 27, September 262.
Six months, one line per day. Every commit from the first one to this morning, with launch day lit at the far end. July is the tall stretch. August is the gap. The charts in this note are drawn from the project's own history; the bakery and its photos are generated.

Day one was version 4.2.

The first commit landed on a Sunday night. Its message promised to scaffold “the full Allie pipeline, all 12 phases,” which is a lot to ask of a Sunday. Two days later the back office arrived already calling itself version 4.2.0. There was never a version 1. Optimism was the first thing I shipped.

The idea fit on a sticky note. You paste your website. An assistant named Allie learns your brand, plans your week, writes the posts, designs them and publishes them, and you approve what goes out. Building it did not fit on a sticky note.

The first two commits from the git log. Sunday, March 29 at 23:57: “scaffold full Allie pipeline — all 12 phases”, with twelve empty squares. Tuesday, March 31 at 09:35, 33 hours and 38 minutes later: “backoffice v4.2.0 — initial commit”. Versions 1.0 to 4.1 are struck through as never shipped, above a huge orange v4.2.0.
Day one, as git remembers it. Twelve phases promised at three minutes to midnight. Version 4.2.0 a day and a half later.

Every post was a web page in disguise.

April was 558 commits, and every one of them felt like progress. Onboarding learned to lift a logo straight off a website. Stripe arrived. Image generation got a waterfall: when the best model stumbled, the next one caught the post. And every graphic Desklight made was secretly a web page, laid out in a hidden browser and then photographed.

It looked great in demos. It was also the thing I'd spend the next five months replacing.

The job description, in full.

Being a solo designer who codes means every design review is a meeting with yourself, and both of you are stubborn. The designer wants nine directions. The engineer wants one, tested. Let the designer win too often and the code pays for it. Let the engineer win and the product starts to look like a settings page.

Then there are the jobs nobody pictures when they picture a startup: a privacy policy, refund terms, cookie consent, a security review, and the app review every platform runs before it lets software post on your behalf. Each one wants screen recordings and a reason for every permission. None of them care that you also have a renderer to replace.

The busiest month had a cast.

July was 700 commits, the busiest stretch of the year, and by then I wasn't really working alone. I was directing a rotating cast of AI coding agents, mostly Claude, with Codex and a few others taking shifts. I write the brief, set the bar and review every change. They're fast, tireless and extremely literal.

Literal has consequences. One agent, tidying up, rewrote the project's history right over another agent's work. The rule that came out of it still sits in the project's instructions: nobody rewrites history. Not even to be neat.

July also produced my favourite commit message of the year, from the night the new editor first booted: “IT RUNS.” The same commit retired a Size control that had never resized anything. We'd taken to calling it the Size placebo. Later that month we found four separate pieces of code, each with its own opinion about which font your brand uses. They did not always agree. Now there's one.

Film-style credits for July 2026, 700 commits. Starring, by co-author credit: Claude Opus 4.8, 276; Claude Fable 5, 259; Claude Opus 5, 71; Codex, 4; Claude Sonnet 5, 1; no credit line, 91. With special thanks to a Size control that never resized anything. Brief, bar and review by the one human. Below, a bar for each day of July, with July 12 marked “IT RUNS.”
The cast, as credited. Co-author lines from July's 700 commits, and July day by day underneath. July 12 is the one that says IT RUNS.

August was quiet.

Twenty-seven commits, the whole month, all of them on three days. The most important one removed a middleman: every connection to your social accounts became our own, built directly against each platform instead of through a third party. Fewer moving parts, and one fewer company holding your keys.

The same day, publishing learned to wait for you. You choose what goes out. Publish reviewed posts yourself, or explicitly enable supported publishing automations. LinkedIn posts still need your confirmation.

A calendar of August 2026 with three lit days: August 3 with 19 commits, August 5 with 6 and August 13 with 2. Beside it: 27 commits in August, on three days; twenty-eight days without one. Notes quote the commits: remove Composio, every connector is first-party OAuth; gate publishing on approval; all-day posts publish at 9 AM local, never midnight; ‘nice’ on a pending post approves it instead of faking it.
Quiet months count too. All 27 commits landed on three days, and the best of them deleted something.

Rules, not pictures.

September is when the web-page renderer from April finally went. In its place is a composition engine that treats a design as a set of rules instead of a picture. It lays a post out again for every size rather than cropping it. It keeps words off people's faces. In the modern designs it measures every line of text on a photo against the actual pixels behind it, and if a line can't reach 3:1 contrast, you hear why before anything is published. On September 30 the old renderer was deleted under a commit message that reads like an exhale: “One pipeline.”

September also brought a new identity (the ember D at the top of this page), a security review that closed holes around billing and access, and a pass through this website that removed every claim we couldn't back up. I'm prouder of that last one than of most features.

And on September 25 a routine cleanup command followed a shortcut it shouldn't have and deleted real source files. That one earned a permanent rule too: list the links before you delete anything.

Every guardrail in Desklight was paid for by something going wrong first. The rules don't read like wisdom. They read like dates.

Three panels of the bakery photo: the original, then two maps where orange marks every pixel a word could be read against at 3:1. Light words, #F6EFE4, reach it on 63% of the photo; dark words, #2B1D16, on 48%. A meter below shows both short of the 90% a line of words needs.
What the check sees. The bakery photo from the next entry, every pixel tested at 3:1 against the brand's light and dark text, using the engine's own contrast code. A line of words needs 90% of what's behind it. Light text gets 63% of this photo and dark gets 48%, and Portrait depth sets its headline straight over the photo. So it said no.

What it became.

Hearth Bakery doesn't exist. I made it up for this note, and the baker and the shop are generated. Then I ran its morning post through Desklight's six modern designs: same photo, same words, each set in the bakery's own colours. The layouts and the refusal below are exactly what Desklight produced.

Five of them took it. The sixth, Portrait depth, turned it down. With this photo its headline couldn't reach 3:1 contrast in either tone, so instead of handing over a post you'd squint at, it said so and suggested another photo. I didn't stage that. It's September's check doing its job. Culture collage had already sent back my first headline, a longer one, because it wouldn't fit at a readable size. The one you see is the shorter one.

City editorial: cream ground, the headline 'Fresh at first light.' beside the baker's portrait framed by crust-orange planes, 'Warm by six.' below a rule. Soft geometry: dark brown ground, the headline top left, a floating label reading 'Warm by six.', the baker's portrait under a broad orange arc. Culture collage: the baker's portrait beside an orange panel holding the headline, above a striped band and a large HEARTH BAKERY masthead. Signal pattern: a clipped-corner orange repeat over a dark plum ground, with the headline and 'Warm by six.' below. Chromatic flow: the headline over a dark ground with a soft band of orange gradient light, and 'Warm by six.' at the bottom.
Portrait depth
Refused.

“In this design and the brand's colours, the headline would not read against what is behind it (28% of it reaches 3:1). Try the other tone, another photo, or another design.”

The light tone did worse, at 22%.

Five designs and one refusal. City editorial, Soft geometry, Culture collage, Signal pattern and Chromatic flow, plus Portrait depth's actual answer, word for word.

Open any of them and it comes apart into layers, grouped the way a designer would group them. Click once to select a group, double-click to go inside, and recolour everything that shares a colour in one move. It works like Figma because I kept asking for exactly that until it did.

The bakery post open in the Desklight editor. The Layers panel lists Footer row, Message (open, showing Anchor and Headline), Photo panel and Brand name; Message and Photo panel are selected, and their colours, dark brown and crust orange, are listed together on the right.
The bakery post, open in the Desklight editor. Two groups selected, their colours listed together, so one change recolours both.

One more thing.

I said the feature list was closed. The day after I wrote this, I shipped one more thing anyway: Insights. Until then, Desklight's story ended at Publish. It could take a post from a blank page to your feed, and then it went quiet about what happened next.

Insights reads supported account and post results live, marks the days you posted, and turns what your audience did into your next two moves. One click hands a move to Allie as her next brief. Availability follows each publishing connection’s approval. X results read live today, as far as X’s API plan allows; the other supported channels open as each platform’s review clears, and LinkedIn results aren’t supported yet. Each brand also gets a branded monthly report you can preview in Insights.

It reads the numbers live and keeps none of them. It tells you whose account they came from. And the footnote says what I'd want any tool to tell me: clicks are not sales.

I know. Scope. But this is the piece that turns posting into getting better at it.

Lights on.

Desklight opens to everyone on Tuesday, November 17, 2026. Between now and then: screen recordings for the platform reviewers, and fixing whatever writing this note made me notice.

If you run a business mostly on your own, the posting is the job that waits until everything else is done. Desklight is built to take it off your desk.

Before dawn in the bakery, the baker sits at her floured worktable with a mug of coffee, loaves rising beside her and the street outside still blue. On her laptop, her morning post is open in the Desklight editor.
Who it's for. The people who open early and post late.

Questions.

When does Desklight launch?

Desklight's public launch is Tuesday, November 17, 2026. Each social channel goes live as that platform's app review clears, so a few may join in the days after.

What makes Desklight different from other social media tools?

Allie helps plan, write and design posts for your brand. You choose what goes out. Publish reviewed posts yourself, or explicitly enable supported publishing automations. Schedule where automatic publishing is supported, or download your content. LinkedIn posts need your explicit confirmation. TikTok, YouTube and Pinterest need a per-post choice on the Publish screen. Modern designs check text contrast against the photo. Supported designs open as editable layers. Our comparison pages explain how the workflows compare.

Can Desklight posts include a link?

Yes. A post can carry a link, placed above its hashtags. Facebook, Threads, LinkedIn, X and YouTube make it clickable. Instagram and TikTok don't allow clickable links in captions, so the link on your profile does that job there.

Who builds Desklight?

Jesse Dubberke, a product designer and design engineer, working with a rotating cast of AI coding agents. It's made in Moncton, New Brunswick, Canada.

Off your desk. On brand.

Desklight is live by invitation. Already invited? Set up your brand and start with 500 credits. Public launch is planned for November 17.