Journal

A running log, not a publication

Short, dated notes from building things - experiments, failures, and the occasional thing worth remembering.

Team / leadership

Disagree while it’s cheap

Please question the plan while it’s still a sketch. With AI, we can get attached to a whole implementation remarkably quickly. I’d like the team to disagree before we’ve generated supporting evidence for my opinion.

Things worth a look

Finally, BullshitBench

BullshitBench checks whether an AI calls out a nonsense question or enthusiastically answers it. A benchmark named with the restraint the subject deserves.

We do need this. I’d like my assistants to notice a broken premise before turning it into a roadmap, three services, and a monthly cloud bill.

But please leave room for deliberate nonsense. If I ask for a business plan for a submarine bakery, maybe I’m having fun. Ask about the croissants before staging an intervention.

Read (opens in a new tab)

Things worth a look

They put the model WHERE?

Taalas hardwired a Llama model into a chip. Actual silicon. Their reported speed is ridiculous, but I keep thinking about committing to one model that hard. I hesitate before pinning a dependency version. These people manufactured a board.

Read (opens in a new tab)

Things worth a look

Rotate the landscape

A search for the longest line of sight on Earth led to a lovely trick: rotate the elevation grid so the calculations can share work and read memory sequentially. You arrive for mountains and end up thinking about CPU caches. Very much my kind of detour.

Source (opens in a new tab)

Room design

Tap the room to shop it

The redesigned room became directly explorable: tap a piece of furniture and see the catalogue product behind it. That connected the uploaded photo, the generated design and the shopping step in one flow.

Things worth a look

I still want to open the door

Okay. You describe a world, then walk around inside it while the model generates what comes next. Project Genie. This gets me.

I grew up with games where a few pixels were enough to convince us we were somewhere else. Now I’m looking at this and immediately wanting a ridiculous castle, a football pitch on the roof, and a door that absolutely shouldn’t be opened. Obviously I want to open it.

The builder in me has questions. Will the door still be there when I come back? Can I make a puzzle with rules that survive more than one attempt? The prototype has short sessions and control issues, so there’s plenty of distance between this and building a proper game.

But wow. I want to mess with this. No product idea required for once.

Read (opens in a new tab)

Team / leadership

The customer bought a room

On a room-design project, the AI, catalogue, backend and app all have their own jobs. The customer wants a room they like. They’re unlikely to celebrate that four out of five parts worked beautifully.

Things worth a look

Letters aren't pixels

Found an ASCII renderer that matches the shape of characters to the image, rather than just picking darker letters for darker areas. A slash can follow an edge. An underscore belongs near the bottom. Quite a lot of mathematics to let punctuation do what it was already shaped to do. Could be fun on the website.

Source (opens in a new tab)

Room design

A fallback for vision

The vision pipeline used Gemini first, with retries and OpenAI as a fallback. A provider failure had another route through the system before it became a failed redesign for the user.

Team / leadership

Let them finish

Someone starts explaining their approach and I already have a suggestion. Trying to let them finish first. Occasionally the next sentence contains the answer. Annoying, but useful.

Team / leadership

Hands off the keyboard

During live-coding and mentoring on the volunteer app, I want developers to work through the problem, including when to ask AI for help and how to check its answer. I could take over the keyboard. That would be a lovely demonstration of me knowing the answer.

Team / leadership

Take the whole feature

On the volunteer app, junior developers got independent features, with Trello and Discord keeping the work connected. I want them thinking about how their part fits the product and making decisions along the way. Otherwise I’m just outsourcing typing.

Team / leadership

Volunteer hours are real hours

For the volunteer app, the roadmap has to fit around the time developers can actually give. I want features small enough for someone to own and finish alongside the rest of their life. “We’ll squeeze it in” is a charming way to spend somebody else’s weekend.

Team / leadership

Tell us before the customer does

Failures in the room-generation pipeline go to Discord so the team can see when a redesign breaks. Much easier to start investigating while we have the job to inspect. I’d prefer the customer didn’t have to apply for the unpaid QA position.

Team / leadership

Leave a note for future me

Keeping architecture decisions alongside the code helps the next developer or AI session understand why we chose this route. Helps me too. Without the note, I’ll arrive full of confidence and suggest the exact thing we already ruled out.

AI development

Something for the next session

Putting decisions, plans, architecture notes and reports in the repo is helping the next AI session pick things up. Less explaining the entire project again. Even artificial colleagues benefit from somebody writing things down.

Team / leadership

Follow it to the screen

With a notification feature, I want us to check that the message arrives, opens the right screen and shows the right state. Backend and frontend need to walk through it together. The API returning 200 is encouraging news for the API.

Team / leadership

What’s actually stuck?

Picking up stalled project-status and notification work reminded me to check where the handoff broke. Is the backend sending the right state? Does the screen know what to do with it? Before adding more code, I want to find the question we haven’t answered.

Things worth a look

“I don’t know” passes

A benchmark that lets AI say “I don’t know” without losing points. Good. A support bot inventing our refund policy is being a little too creative with the company budget.

Read (opens in a new tab)

Product development

Getting the stalled work finished

Picked up stalled frontend and backend work around project statuses and notifications. AI helped get through the implementation. Good to move these from “still working on it” to something the team can actually use.

Room design

The spinner doesn't own the job

Persisted the redesign's project status. The job can outlive the request, the screen and the app session. The spinner has been relieved of management duties.

Team / leadership

Nobody should memorise the release

The mobile release goes through EAS builds, TestFlight, Google Play, uploads and release notes. Bringing those steps into one workflow means the team can repeat it without borrowing somebody’s memory. Our most experienced developer has other uses.

Things worth a look

We trained the hesitation out

Interesting paper: sample a model’s answers, group them by meaning, and you can get a useful picture of its uncertainty. In their experiments, further training could mess that up. Great. Even our software can become more presentable and less aware of when it’s talking nonsense. Something I want to check with the TipMaster assistant before mistaking good manners for good answers.

Read (opens in a new tab)

Room design

Your room is ready

“Your room is ready.” Push notification, straight back to the finished result. A nicer end to background generation than hoping someone remembers to check.

Things worth a look

We gave the agents meetings

Researchers are getting models to share internal KV caches through a learned translation, instead of passing everything as text. Still experimental, but yes, please. We invented machines that can communicate at ridiculous speeds and made them write handover summaries. Somewhere, an agent is preparing the pre-read.

Read (opens in a new tab)

Things worth a look

Who put that thought there?

Okay, this one is weird. Anthropic injected concepts into a model’s internal activity, and sometimes it noticed something had been put there. Before saying it out loud. It also failed plenty of times, so let’s leave consciousness out of this for a minute. I’m still stuck on the experiment itself. How the hell do you even think of testing that?

Read (opens in a new tab)

Things worth a look

Let it break something

On-policy distillation. The student model tries, gets into trouble, and learns from the teacher’s feedback right there. Yeah, that makes sense. Same reason I wanted Noga learning programming by building games. Eventually something falls through the floor and you have an actual reason to learn what a collision is.

Read (opens in a new tab)

Team / leadership

Open the same example

On the room-design project, I want the team looking at the same original photo, generated room and catalogue matches when we review a bad result. Did we detect the wrong object, find the wrong product, or generate something else entirely? “The AI is weird” is a start. A fairly large start.

Room design

The room had to be shoppable

The generated room looks convincing. Now we need real products, replaceable pieces and alternatives. I keep coming back to what happens after someone likes the picture.

Room design

Nobody needs to watch the spinner

The redesign takes a minute or more. Go do something else. Nobody should need to supervise a spinner.

Room design

Please find a chair

If the catalogue can't produce the ideal match, relax the constraints in stages. Eventually, please find a chair. Preferably still a chair.

Room design

Six very expensive accessories

A $3,000 room budget divided by six objects gives you six $500 objects. Excellent arithmetic. Odd room. The sofa probably deserves more of it than an accessory.

Team / leadership

Agree before going faster

Working through service code that had drifted from the Prisma database schema. Before dividing the fixes between developers and AI tools, we need to agree on which version is right. Otherwise we can make the disagreement run much faster.

Room design

Can you actually buy that sofa?

Beautiful room. Love the sofa. Where can I buy it? Nowhere, apparently; the model invented it. Real catalogue products have to be part of this from the beginning. Otherwise we're offering furniture-themed disappointment.

Room design

Photograph your room, get another room

Upload your room, choose a style and budget, get a redesign. Lovely short product description. Then add “and buy the furniture you see.” Ah. There's the rest of the project.

Team / leadership

Before we notify anyone

For TipMaster notifications, I want us to start with the person receiving them. Is a match starting? Did a result settle? Is there anything they need to do? We can discuss the button colour after establishing a reason to bother somebody.

Team / leadership

Fresh eyes

I like separating building from reviewing, including when AI is doing the building. A fresh reviewer can ask the obvious question we’ve spent three hours becoming unable to see.

Team / leadership

Everyone finished. Nothing works.

At TipMaster, buying a prediction touches payments, wallet credits, seller earnings and access to the tip. Each part can pass its own checks while the customer still ends up locked out. I want the team to follow one purchase all the way through before everyone declares their bit finished.

TipMaster / Guilds

Then the tipsters formed groups

Then the tipsters formed groups. Shared identity, shared feed, shared subscription. Nice. Also shared earnings, content ownership and all the questions that arrive when several people share something worth money.

TipMaster / Hall of Fame

Three good picks can look very impressive

Three excellent picks can produce a spectacular return. Years of steady results can look less exciting next to it. Both numbers can be correct. I'd still like to know how many attempts went into the miracle.

TipMaster / Hall of Fame

What does the leaderboard reward?

Who belongs at the top of the Hall of Fame? Best win rate? Best return? Best recent run? Longest decent record? Somebody has to choose what “best” means before we make the leaderboard look objective.

TipMaster / Tip Finder

A few questions before the marketplace

Tip Finder gives someone a few questions before dropping them into a marketplace full of experts. Seems fair. If you knew which expert you wanted, you probably wouldn't need the finder.

TipMaster / discovery

The feed has a deadline

A popular prediction for next week can wait. A useful one for a match starting in ten minutes probably shouldn't. “Newest first” is a lovely solution to a slightly different problem.

TipMaster / marketplace

Selling something you can't show

A marketplace where showing the product can remove the reason to buy it. Okay. Now keep that secret through the feed, search, caches, API responses and share images. The purchase screen is almost the relaxing part.

TipMaster / TipForms

A football pick has a lifecycle

Draft, published, upcoming, live, won, lost, void. Having an opinion about football turns out to require a state machine. Especially once that opinion has purchases, refunds and notifications attached to it.

TipMaster / marketplace

One link, several views

Same parlay, same URL. The seller sees everything, a visitor gets a teaser, a subscriber might already have access. Settle the result and the rules change again. “What does this page show?” needs a few follow-up questions.

TipMaster / marketplace

How much of a secret can you show?

Show enough of a prediction to make someone interested. Don't show the prediction. A slightly awkward brief for a product page. And the secret has to stay out of the API response too; blurring the box is mostly theatre if the answer is sitting behind it.

TipMaster / TipForms

A tip has a short shelf life

Before kickoff, a tip is something you can sell. During the match, people follow it. Afterwards, it becomes evidence of whether you knew what you were talking about. Same database record. Quite a career.