Erin ChuahGet in touchLinkedIn

I’ve spent my career launching new things inside established businesses. This year I went back to basics and started building small apps of my own with AI, and this is where I write down what I’m learning as I go.

Product at Eucalyptus, now part of Hims & Hers. Previously Revolut, TikTok, Bain.

Currently

Building GridCollector, an app for Formula 1 card collectors. v3 is out, with the latest 2026 sets, a new look and live listings for the cards collectors are hunting. gridcollector.app

Reading far too much about AI, sorted by Headstreams, a reading app I built for myself.

Get in touch

Building in consumer AI? Drop me a message

GridCollector

Shiny cardboard

GridCollector: collections in v3, with the grail shelf
GridCollector: a rainbow collection, each card framed in its variant colour
GridCollector: the celebration when a set is complete

GridCollector v3 is out today. Looking back, nearly all of the effort in v2 went into the plumbing, because rearranging how an app fits together means moving everyone’s collections with it, and that took most of the month. The app worked better afterwards, but it looked much the same, and our black and gold had started to feel like the safe answer to “make it premium” rather than something with any life in it. People liked what it did, but I don’t think they loved using it, and in a consumer app getting the function right is really just the minimum.

What’s new in v3:

  • The cards bring the colour. We kept the black and gold, but the colour now comes from the cards themselves: real card pictures on a growing number of cards, every card framed in the colour of its variant, and a lot more motion, including a little celebration when you tick cards off. After a month of data migration last time, watching the app come to life screen by screen was a lot of fun.
  • Spotted finds the cards. Collectors are always on the lookout for cards, so when you add one to your hunt, the app now shows active listings for it from eBay and verified sellers. It’s there purely to be useful, as one more way to find what you’re chasing.
  • Matching is the hard part. Anyone can list a card on eBay however they like, so working out exactly which card and variant a listing is turned out to be quite tricky. A title with “Formula 1” in it kept getting matched to card number 1, and a “Green Refractor /99” could be any of three different greens. So we wrote the bar down before the first round: at least 95% of the listings we show have to be the right card. Each round, we pulled a fresh random sample of 200 matches, marked every one right or wrong by hand, then fixed whatever the wrong ones had in common before starting again on a new sample. The first round got 178 of 200 right and the second 184, so closer, but still short of the 190 we needed.
  • AI takes over the marking. Two hundred listings is too small a sample to tell 95% from 93%. So once we had two rounds of our own marks, we used them as an answer key to test an AI marker, and once it cleared the bar, agreeing with us 97% of the time on the ones it was sure about, we handed the marking over. Now it marks the clear-cut listings itself, sends the unsure or tricky ones to us, and we spot-check some of its easy calls each round to make sure it’s still doing its job.

The app finally feels like it has a bit of the spirit of the hobby in it. Let’s see whether the collectors like it.

Thinking

The easy half

Something that’s becoming clearer as the year goes on is how much of everyone’s job was quite rote. Every tool had a learning curve, and there was a lot of volume, including plenty of really easy work that could still fill someone’s day, so it made sense for people to stick to their own area and get to know it properly. The downside was that anything outside your area meant raising a ticket and waiting around, which was a pain on both sides. Now the expectation is that everyone can self-serve the easy half of each other’s work, and it’s great. The coordination tax was always real, and everyone’s feeling the difference.

What I’m finding, though, is that the easy half isn’t quite as easy as it looks. Everyone thinks they’re a designer until a real user gets stuck on their screen, and it’s the same with data, commercial and pretty much everything else. There’s a layer underneath every specialty, the sense of whether something actually holds up next to everything else you know, and without it you can end up with something that looks exactly like the real thing and turns out to be really just words once you poke at it a little.

That’s not really anyone’s fault, but the game has changed. Most of us only ever learnt our own area properly. Picking up other people’s areas used to happen by osmosis, and now it’s pretty much expected from day one. The good news is that the tools are a really good teacher (I’ve lost count of the number of times I’ve asked Claude to explain something to me like I’m five), so mostly it comes down to whether you’re curious enough to keep asking.

I don’t think there’s really a comfortable middle any more. The easy half of one area used to be enough to fill a job, and now it’s where everyone starts. From there, great could mean going very deep into something narrow. Or it could mean becoming a better builder because you can now see far more of the system and connect dots that used to sit in other people’s heads. Both are perfectly valid, but either way the bar has moved a lot higher.

GridCollector

The other side of the table

I’ve spent most of this year on one side of the hobby, with collectors who sort their binders by card number and know exactly which parallel they’re still missing. A few weeks ago I got a look at the other side, when a Formula 1 card trader got in touch to brainstorm a few ways to grow his business, like setting up an online shop.

A lot of his buying and selling is done at card shows, where deals happen fast across the table. He would count his cash before and after and add up his card payments to know whether a show had been worth it, but what he had actually bought and sold that day mostly lived in his head, and he was finding it hard to keep track of.

That felt like something that could be fixed quite quickly, so I put together an MVP in a day. It’s super simple: take a picture of the cards, type in the amount, and the same for a buy or a trade. Because we already have the full catalogue from the collector app, he can match each card up (by hand for now), and his stock slowly starts to exist somewhere other than his memory.

It’s very basic, and he seems happy with it so far. I don’t know yet whether it goes anywhere, but it’s been a fun little window into the other side of the table, and a part of the hobby I hadn’t really thought about until now.

GridCollector

v2 is here

GridCollector: the v2 tour for returning collectors
GridCollector: three ways to see a collection
GridCollector: the wanted list is now Hunt

GridCollector v2 went out to everyone today. v1 was built on a handful of conversations and deliberately tried a few directions at once. v2 is the consolidation: the collecting side done properly and ready for more users, with the other directions we explored, like social, parked for now.

What’s new in v2:

  • One core loop. v1 gave showcases, binders, collections and your card list their own places in the app, but usage made it clear that collectors really only do one thing: collect. So we rebuilt around that, and five tabs became three: Collections, Browse and Hunt (the wanted list, renamed to how collectors actually talk), with binders now just a way of laying out a collection.
  • System before speed. v1 was built in the first rush of how easy building had become, and things fell through the cracks. v2 started with the design system, a screen-by-screen spec, one rule that the live app keeps working whatever else changes, and other models reviewing the plan before anything was built.
  • Don’t lose a single card. Our first data migration moved collections people had spent hours logging, so it was rehearsed on a copy of production, with a rollback plan for every change, a backup of every account and a kill switch. Every expected result was written down first, and when we ran it for real at the weekend, all 65 steps matched.
  • Signpost every move. Rearrange an app people have spent hours in and the worst outcome is someone thinking their work is gone. So returning users get a short tour, and old binders carry a note saying they’re now collections, with the option to keep or split them.

It’s been a big month, and the app finally feels like it has a clear core. Now to see what collectors make of it.

Thinking

Taste is a lazy word

There’s a line doing the rounds this summer that when anyone can build, taste is what’s left. I don’t necessarily disagree, but I’ve started to find it a slightly lazy word. Nobody can quite say what it is or how you would know whether someone has it, so it ends up as a convenient way to justify a decision without really backing it, and I’ve definitely been guilty of it myself.

I don’t have a much better answer, though I do think there’s something real there. My best attempt is that it’s judgement trained by reps, specifically reps where you got to see what happened next and then take the next shot. Some are with users, seeing whether they engage or use things in ways you never imagined. Some are commercial, watching whether the business plays out the way you thought it would. Some come from marketing, seeing which messages actually resonate and how people relate to the product. Some are organisational, learning what gets enough backing to land. Then there’s the soft part in your head, weighting all of those differently depending on the product, the phase and the moment.

Because those reps are tied to the people and the market you earned them in, taste also travels less well than we like to think, and someone with great taste in one world can be confidently wrong in another. It’s never going to be 100% right however good you are, and the uncomfortable part is that you can’t write it down and hand it to the next person. The only way to get more of it is more reps.

Which is where AI gets interesting. Building is now so cheap that you can take far more shots in a year, but a shot only becomes a rep if you close the loop, and when everyone is hungry to ship, that’s the step that gets skipped. So if taste can’t be handed over, the thing worth building is the conditions for it: short loops, outcomes people actually get to see, and room to take the next shot. That feels like where the real leverage is right now, more than in any single tool.

GridCollector

Half the screen

This month we sat down with three of our most active collectors. I came away with pages of notes and a much better picture of what collecting actually looks like day to day, and each of them pointed at something we need to change:

  • The app is a second screen. One collector runs GridCollector on the bottom half of his phone with a live auction on Whatnot on the top half, checking what he’s missing as each card comes up. He has seconds to decide, and the app was built for browsing big, beautiful photos at leisure, so we’re working on a compact view that shows a lot more at a glance.
  • The spreadsheet still wins on volume. Another buys across several marketplaces, with an alarm at 10:30 every morning for one of them and another for when auctions are about to close, and once had 354 cards shipped from China in one go (“very affordable and very scary”). He still keeps an Excel sheet he says he can’t do without, because the app isn’t built for how he buys yet. Logging cards one at a time doesn’t work for a haul that size (he suggested photographing a whole binder page at once), and cards bought on streams can take a week to arrive, so they need somewhere to live in the meantime too.
  • Discovery isn’t just for beginners. We had assumed browsing the catalogue mattered most for newer collectors finding their feet, but halfway through a demo, one of the most seasoned collectors we’ve spoken to found about 50 base cards he hadn’t realised he was missing. “This makes life very easy for the missing part,” he said. So discovery needs to work just as well for someone with thousands of cards as for someone with ten.

Each of these could be a feature on its own, but together they’re pointing at a bigger rethink of how the app is put together. We’ll tackle that next month.

Headstreams

Two hosts who argue

Headstreams: a stream with its podcast and reading list

Headstreams now makes its own podcast, and this week it’s been landing every morning.

Reading is still the main event for me, because I like long-form. But a lot of my tech news comes through podcasts these days, so I thought I would turn my streams into something I can also listen to on the way to work, before I sit down to read. It was also a good excuse to play with voice AI, which I hadn’t properly tried yet.

The first version was a single narrator reading out the day’s top articles, and it got irritating fast. It’s unnatural to have one person talk at you for that long, and I think better when I hear an argument and the counter-argument than when I hear a summary. So now it’s two hosts who argue, one for and one against.

A few things make or break it:

  • Debates need a sharp claim. Gemini reads the newest articles in a stream and picks the single sharpest thing worth arguing about. “Who wins from AI regulation?” is too broad to argue about, but “the big labs will turn the cost of compliance into a moat smaller competitors can’t cross” is something two people can properly disagree on. It also brings in a few older pieces I’ve already read, so the hosts can build on what I know.
  • It’s all in the script. ElevenLabs does the voices, but it can only perform what it’s given, so most of my time went into the script, and it took a fair few rounds to make it sound like a conversation instead of two essays read out loud: short spoken sentences, the odd interruption, hosts who are allowed to concede a point, and a ban on words like “moreover” and “furthermore”. Each episode ends on where the disagreement actually lands, and what would settle it.
  • Voices need loosening. Out of the box, the voices sounded a bit like newsreaders, so I turned the stability setting down, which makes them more expressive, and added a touch of style. Each line also gets sent with the lines either side of it, so the intonation carries through the back and forth instead of every turn starting cold. And since it’s making ten-minute episodes, I went with ElevenLabs’ faster, cheaper model over its top one.
  • Quiet weeks are fine. An episode only gets made when a stream has at least ten new articles, three of them strong, and it’s been a week since the last one. For something that’s meant to save me time, staying quiet when there’s nothing worth arguing about feels right.

So far I’ve found it a nice way to get my head into a topic before I read about it, but it’s still a little stilted, so I’ll probably have another stab at it when I get a bit of time.

GridCollector

Finishing the set

We’ve been live for a couple of weeks now, and I’ve spent more time than I would like to admit watching what people do in the app. It’s early and the group is small, so I’m not reading too much into the numbers, but some patterns are already showing:

  • Goals bring people back. As we hoped, the collectors who set up a collection and tick off the cards they own are the ones who keep coming back.
  • Many never get there. Onboarding currently ends with logging a first card, and a lot of people drop off right after, before they ever find collections. The collection looks like the a-ha moment, so onboarding probably needs to take people straight there.
  • Browsing is the way in. Many people find cards by browsing the catalogue set by set, which makes all those hours spent getting the checklists right feel very worth it.
  • It’s a tool first. Few people use the showcase or sharing features yet, and most treat the app as a practical way to find and track cards. That’s probably to be expected, since those features are pretty thin in v1. The interesting exception is binders: the people who lay their cards out in binders are among the ones who stick around best, so there’s something there to build on later.

So the app works best when someone’s chasing a goal, which gives us one test for every new idea: does it help them finish the set? Everything else I’m holding loosely until we’ve talked to a few of them properly.

Headstreams

The reading funnel

My reading app is a few weeks old now, and I’ve been having a lot of fun tinkering with it in a fairly meandering way. It’s now at a point where I’m quite happy with it, and I’ve given it a name: Headstreams, after the little streams at the source of a river, to represent its job of sorting all my newsletters into streams of information.

So I thought I would share how it works, and if anyone has fun ideas for it, I would love to hear them. At its heart it’s a six-step funnel: everything new from about 65 feeds goes in at the top, and out the bottom comes a reading list for each of the topics, or “streams”, I care about.

  1. Collect articles. Every morning, a simple RSS reader does the rounds of every feed, a bit like a postman, and brings back whatever is new.
  2. Check for content. Lots of feeds only send a headline and a teaser, so when there isn’t much text, it goes and fetches the full page. The first version judged that on length alone, until I noticed paywalled pages come back with thousands of words too, just of menus, sign-in boxes and billing questions, so now it also looks out for things like “subscribe to read” and leaves those alone.
  3. Work out what it’s about. Every article, and every stream, goes on a map of meaning where similar ideas sit close together. After some reading up and a lot of back and forth with Claude, I went with an embeddings model for this rather than an LLM, which would have been overkill and far more expensive.
  4. Decide where it belongs. Each article goes to whichever stream it fits best, as long as that stream stands clearly above the rest. That second check, the margin, came in because almost everything I read is about AI, so general AI news kept beating domain articles like actual health articles in my health stream, since a general AI piece is a little bit about everything. To work out where to set that bar, I hand-labelled 18 articles with where each one should go and used them as a small eval. My first setting was a bit too strict and was losing good pieces, the next was too loose and let a newsletter roundup slip through, and the Goldilocks one in between got all 18 right.
  5. Rank within streams. Each stream shows its top 40, ranked on fit and freshness, so the strongest new pieces come first, but a really good older one doesn’t disappear just because it’s a few weeks old. Each article also gets a one-line takeaway from Gemini on the “so what” for me, because a lot of headlines are either vague or clickbait, and one line is usually enough to tell whether it’s worth my time.
  6. Write a summary. One thing I haven’t mentioned is that I also use this to write, so when I like an article, I save it and it gets a fuller summary. That’s the most expensive bit of the whole app, which is why I only run it on the ones I save. Over time each stream builds into a collection I can come back to as I gather my thoughts and form a view on the topic.
GridCollector

Finally live

GridCollector on Google Play: every set, every parallel
GridCollector on Google Play: collections
GridCollector on Google Play: every card you own
GridCollector on Google Play: log every detail
GridCollector on Google Play: binders
GridCollector on Google Play: the wanted list

We’re finally live on the App Store and Google Play! Today we sent the welcome email to everyone on the waitlist, after a few more beta testers had kicked the tyres first.

It’s been just over three months since I started this on a beach in Phuket, and after that first week I thought we would be live within a month. The engineering, the legal bits and the app store admin all had other ideas. But I’ve loved doing every part of it myself, from designing the database to writing a privacy policy to wrestling with app store listings, and it’s completely changed my sense of what a small team can build now. I also have a whole new respect for every engineer, designer and lawyer I’ve ever worked with.

So while this feels like the end of a slog, it’s probably just the beginning. We’ll be watching closely over the first few days: sign-ups, crashes and what people actually do. We’ve set up alerts for anything that breaks, so fingers crossed for silence.

Headstreams

A reading app for one

GridCollector is in Apple’s hands for now, so this weekend I’ve started on a second project, and this one is just for me.

Back in March I wrote about how hard it is not to feel like you’re always falling behind in AI, and my way of coping has been to subscribe to everything. I’ve stopped counting my subscriptions, from Stratechery and Lenny’s to a long tail of smaller writers, and the result is a newsletter folder I’m slightly scared to open, a browser full of tabs I’m definitely going to read (maybe), and the uncomfortable realisation that wanting to read everything has turned into reading almost nothing.

Last week I wrote about personal software, and this feels like the perfect excuse to try it on myself: a reading app built entirely around what I care about. The idea is quite simple. Collect every article from every source, then narrow them down to the handful most interesting to me, instead of an overflowing folder full of guilt. After years of building for other people, it’s a nice change to have exactly one user to please, and a very clear success metric: whether I actually read more.

It’s deliberately small and very much quick and dirty for now. I’ll share how it goes once it’s working.

GridCollector

Personal software

We’re almost ready to submit to the app stores, but this post is about something else we built, just for ourselves. It’s made me stop and think about “personal software”, a buzzword I’ve been hearing here and there.

The idea is that when building gets this easy, anyone can build for their own n of 1, down to every little specification their heart desires. There’s still a learning curve today, but I can see it getting easier fast, and it feels like a big shift in how we think about software.

Once we have real users, we need a way to review the catalogue errors people report and fix them, to check the card photos they submit, and to see what people are actually doing in the app. One way to do that is to sign up for a ticketing tool, a dashboard tool and so on, then figure out how to make them all talk to each other. We looked at that and thought we could probably build it ourselves, and probably do it better for our very specific needs. So we did.

The catalogue is a good example. In April, corrections from a card dealer I work with went back and forth as spreadsheets, and things slipped through in the handovers, including one whole round that got silently dropped. Now he edits the catalogue directly in the admin tool, every change is logged, and any of them can be undone with one click.

Or the card photos. We want to build up a library of real photos people take of their own cards, but each one needs checking before anyone else sees it, card by card and variant by variant. No off-the-shelf ticketing tool does that.

Dashboards on their own are pretty standard, and we could have bought those. But after years across product and commercial roles, I had a pretty clear idea of what I wanted to see, and at this zero-to-one stage, being able to rip everything up and change it as we learn is really useful. So we built that too.

That’s not to say off-the-shelf software has no place. We still use PostHog for analytics and session recordings, because it does that specific, harder thing really well, and crash reporting will be next.

I suspect this is where software is heading. Some of the “easy” things will just become personal software, while the deep, specialist things are still better left to the experts. There is a cost to maintaining your own software, of course, but for now, the trade feels very worth it.

GridCollector

All the little things

It’s been three weeks since Easter, and this time there’s been plenty of activity, but it’s been an endless slog of the many, many small things that just had to get done, on top of everything the alpha turned up. I miss the fun building part, when features appeared about as fast as I could describe them.

Here’s what that looked like:

  • Getting the catalogue to 100%. The agents got the database to what felt like 80 to 90% back in Phuket. But if you’re building a whole app around collecting, people will be looking for every single card and that exact variant, so the checklists need to be as close to 100% accurate as possible. Getting from zero to 90% is quite easy and closing the gap to 100% is very hard, but we’re almost there!
  • Data security, privacy and compliance. Launching an app means handling other people’s data, and that comes with a really, really long list: consent before anyone’s card photos are shared, secure accounts that people can manage, GDPR rules on what data we hold and how we delete it, a privacy policy, terms and conditions, and the list goes on. None of it is fun, but it is necessary.
  • Reliability. On the happy path everything works quite well. Then there’s an unexplained crash somewhere, or you test on a cheaper phone and something quietly fails. A lot of this bucket is just chasing those down, plus giving people an easy way to send feedback when something goes wrong.
  • And many more, like the keyboard covering the box you’re typing in, parallel names too long to fit on the screen, binder pages snapping back when you drag them, and a test build that kept crashing for some inexplicable reason that Claude couldn’t figure out either (thank goodness for adversarial Codex).

Every launch I’ve been part of has ended in a stretch like this, but it feels very different when every one of those small things lands on you. I’m hoping that next time I’ll know a little better, and this end stretch will be a lot more pleasant.

GridCollector

A tiny alpha

GridCollector: the collections home in v1
GridCollector: the showcase in v1
GridCollector: the wanted list, ready to share

Some fun news this week: we launched our first (tiny) alpha!

Three people have been using the app, and it’s a good reminder of why the cardinal rule in product is to launch fast. When you’re deep in your own mental model, everything makes sense, until you watch someone else use it.

What they showed us:

  • Collectors chase everything. We expected people to flag a handful of cards they wanted. Our first tester flagged hundreds, and since we hadn’t designed for that, each one took two or three tedious taps. He did it anyway, which was our first hint that we had misjudged what people want to keep track of.
  • Our shortcut was invisible. We had made logging a card a single tap, but one tester went the long way round every time, digging deep into the catalogue to find each card. It was a classic case of the curse of knowledge: we built it, so we knew exactly where it was, and it never occurred to us to signpost it.
  • We missed the obvious. We knew landscape cards existed. But we were so busy obsessing over features and buttons that we never thought hard about the camera, which only handled portrait.
  • Duplicates are common. We had thought about duplicates and parked them in the backlog, because why would anyone buy the same card twice? But it happens all the time: lots of cards come from sealed boxes, which are a gamble, so sometimes you get a really valuable card and sometimes one you already own.

So, super useful early feedback. Time to get cracking.

GridCollector

Gold on black

It’s been three weeks since Phuket, and progress has definitely slowed down. As expected, coming back from holiday meant jet lag, work and the rest of life all landing at once, and GridCollector slid down the list. But it’s the long Easter weekend, so it’s time to get back on track.

Over the holiday I was so excited about all the nerdy parts, the database, the information architecture, how everything fits together, and I was really happy with the progress. Then I started showing it to people, who were a lot less excited about all the functional things I had vibe coded, and instead mostly commented on how it looked. What I had not noticed with my nerdy blinders on was that the whole app was in the same default navy blue and white that every AI tool seems to reach for, which was a pretty uninspiring look. So it was time to put my designer hat on.

The first question was what GridCollector should feel like. Collecting is a hobby people do out of love, and collectors are quite self-aware about it. They will joke about spending so much money on “shiny cardboard”, while also treating it as an investment, doing deals and keeping an eye on what holds value. They are also very organised, sorting binders by collection and building incredibly impressive Excel spreadsheets to log every detail. So we wanted it to feel premium, but quietly premium: functional, with just enough design to make it enjoyable to use, but nothing frilly or loud that steals attention, so the focus stays on the cards. After a bit of trial and error, that landed on black with gold accents, which is very classic and deliberately doesn’t stand out. There are small touches of Formula 1 colour and spirit thrown in too, without it turning into a rainbow.

The other thread this weekend was sharing. The utility side, collecting and browsing, is mostly there, so the question became what makes this special. Formula 1 card collecting is very community-driven, and somewhere down the line we might explore this angle a little more, but we are not ready to build an in-app community from day one. So the baby step for now is making it easy to share outside the app, which is useful for collectors and also a bit of free marketing for us. There is the show-off kind of sharing, where users can share a page of their binders as an image. And there is the utility kind. Collectors already post in WhatsApp groups and Discord servers looking for specific cards, so if they’re already keeping their wanted list in GridCollector, one tap now turns it into a list they can post anywhere.

GridCollector

Five days

It’s my last day in Phuket and the end of my first five days on GridCollector. It’s been a real crash course in building with agents, and in what on earth a parallel is. It’s been so interesting and I haven’t been this energised in a long time, but I might also be ending this holiday more exhausted than when I started.

Properly putting agents to work on a build of my own was incredible. I had them researching and cross-checking the checklist for every set, which would have taken me weeks on my own. I maxed out my Claude allowance multiple times, which was probably a good thing, because it forced me to take a break and go for a dip in the pool. Then came turning all that research into one source of truth, with the agents organising what they found and flagging how much human review each set needed, and me working through the flags by hand.

Then there were the cards themselves, which turned out to be a whole world I did not understand at all. What is a parallel? What is an insert? What is a relic? Everyone seems to call the same things by different names, so even agreeing on what counts as a card took a while. Some sets have siblings, like Chrome with Chrome Sapphire and Chrome Logofractor, sharing some parallels but not others, while other sets stand completely on their own. I still haven’t watched a Formula 1 race (though I will soon!), but I’m now deep in the detail about how a Lewis Hamilton Gold Refractor is different from a Gold RayWave Refractor, which is different from a Gold Checker Flag Refractor, even though all three are gold and numbered to 50.

I’ve spent years on the other side of this, watching teams live with data models they wished they had designed differently, so it’s a strange feeling to be setting one up end to end myself, where the cards, the users and every feature all have to fit together.

The users were the other rabbit hole. Every collector I spoke to told me a different way they collect, so for a while it felt like there were infinite ways to collect. But you can’t just hand people infinite options and tell them to go wild, because that is just a terrible product. People need some structure and guidance, just flexible enough to fit what they are actually trying to do. After a lot of back and forth, I landed on three: collecting a set, a rainbow (every parallel of a card), or a driver, plus a fourth option to build whatever you want. It feels like the right balance, for now.

The rest of the app came out of the same conversations, and it’s really built around three kinds of collectors. The hardcore ones know exactly what they have and what they want, so they get collections and a proper view of all their cards. A lot of people also collect because it feels good to show off, so there’s a Showcase tab where you can pick your best cards and turn your physical binders into online ones. And newer collectors often don’t know what exists yet, so there’s Browse, where anyone can come in and see what’s out there.

Five days in, it already feels like we’re about halfway there, which seems wild for a holiday.

GridCollector

Reset

There is just so much going on in AI these days, and it’s hard not to feel like you’re always falling behind, which is interesting and scary at the same time. I’ve spent the last few months trying to get on top of every new tool I hear about on podcasts or in Lenny’s Newsletter, hunting for use cases, and spending more time than I probably should on improving my context system at work, whether that’s finding more MCPs to connect or getting better analysis or writing out of it. AI prototyping has even turned back on the creative side of my brain, which I had long given up on after getting Cs in art at school despite my absolute best efforts.

But there’s still so much happening with vibe coding and agents way outside what I do in my role. Many product leaders I know are getting their hands dirty again instead of just running teams. The whole model is changing, from how teams are organised to how much more one high-agency person can do, and I’m a little overdue to dive deep too. As with all things, though, it’s hard when there’s always something more urgent that needs my attention. Now that I’m on holiday in Phuket and finally have some time to reset, I went hunting for a curiosity project, and found one!

So in the spirit of accountability, here goes: I’m committing to writing about what I build and learn along the way. Partly it’s to keep myself honest, because it’s easy to start a side project and let it drop when nobody is watching, and partly it’s because I’m taking in a huge amount of information and trying a lot of things, and I need somewhere to stop and think. Writing it down forces me to work out what I actually learned and to start forming my own opinions along the way, knowing I’ll probably change my mind a million times as I learn more and as the whole AI world keeps evolving. And hopefully it’s useful to anyone else on a similar journey.

My first project is GridCollector, an app for Formula 1 trading card collectors.

To almost everyone I know, this will seem wildly random. They would bet I have never watched a single Formula 1 race, and they would be right. But while I was searching for an interesting problem to solve, I happened to be chatting with an old friend who had just started trading Formula 1 cards, and it opened up an entirely new world to me: a really niche but hardcore community of people chasing cards.

As a problem, it hooked me straight away, mostly because everyone collects differently. One person will go to the ends of the earth for every Max Verstappen card in existence, another will only chase pink cards, and another just wants to see the full set from #1 to #200 laid out perfectly in order. Some only want cards graded PSA 10 and some couldn’t care less, and then at the very top end there are people who only chase 1/1 cards. With thousands of cards in existence, so many variants of each and endless reasons to want any one of them, it looked like a really fun problem to solve.

My friend is deep in the community, which means we already have a good start on distribution, and I get to bring my product hat, satisfy my curiosity and find out first-hand how much AI has changed what it takes to build something. It’s true that it’s getting easier for anyone to build, but that doesn’t mean what gets built is any good, so the real challenge will be building something useful and loved.

I don’t know where this will go, but I’m excited to find out.