Category: ai

May

2025

This Library Doesnt Exist

(A collection of completley AI generated books)

This Library doesnt exist is a collection of books generated by AI. from a 45,000 word fantasy epic to a zaney childrens adventure, the library contains a wide range of genres and styles.

I have always found the idea of creating something that creates something to be interesting, and so AI felt like the next logical step. The idea was to create a framework where I had little to no control over the output, and see what would happen.

The site is split into two parts. A local app that generates the books, and a public site that displays them. The generation is almost entirely handled by AI. The only human input is the initial prompt, which is suggested by AI but can be edited. After that a reasoning model is used to determine the structure of the book, and then then image generation makes the cover and a regular LLM is used to write the chapters. (cursor was also used in the creation of this project)

I struggled with how to approach laying out the website. Each book has a large amount of interesting data, from writing styles to tones and even a 'north star' principle. In the end I stripped all of that away from the user experience and just focused on the content.

I also experimented with using a EPUB reader embeded into the website. This was an interesting challenge, but in the end I realised it didnt benefit the user experience and so it was removed. In its place I provide a link for the use to download the EPUB if they would like to use an e-reader.

Jan

2024

Good Morning AI

(The radio station run by robots)

Good Morning AI is a radio station where the scripts, voices, music, and schedule are completely controlled by AI. It's an idea I've wanted to create for years, but with the huge advancements in AI in the last few years, it finally felt like the right time to make it happen.

It became immediately obvious that working directly in the console to tweak prompts, iterate on outcomes, and stitch together different APIs was tedious at best. To try and make the build process smoother, I created a dashboard powered by Express, React, and Tailwind to quickly build the tools I needed to help me realize my vision.

This project came with a lot of technical hurdles despite the fact that the AI heavy lifting was done for me. I think the most interesting lesson for me was in adapting to a new paradigm of interacting with software. Both in terms of prompt engineering and also the API itself. For instance, being able to present the AI with a TS object and request for its response to fit that definition streamlined the process. Although this would be risky in a production client-facing application, when it came to making quick MVP tools, it allowed me to quickly and easily iterate. If a type needed to change, then the response from the API would automatically update to match it.

Oct

2023

Pitch, Please!

(A fast-thinking social game about pitching startup products)

How would you sell a 3D food printer? What about a biodegradable toothbrush? Or an easy one: a lovely cup of coffee?

In this social card game, you are tasked to do just that, but with a twist. Players take turns to be a "pitcher" and sell a product from their hand to the rest of the group. However, when they finish their pitch, everyone submits a card, which is then shuffled and shown. Everyone must guess which product they think is the pitcher's and will score points for anyone they trick. The pitcher has the most difficult job, as they will not receive any points if everyone guesses their product.

Pitch Please was a board game that could only exist thanks to the iterative powers of software. Creating a React app to design cards allowed me to quickly dial in the look and feel of the game and prototype different rules and mechanics with ease.

Using AI to generate the imagery fit well with the 'startup' premise of the game. It allowed me to easily create any product, no matter how wacky. The biggest challenge with the implementation of AI was in generating a consistent style so that the game felt cohesive.

Dec

2021

Shout 'Em Out

(A category guessing game with an AI twist)

"Shout 'Em Out" is a re-envisioning of one of my childhood favorite games. The premise is simple: each card contains a category. The opposing team simply needs to try and guess the top 10 answers to that category... the catch? You're not looking for the right answers, you're looking for the ones LLMs circa GPT-3 think are the right answers.

The game was created to explore LLMs and OpenAI's API. Although far from the models we see now, I was blown away by the demos I was seeing and wanted to experiment with it myself. I created a simple app to propose categories and parse the responses into lists of answers. This tool gave me easy access to regenerate or nudge responses, as well as to correct Americanized spelling or remove duplications.

Once I had my categories and answers, I created a React app to generate the cards using print CSS queries, easily printing off the final version. This was the day I learned that I hate styling print media :). The software allowed me to easily generate over 100 cards and iterate on the design and layout with minimal effort.

The final product was a fun game that I could play with friends and family, but also a great learning experience in the power of AI and the benefits of software in the physical world. It also taught me a valuable lesson in the capabilities and dangers of AI, most importantly the subtle (and sometimes not so subtle) biases that these models have and can represent.

Dec

2019

Booze bot

(A drink pouring robot)

Booze bot was a collaborative project with me and Matt. The idea was simple: make a robot that could pour the perfect drink. The execution was a little more complicated. combining software, hardware, and mechanical engineering meant the challenges were near endless. From broken tubes to erratic webpages we battled our way through the obstacles and the resulting pour tasted all the better for it.

Although just a fun project with a friend, Boozebot really taught me about the implications of a cross disciplinary project. Each additional part is an entirely new surface are to go wrong and so the approach needs to be more methodical and considered.

Jul

2016

White Clarke Group

(Innovation and presales consultant)

As the sole representative of the innovation lab, I created software to demonstrate and explore new technologies. From VR to AI I had to assess a technology, build a proof of concept, prove a business case and present to clients.