• Week 14.26

    Week 14.26

    An update on my app addiction

    On Wednesday morning I woke up and saw that my last app DataDeck was getting a bunch of likes and reposts on Bluesky, which was a nice surprise. If ever there was a place where people would appreciate a wacky, nerdy idea, I guess that would be it.

    My Instagram Story on Wednesday

    I made a couple of post-release updates to my magnetic poetry non-game, CommonVerse. There are now two new themes, one called Label Maker that resembles those little Dymo stickers we used to make, and another called Zine which is like a random note of cutout words. The UX has also been improved in subtle ways that might make it easier to manage making sentences.

    My “main” app project now is one that I can keep noodling on in the background, with no real endpoint — it’s done when I think it’s done — and the idea was that would help me slow down and spend less time with this vibe coding stuff. Guess what happened? That’s right, if you design something that can sit on the back burner, it will sit on the back burner. I started work on another app instead.

    Defying time and gravity

    I’ve known that the next step was to play with agentic coding tools like Codex or Google’s Antigravity. These are code editors with integrated AI that can look across all your project files and manage multiple agents working on simultaneous tasks. It’s a far cry from the way I’d been working: getting advice and instructions from a single chat, and then doing everything myself in a code editor. So I finally got started with Antigravity, and it blew my mind.

    The productivity increase is hard to describe. I could just describe stuff and it would get done without further work on my part. The tool can use the system’s terminal and Chrome browser to install packages, click around and test the app, figure out why things aren’t working, and fix it while you watch. Stuff that took me days over the last month could have been done in hours. It was automating so much of what little I, the non-programming human, was doing and considered my job, that it made me feel kinda redundant, to say nothing of real programmers.

    With Antigravity, the MVP of my app concept was done in three hours on a Friday. The good/bad news was that it blew through most of my token allocation for the week. So I went back to the “old” way of working and made subsequent changes manually. What I discovered was that I much prefer getting hands on with the project files, looking through the code to understand what was going on and what went where. I think I’ll use these agentic tools to get started fast and figure out a working architecture. After that, it’s more fun to get involved and make improvements slowly.

    Ate and left the Crumbs

    So the new app is called Crumbs, as in breadcrumbs, as in leaving a trail of them so you know where you’ve been. It’s a private location journal that lets you mark where you are on a map with a single button push. Over time, you can see the path of your journey(s).

    I made this because I’ve always wanted something like this for logging holidays, and no app really does what I want. Foursquare’s Swarm is based on Places, so you have to find the business listing or entry in order to check in. If you’re in the middle of a national park, or in a country where no one has created Places, or you can’t read the names, you’re out of luck. Google Maps has a Timeline, but it tracks your location all the time, and it only shows your trail on a day-by-day basis. Your data is also locked in their app and you can’t get it out to visualize in other ways.

    Crumbs is private, and you can take the data out in JSON format. It logs the time and weather along with your location, and you can write little notes. You can save an image of your map, or export a PDF of your journal.

    A big breakthrough (for me)

    Unfortunately, because it’s a web app and not a native iOS app, it can’t permanently store data on your device. The OS may decide to purge all your data if you haven’t used it in a week. That’s a dealbreaker for any app intended to be a life-logging tool. That really bummed me out, and I thought it would just have to be a personal tool that I couldn’t distribute to anyone else — since remembering to do manual backups/restores of the JSON file would be a massive PITA for any user.

    And then I had a Eureka moment! I thought of a possible solution and asked Gemini if it was feasible, to which it answered “Yes, this is an ideal solution”. I wanted to scream “Well, then why didn’t you suggest it all this time we’ve been discussing how to get around the problem!?”

    The answer was Dropbox integration. I can’t make a web app read/write files locally, but I can do it in the cloud. So now Crumbs is as useful as a “real app”, provided you connect a Dropbox account.

    As of Monday morning this post is late and I think Crumbs is ready, so here it is.


    Other thoughts

    • Here’s a free idea: I was inspired by this stamp journal that went semi-viral, and wanted to make some sort of digital Instax photo album. It’d be kinda nice to keep a virtual scrapbook of interesting images, right? Well, turns out you can just use Apple’s Freeform app and Dazz Cam. It’s as simple as making a board and dropping in images, then arranging them however you want. All stored locally and synced to iCloud, easy peasy. Just because you can vibe code it doesn’t mean you should.
    • My iPhone’s MOFT Snap Case developed a cut/tear in its faux leather surface, and so had to be replaced after just six months. Its replacement is a Caudabe Sheath, which fits my requirements of being neither silicone nor slippery, with full edge coverage and a Camera Control passthrough button. It’s a hard plastic material with a rough, pebbled texture that makes it feel secure when held. It also came in second in MobileReviewsEh’s roundup of the year’s best cases. I got the version with the ‘open’ cutout for the 17 Pro Max’s camera island, not the ‘precise’ covered design.
    • Kim managed to finish reading Project Hail Mary and we went to see the film on Sunday (non-IMAX). Apparently there’s a longer cut, nearly four hours, which will be released on streaming in August when it comes to Amazon Prime Video. Yes, this is billed as an Amazon original film from the very first frame, coming even before the MGM logo (which they own), and I don’t think that will ever stop being weird. The film is good, a mostly faithful adaptation of a fun but slightly flawed book. I just think they glossed over a lot of detail in the final act, which lowered the stakes and made it less exciting and rewarding than it could have been. Hopefully the extended cut’s extra run time is concentrated at the end.

  • Crumbs

    Crumbs

    A location journal that’s actually yours.

    Try it at CrumbsMap.vercel.app


    Most map apps are for navigation, not remembering. You know those sequences in old films like Indiana Jones where a dotted line traces across a map from city to city? That is what Crumbs does, except it is your life and the dots are places you actually went.

    Effortless location logging

    The idea is simple: press a button to log where you are, write a note if you feel like it, and watch your trail build across the map. No passive background tracking, no accounts, no selling your movements for ad targeting. Just the places you chose to remember, connected by a line, yours to keep.

    Most travel apps get this wrong in one direction or another. Google Maps’ Timeline tracks you constantly whether you want to remember or not. Swarm needs a business listing to exist before you can check in. Neither lets you draw a line across a whole week, or a custom trip length, and export it cleanly. Crumbs does all of that, and stores everything locally on your device.

    Do things with your data

    There is a list view that lays out your stops like a journal with timestamps, weather, and location metadata, exportable as a PDF keepsake. You can also save a clean image of your map at any point, ready for sharing or scrapbooking.

    Crumbs is a PWA (Progressive Web App) which means mobile operating systems may occasionally purge its local data if not used in awhile. However, connect your Dropbox account and we’ll sync with the cloud automatically, so you won’t lose a crumb. If Dropbox isn’t your thing, manual JSON export and import are available for backups. Either way, your data is yours to keep and use freely. Vibe code an app to generate custom posters, for example.

    If you want native background tracking that runs without you thinking about it, I recommend Where Now? — a free indie app by Scott Boms that also logs your location privately. Crumbs can import Where Now’s data exports so you get the map trails and other features. Best of both worlds.

    Other details:

    • Pins capture location, date/time, city/country, and current weather conditions from Open-Meteo.
    • Works offline: Pin your location while off the grid, and Crumbs will show it on the map when you’re back online.
    • Filter map and list views by Today, This Week, This Month, All Time, or a custom date range to see only specific trips.
    • Uses standard Plus Codes as a shorthand for geolocation, so PDF exports retain all relevant information in a human-friendly form.
    • Open any pin location in Google Maps for more detail on nearby places of interest that were involved in your moment.
    • Minimal, glassy UI that “puts the focus on your content™”.
    • Bread mode: replaces all red pushpins with baked goods.
    • Red string trails can be disabled in settings.
    • Pins can be moved via drag and drop if necessary.

    Disclaimer: I made Crumbs with the help of Google’s Antigravity and Gemini 3.1 Pro. Your location data stays on your device. I have no idea where you’ve been.


  • Week 13.26

    Week 13.26

    I finished my sixth app: DataDeck. It simulates a fictional hardware music player called the DataDeck SG-01, or more accurately, a music generator. It reads live, open data feeds from the Singapore government’s data.gov.sg portal and translates them into unique musical compositions.

    My first prototype ingested the tourism stats for International Visitor Arrivals to Singapore since 2008, and when I first experienced the silence of the Covid years, with the beat gradually building back up again after 2022, I knew I was on to something. Data sonification is a cool term for nerds, but hearing the stories stored in the numbers is something anyone can understand and appreciate.

    At about ten days of development time, it’s the biggest project I’ve delivered so far with the help of AI — there’s no saying how long it would have taken me to do on my own. A million years? Instead, in just 10 days: parsers for 10 different datasets, 10 varied musical styles, and 10 switchable themes.

    The inspiration for its interface was the kind of hardware devices my dad had in the 70s and 80s: calculators, microcomputers, and tape decks from companies like Braun, Sharp, Sony, and Texas Instruments. A sort of Rams-ian, Bauhaus-ish modernist school of industrial design. The different color schemes you can choose from evoke specific brands or devices, like Apple’s Snow White-era or the original Nintendo Game Boy (DMG-01) and the Roland TR-808. I especially enjoyed working within the constraints of an imagined hardware UI, so when you switch to a dataset mapped to Singapore’s physical geography, the drum pad buttons get remapped to move a reticle around the map. It makes it feel more real, imo.

    The idea of playing with procedurally generated music using software-synthesized Web Audio was probably seeded years ago when I collected the 0xmusic series of art NFTs, which generated endless musical sequences from code on the Ethereum blockchain. I dare say that DataDeck is more advanced, and with better sounding musical output than those. Plus I’m making it free, and you don’t have to risk social judgement by going anywhere near crypto.

    I’m especially proud of the app’s design and musical qualities. There are a hundred little details in this thing I could mention that were cool to implement, but users don’t have to know or care about. Although it’s an app made for myself by myself, I’m still inordinately satisfied with and impressed by it. I’ve helped deliver a few apps in my career (some of them even won awards), but DataDeck already feels like one of my favorites.

    I think that’s because designing in the real-world is all about the navigation of compromises — technical debt, financial limitations, organizational will, and a lack of time all get in the way of polishing features you know could be great, or fixing annoying bugs that other stakeholders don’t seem to mind. Personal projects are not like that, and acceleration with AI makes them even less so. I made this thing how I wanted, and was able to tweak the mix or rebuild a cassette’s music logic from the ground up twice a day if I wasn’t happy with it.

    I’ve also been thinking about how narrow the term “vibe coding” is. On one hand, one-shotting an app by asking Claude to “build me a kitchen timer” is vibe coding. But using AI to create a complex tool where humans design the screens, sweat the UX, and look after the details is also kinda vibe coding. I talked recently about how the distinction between designing and developing will fade, and making stuff is all that will matter, and so it stands to reason that eventually coding with AI will just be called coding.

    I spent Friday afternoon with Jussi meeting up with two separate friends, both also middle-aged men, who are similarly interested in this evolution of design/development work, and who are working on their own projects with Claude Code, OpenAI Codex, and other tools. We’re all at different levels of familiarity and sophistication, but it was good to meet for a little co-working + Show & Tell time at cafes on a weekday. I think there’s value in forming a little “late boomers’ coding club” for fellow initiates.

    In any case, I’m hella tired, guys. I started on my next app idea but immediately got hit by fatigue on Saturday afternoon and needed a nap. Switching gears from audio generation to working on more visually-oriented functions was too much context switching to do over the weekend. Think I’ll finish reading a couple of books first before getting back to it.

    I know it’s been app-this and app-that around here for the last month and so maybe some readers (or a future me who’s been thrown in ethics jail for AI use) will appreciate hearing about other things. Let’s zoom all the way out then, into outer space.

    The film adaptation of Project Hail Mary is getting such great reviews and most people in my book club have already seen it. Unfortunately, I have to wait because Kim has finally started reading it, about three years after I told her to. Hopefully she’ll finish before the local IMAX run ends, but nothing in this life is guaranteed.

    There’s just something about stories of people in space, either lost or stranded, alone or in a small team, solving problems with limited resources, all the while confronted by the massive universe-facing perspective of being so small and meaningless. Andy Weir’s The Martian really resonated with people, and Project Hail Mary is having its moment too. I also enjoyed Daniel Suarez’s two Delta-V books a few years back. But the ultimate one that has yet to be beaten for me is Neal Stephenson’s Seveneves.

    The book I’m reading now might be a serious contender though. I’ve had Samantha Harvey’s Orbital on my list for the better part of a year, knowing very little about it, except that it’s about astronauts. Now that I’ve started, I don’t want it to end, I want more of everything, more words from this magnificent brain. You’ll know by the end of the first three pages whether this is a book for you. It’s intensely beautiful, unusual writing. It borders on poetry — perhaps too melodramatic for some — actually it steals over the border by moonlight and maps the territory. I don’t know how Harvey knows what it feels like to be in space, and what astronauts think about as they look down on Earth, but she absolutely does. You can’t write like this unless you’ve stowed away on an ISS mission and been through it. It’s a monumental work, and the best book I’ll probably read all year.

    Literally on the other end of that spectrum, the book club has decided to read Michael Crichton’s Sphere, which is set at the bottom of the ocean and probably isn’t very beautiful or philosophical. I read it once, maybe thirty years ago, and thought I only remembered the contours of its plot, plus flashes of the 1998 film adaptation starring Dustin Hoffman. As I read its opening pages, I was shocked at how familiar some of the writing and scenes were. It must have made an impression on me.

    Since the moratorium on spoilers has probably passed, I think it’s okay for me to mention what I recall: it’s about a mysterious ship that a bunch of scientists are trying to study in a deep sea lab. As time passes, they experience unnatural events, and it’s revealed that the titular sphere onboard has been “having an effect on them”. It’s a mashup of The Abyss and Solaris, essentially. I don’t want to rush Orbital, so I’m going to put that aside and work through Sphere as quickly as I can.

    Speaking of space, the deep sea, and being packed into tight metal containers, I picked up a can of my usual Ayam-brand sardines in extra virgin olive oil the other day and felt a weird “thunk” as I turned it over. I’ve handled enough of these cans now to know when something feels off. Opening it, I discovered only two fish instead of the usual three. That sensation was them loosely rolling around in the oil. It wasn’t like these were two large ones and there wasn’t room — someone on the packing line simply neglected to fill the available space and closed it up. At first I was incensed, and then I tried to let it go. We all deserve to make mistakes, and some sardines should get to enjoy a little more personal space. Be good to yourselves, and I’ll see you next week.


  • DataDeck

    DataDeck

    Introducing the DataDeck SG-01.

    Turn on, tune in, and nerd out at datadeck.app.

    Singapore generates (and publishes) an extraordinary amount of data about itself — temperatures, taxi coordinates, dengue clusters, carpark availability, ticket sales at major attractions. Numbers that civil servants read in spreadsheets and the rest of us ignore entirely. The DataDeck asks, “but what does it sound like?”

    Each Data Cassette draws live government feeds from data.gov.sg and renders them as distinct genres. There are ten cassettes in all, each with their own acoustic logic and ways of interpreting the city.

    The Climate cassette pulls real-time NEA temperature and humidity readings across 12 geographic sectors and converts them into lo-fi hip-hop — with chords deepening as humidity climbs, and the scale drifting toward Lydian as the heat rises. The Transport cassette tracks unoccupied taxis plying the streets and generates a relentless 303-style midnight techno. HDB carparks become polyrhythmic Afrobeat, and the movements of the stock exchange drive a satisfying hip-hop groove. Get money y’all! Check out the sound of visitor arrivals during the COVID years: like musical crickets.

    The controls? Three knobs shape density, tempo, and atmosphere. A mix fader redistributes the instrument balance. AUTO mode hands navigation back to the machine. There’s a user manual built in, should you get lost.

    It’s a music player with no music files. It’s a data dashboard you can close your eyes to. It’s Singapore, rendered in sound. Put your headphones on, and press play.

    Pro tip: If you really love DataDeck, you can save it to your phone’s Home Screen, which gets you a nice icon and a full-screen mode that shows the whole device at once without distractions.


    Disclaimer: I made this with the help of Gemini 3.1 Pro because I’m just an old designer who hasn’t coded stuff since GeoCities. I take no responsibility for any damage you cause yourself or others with this. Thank you.

    Related blog post: Week 13.26


  • Week 12.26

    Week 12.26

    Another busy week, and I’ve been like a caffeinated creature hunched over its keyboard with bloodshot eyes. You may notice I’ve updated the navigation bar on this site to point to a dedicated page listing all my apps. This takes the place of a page that pointed to all my custom GPTs on ChatGPT (that never really took off, did it?) and before that, my NFT experiments. Those are still around, though!

    You may call it AI slop but I’ve generated key images for each of the apps on that page, which I like to think of as analogous to game box cover art, those evocative artistic representations that used to stretch truths to their breaking points, back in the days when games looked like Lego.

    Here they are, just so you can admire them.

    The latest for now is CommonVerse, my daily magnetic poetry app. Give it a go!


    I’m writing this paragraph on Thursday after another failed attempt to stop vibe coding and focus on other pursuits. So far I’ve mostly finished one project and started on another that I meant to leave aside until next week. What is this feeling? This need to actualize a new ability that I’ve always wanted but never had to worry about not having?

    Instead of being able to recognize that I’ve already accomplished a lot, and “taking the rest of the week off” to go watch movies or something, I’m sucked into continually iterating and improving upon these apps like I’m on a deadline. It’s that paradox (mentioned here last May) where new technologies don’t decrease our workloads but only make us busier instead.

    Productivitymaxxers will say this is fine. This is how it’s supposed to be: you can do more, so you work just as hard and get twice as much out of it. Why would you want to work half as much? And they’re not wrong — that’s the engine of progress. But it’s also how you end up making six apps in three weeks and treating it as some kind of baseline rather than a miracle. As predicted, my capability has grown but I got desensitized to the satisfaction.

    The discomfiting shock to the system as I struggle with this resetting of scale, and feeling addicted to realizing more ideas, is an adaptation crisis. Adapting to life at a new speed and learning to balance capability with sensibility. Astronauts and pilots have to train to handle G-forces, in which the G stands for gravitational. I’m suggesting that working with AI has its own G-force, where the G is gratification. You can suddenly manifest many of the things you can think of. That’s a very powerful impulse to get under control. How do you engage with life’s responsibilities, appointments, or your growling stomach, when there’s always just one more prompt and revision to make? After getting home from a few drinks on Friday night, I found myself on my laptop in bed after midnight, fighting with a procedural audio generation engine that wouldn’t trigger drum sounds for any obvious reason.

    The next night I did the same, staying up to 3:30 AM because I had some new ideas that just could not wait. My Apple Watch sleep score is in shambles. But App #6 is certainly shaping up to be my best work. I’m going to sit on it for a whole week and keep polishing, instead of putting it out and moving on to the next one. That’s my strategy for slowing this down — it’s all I’ve got.


    Over the weekend, I also attended an Apple Store photo walk activity on a sweltering afternoon (up to 36°C next week) with Cien and Peishan. I hadn’t done one of these in years, but always keep meaning to. This one was conducted by the staff at Apple Orchard, and was a walking tour of Emerald Hill — which in reality is just a tiny street off Orchard Road. I’ve been there dozens of times over the years, but never saw the details just sitting there in tiles, old paintwork, and ornamental doorframes. Going to a small area with the intention of taking photos, and giving it more time than you’d normally allocate, can be a really fun and creative exercise.

    There’s no reason one couldn’t do this themselves any time, anywhere, of course. But these free ‘Today At Apple’ sessions are a good excuse to get off the couch. The other two local stores have their own programs, and I might check them out someday: Apple Jewel Changi Airport looks at the indoor waterfall, and Apple Marina Bay Sands has a night photography focus.

    Another nice touch is that they’ll lend you an iPhone 17 or 17 Pro if you don’t have one, and they’re incredibly relaxed about handing them out. No paperwork to fill out or deposits to pay. That’s the great thing about Find My protection, I guess. A comment was made that in the UK, those phones would disappear the instant the group left the store — even if just for parts. But they must do these sessions worldwide, so I’d love to know how it’s dealt with.


  • CommonVerse

    CommonVerse

    Play at commonverse.app


    Magnetic poetry for a post-Wordle world.

    Every morning, everyone on the planet wakes up to the same handful of words. Drag them around the canvas. Arrange them into something — a poem, a phrase, a punchline, a prayer. Save it to show your friends, then come back tomorrow.

    No scores. No wrong answers. Just you, today’s words, and whatever you make of them.


    How it works

    New words drop at midnight in your timezone. They’re a mix of nouns, verbs, and adjectives, enough to build something with. There’s a bin in the corner where you can drag unwanted words to, freeing up some space. You’ll also find a few connector words stashed in the bin every day to help you create your masterpiece. Tap words once to make them bigger. When you’re done composing, click the Share icon to save an image with the day’s date.


    Three themes

    CommonVerse comes dressed for the occasion.

    • Fridge Magnets puts you in front of a stainless steel door covered in letter magnets and a few decorative surprises.
    • Notebook gives you dot-grid ivory paper, a bookmark ribbon, and a handwriting font.
    • Typewriter goes analogue all the way — classic typeface, paper bail, wire mesh bin.

    Everyone gets the same words each day. What will you do with them?

    Play CommonVerse →


    Change log:

    • 01/04/26: Added two new themes: Label Maker and Zine. Improved UX with swipe-to-dismiss and made the “trash can” into a pop-over tray. Removed tile collision so creative players can make up new words.

    Disclaimer: I made CommonVerse with the help of Google’s Gemini 3/3.1 Pro LLM and take no responsibility for any damage or disappointment.


  • Week 11.26

    Week 11.26

    If you thought I was going to stop after last week’s two apps, I wouldn’t blame you. I’ve been having poor luck staying focused on new hobbies and pursuits over the past year; they all just seem like too much work for too little payoff and I drift off. Vibe coding seems different so far because it lets me start making weird things that I want to see, without being dependent on anyone else’s time or generosity.

    If you think in terms of music albums/careers, then Collagen was the mixtape that I put together to see if I could be a real musician. Urban Jungles was a big leap forward, the debut album, if you will. It had way more polish and was usable by almost anyone (whereas Collagen had what you might call a niche audience).

    Which brings us to the sophomore curse or slump. The second album tends to be over-ambitious, myopically conceived, and underwhelms audiences looking for more of what made the debut good. There are exceptions to this mythical rule, like Radiohead’s The Bends, Lorde’s Melodrama, and D’Angelo’s Voodoo. By this logic, my next app was statistically going to “fail” by being a harder one to get into.

    I ended up making two apps again this week: SkySpotter and Library Supercollider. Each one has a separate page on this site that shows and explains what they are, so you should stop here and go read them before coming back.

    Like a sophomore album, SkySpotter probably reached a little too far. It took the real-time weather data angle from Urban Jungles, added the more complex dimension of real-time air traffic data, and then threw in rendering a first-person 3D world as a bonus challenge. I started refining the concept and prototyping it on Sunday afternoon, and then worked on it for two full days on Monday and Tuesday. I literally forgot to eat lunch, and was still messing with it at 11pm both nights. It was like a job.

    Gemini 3 struggled. The Canvas chat became so long and convoluted that it won’t even load now in the iOS apps — I have to use the web interface. It hallucinated making changes, and introduced new bugs each time I made an improvement. It built planes with reversed wings and nose cones pointing backwards. Working with bugs in a 3D app was so blood-boilingly frustrating that I wanted to give up.

    I actually did give up… on implementing a VR mode for Apple Vision Pro. We got it to half work but the skybox sphere was too far away and would keep turning black. Rather than risk corrupting the working regular version any further, I decided to cut it.

    I’m proud of SkySpotter because it’s pretty damned cool to lie in the virtual grass and watch real planes go by. Even as someone who doesn’t care about planes more than the average person! But it was a technical challenge first and a passion project second. So if that was my over-produced sophomore studio album the label breathed down my neck for, then the next release would be its opposite: a scrappy, self-funded back-to-roots project recorded directly to tape in a Nashville studio over an inspired couple of days.

    Library Supercollider was an idea that came to me all of a sudden after I’d finished SkySpotter. I’d been interested in the concept of cut-up poetry since I was in university (popularized by Brion Gysin and William Burroughs around the 1960s), and I believe it occurred to me back then that someone could make a computer program to cut up and mash two classic texts. I just didn’t know it would be me, twenty years later.

    I expected it would take me the next couple of days to get working, being that it requires the somewhat complex-sounding downloading and processing of entire ebooks in the background of a web app. I didn’t know if it could even be done. So imagine my surprise when I had a working prototype by lunchtime on Wednesday. But between polishing the experience and overcoming download limits with Project Gutenberg servers, I wouldn’t be done until Saturday morning, making it a longer project with different challenges — comparatively less frustrating, more educational.

    I understand that it’s not an app for everyone — you might read a page and conclude that it’s worthless gibberish. Maybe it takes the sort of person who likes abstract art and free jazz. But personally I’m so pleased with this project that I’ve bought two domain names to go with it: librarysupercollider.com and the superior smashmybooksup.com, which I’ll retain for a year as a ‘marketing URL’.

    In all seriousness, I think this is the finest work of my two-week career as a builder of software! The user experience for remixing and reading the resulting texts is brilliant, if I do say so myself. The steampunk UI and animations are completely unnecessary but bring me joy (notice the moving gears in desktop view). I had to come up with caching and proxy solutions to make the app more reliable under load. I even got a little into the weeds: installing node.js and Vite on my Mac, running scripts in the terminal, trying to compile a macOS port to get around problems (eventually unnecessary).

    Even if I were a skilled and experienced developer, I can’t see how I would have made these apps in two weeks; from writing to designing and coding them up, plus preparing documentation and website copy (plus one very dubious video ad). Deploying Library Supercollider to its own domain made the reality click for me, a feeling kinda like publishing your first thing on the App Store. It says: this thing is now real and can be used by real people.

    Then I came across this article in the NYT Magazine, entitled “Coding After Coders: The End of Computer Programming As we Know It”. It notes an interesting inversion of what we’re seeing in other fields — AI is taking away the drudgery of programming and leaving the human, soulful (and fun) parts.

    “The work of a developer is now more judging than creating.”

    In that way, I may not have magically joined the ranks of coders overnight, but I could probably say I’m developing. At my job, I used to direct the form of apps in a way so removed that I could only claim the role of design, but not the larger making. Part of the handwringing in design circles today is precisely about how designing and developing are merging, and soon only making will remain.

    Not everyone will bother to turn their ideas into reality, and fewer still have the experience and vocabulary to prompt polished apps distinct from the models’ averaged-out defaults, but those who persevere will be bringing tools and toys into existence the likes of which you may have been waiting decades to see.

    What’s next? Well, I might have a couple of ideas…

    One thing all this app-making has done is bring me back to my Mac. I usually spend most of my computing time on my iPhone and iPad, but there’s no substitute for a Mac when it comes to managing local files, running scripts and compiling code. I’ve had coders like Michael make this point to me before, but I never got it because I never needed to sync a local repo with GitHub or anything before.

    So a side effect of spending long stretches of time on my five-year-old and long-neglected M1 MacBook Air is that I’m wondering “Why did I ever stop? This thing is great!”

    It’s worth noting that this week Apple’s newly released MacBook Neo has been getting a ton of praise on my social feeds for being an affordable and all-round capable machine at an unbelievable $599 price point. I got a tear in my eye as I read this essay by Sam Henri Gold: “This Is Not The Computer For You” — it perfectly encapsulates what it was like to grow up on computers and teach yourself things, even on PCs.

    Too much screen time is awfully bad for you, so on the weekend I touched some metaphorical grass by taking our niece out to Disney on Ice at the Singapore Indoor Stadium. It’s extremely well-timed, with the world still coming down from Alysia Liu’s gold medal, and Singapore being in the midst of a Disney craze — a Disney Cruise offering has launched after delays and is now at the local docks, with fireworks and drone shows along the bay at night.

    These were Live Photos of some stunts

    I have no deep affection for Disney IPs but appreciate the amount of effort and coordination that goes into making magic, and it clearly works with so many adults into this stuff. What’s interesting is that while ice-skating can get pretty boring after awhile — it’s all the same moves over and over, around a static rink — adding a layer of characters and storytelling works to keep it fresh over an hour and a half.

    Oh, and our niece is 9, and by way of introducing her to the MacBook Neo, I asked her what computer she uses. I swear, her response was not far off the punchline in that Apple ad that everyone but me seems to hate, in which a girl who’s been using her iPad all day for creative things is asked what she’s doing on her computer, and she responds “What’s a computer?” Will iPads become open enough to support kids learning to (vibe) code? Or will nature heal in a post-post-PC revival led by the MacBook Neo? In any case, that ad was prescient.

    Bonus: Steve asks the same question in a different context (around 1:30). You must watch this video, it’s breathtaking. He’s 28 at this point. In addition to confidently describing things like Street View, mobile wireless computing, LLM chatbots, and the App Store, there’s a part near the end where he says “What we need to do is get away from programming. People don’t want to learn programming, they want to use computers.” He was talking about providing more finished software products to customers, because writing custom software was the norm then, but it’s an eerily relevant quote!


  • Library Supercollider

    Library Supercollider

    Go to SmashMyBooksUp.com or LibrarySupercollider.com

    In 1959, William S. Burroughs took a pair of scissors to a page of text, rearranged the pieces, and taped them back together. His argument was that linear language was a control system — that by cutting it up, you could slip between the lines and find what was actually being said. Library Supercollider is the logical conclusion of that idea, scaled to over 10,000 books from the Project Gutenberg archives. CERN could never imagine.

    Pick any two public domain texts and collide them. The engine samples a selection of pages and forces two authors who never met into a shared narrative space they never consented to. How it’s taped back together is up to you:

    • Paragraph level: Preserves some structural dignity.
    • Sentence level: Grammar survives, but sequence does not.
    • Word level: Sweet, nonsensical poetry.

    A source tracking mode colour-codes the wreckage by origin, in case you need to know who to blame for a particular sentence. The interface is intentionally a slot machine, and what emerges is not literature, exactly. It is also not not literature — which puts it in good company with many award-winning books! Burroughs believed the cut-up revealed hidden structures beneath the surface of language. Library Supercollider gives you the tools to find them for yourself.

    Desktop view
    Mobile view
    Mobile reading view with three modes

    And just because I had some time and Veo credits to spare, I thought I’d try my hand at making an over-the-top video ad to show it in motion on social media. Which meant a portrait video. Definitely stepping out of my comfort zone here.


    Disclaimer: I made Library Supercollider with the help of Google’s Gemini 3/3.1 Pro LLM. The authors of Project Gutenberg’s texts were not consulted, but they are hardly in a position to object.

    Related blog post: Week 11.26