(no title)
aed | 15 days ago
A couple of months ago I worked with my 9 year old to have Claude build a little game with threejs. We’ve now got three levels with characters shooting silly string and banana guns. It was really fun to see him imagine something, have it show up on the screen, and iterate it.
Anyway, I tried building an LLM-backed workflow that could guide kids through the game creation process and kids can see their idea come to like (think: “sparkly purple unicorn shoots stars at a dragon”). I couldn’t _quite_ get it to work like I wanted so I shelved it pending future ideas/improved models.
paulbjensen|15 days ago
Some background. I'm a 20-year software full-stack developer (started with Ruby on Rails, then moved to Node.js. These days doing a lot of Next.js/React, and some Svelte in my spare time) - as well as Astro.
I'm the author of Manning's "Cross Platform Desktop Applications" - http://manning.com/jensen.
And this is my GitHub profile: https://github.com/paulbjensen
I run a 1-man web product studio: https://anephenix.com
So, last year after finishing a contract at Volvo Cars, I took some downtime and dabbled with learning Svelte, and managed to recreate a silly little prank I made when I was working at a web agency called New Bamboo many years ago. That little prank then got iterated on, and is now the music editor app at https://lets-make-sweet-music.com.
After that, I created a simple ball-table game using Svelte and Threlte, which is a wrapper around the excellent ThreeJS library. Once I realised that Threlte had support for Rapier physics, I realised that I could make a game, so I made this: https://3d-garden.vercel.app
Usually when you hit a blocking issue, you'd google around and probably end up on Stack Overflow. But last year I increasingly found myself using ChatGPT (I have a $20pm subscription) to ask questions and copy/paste snippets of code for suggestions on how to resolve a blocker.
That process turned out to yield some good results, so I was able to iterate on my ideas and get quite far. My only real limitation is that I have a tendency to lose interest in projects and end up jumping from one project to the next. I also started looking at making a LLM-bot interface to try and create a cyclical loop of bots making other bots do things and implementing the feedback loop.
I also managed to implement an isometric game engine based on an example I'd made using Löve2D (a game engine in Lua), but this time written in TypeScript and using HTML5 canvas. I managed to work on that for quite a bit, but as usual ran out of passion.
In theory, if I can resurrect my passion on it, then I could get it to the stage where it would be possible to play a SimCity-2000/3000 like game entirely in the web browser.
You can see it here http://babsland.com
Based on the work across those side projects, I managed to extract out a library for emitting events http://github.com/anephenix/event-emitter - the purpose being to easily decouple Svelte components and make the logic within those components more modular.
I took up the opportunity to work with a former boss at an e-commerce company based in Sweden, so I recently moved here. It was during that time that I learned that the team had been dabbling with Claude Code, which I hadn't used at all.
I then decided one weekend to have a go at trying to build a pixel editor for Babsland, but rather than do it by hand, I decided to try out Claude Code with the Zed Editor (I needed to switch from VS Code because my apartment didn't have electricity for the 1st week, so I relied on charging devices at work and a great hotel - Scandic Centralen in Gothenburg). I realised that VS Code being an Electron app (after all I wrote a book on Electron and Nw.js) was using a lot of battery, so I switched to Zed.
In a couple of hours at the hotel, I managed to build the beginnings of a pixel editor - which is now https://www.babspixel.com. It was a revelation of an experience.
I wrote about it on a LinkedIn post here: https://www.linkedin.com/feed/update/urn:li:activity:7419056...
Since then, I then tried it out on Let's Make Sweet Music, and added a whole bunch of features and instruments:
https://www.linkedin.com/feed/update/urn:li:activity:7425600...
You can see an example of dragging and dropping a MIDI file of Guns 'n Roses Welcome to the Jungle and playing it with the guitar instrument.
I also managed to code up a silly little game called "Mr Spanky's Meatballs" where you lob meatballs are characters and try to survive for as long as you can, again built in a few hours with Claude Code.
The golf game was an idea I joked with making with my former colleagues from New Bamboo (we keep in touch online to this day, a testament to how good that group of developers were). I then started coding it with Claude Code on Friday evening, and posted about it less than a day later.
I'm using the Claude Code Pro subscription ($20pm), not the Max subscription, so I regularly run into the session quota limits, but that's fine because that allows me to sleep and have a normal work/hobbies/life balance.
As someone who I guess you could describe as a creative developer, I'm so excited by what is possible with these AI tools, and I think that in terms of the software industry, the genie is out of the bottle - I think the biggest challenge is going to be ensuring that the quality of the output improves and meets the threshold we expect - for example, that game has various bugs which others in the comments have noted.
For games and fun side-projects, I'm happy to delegate the coding to AI tools and perform a manual feedback loop of asking it to make one feature/fix at a time, reviewing the output, and either iterating on that, or moving onto the next feature/fix to do.
As for work, I'm not yet confident enough to use AI tools the way I have been using them with side projects. In fact the first thing we're doing with our new project is putting E2E tests in using Cucumber and Playwright so that we can verify that the application (the combo of backend, frontend, databases and other services) works and that we can have confidence in deploying it when those E2E tests pass.
I think that we are in a major transition phases in our industry, and that there is still work to be done to yield the results we want from AI (in terms of quality, accuracy, not hallucinating libraries or API calls that do not exist).
I also want to say that having spent years working with React, I really love the developer experience of using Svelte, and I choose to use it for my side projects now.
aed|5 days ago
I'm going to play with Svelte for some side projects. I've seen it mentioned a few times and I've been meaning to give it a test drive.