Built Before Boarding: Win95 Style, Fire Sprites, and a Flying Start for Caffeine

The first-ever project built using Caffeine, an AI-powered app builder on the Internet Computer Protocol (ICP), was created by Kristofer Lund while waiting to board a flight. Kristofer, who works in developer advocacy at DFINITY, used the moment to test-drive the then-unreleased Caffeine tool and ended up with a fully functioning membership management app—complete with 90s nostalgia, playful animations, and a surprisingly deep feature list.

It all began with a straightforward prompt: build an app to manage members for a small local association. Users would register with their name, surname and email address. Address validation needed to happen canister-side. That could have been it. But once Caffeine delivered the basics, Kristofer went off-script. “Give the app a Windows 95 theme,” he prompted. The result? A delightfully clunky throwback UI complete with grey panels, classic fonts, and chunky buttons that transported the whole experience back a few decades.

From there, the prompts got bolder. Kristofer asked for a visual effect when switching views—from member list to member detail. Rather than fade transitions or modern animations, he opted for something a little less… conventional: fire sprites fluttering from bottom to top or a cartoon explosion. Caffeine didn’t blink—it added the requested animations.

Then came the big ask. Kristofer requested 1,000 test users to simulate a more realistic dataset. But with size came issues—UI overload, duplicated entries, and list navigation headaches. To keep the retro vibe, he had Caffeine limit each screen to 10 names and added arrow buttons to flip through the list like a digital Rolodex. The result was somehow both absurd and charming.

But bugs appeared. Some seeded users didn’t show. The addMember function returned only false, and no one knew why. Kristofer then asked for better error feedback, suggesting a switch to Ok/Err responses. Caffeine responded by updating the logic for easier debugging. And then the validation trouble arrived—emails like john.evans@example.com were failing the check.

That’s when the back-and-forth really got interesting. Kristofer kept prompting. Fix the duplicates. Improve the validation logic. Rethink the entire way email addresses are generated. Caffeine didn’t complain, it just kept trying. While the seeded user count was eventually dropped to 100 to keep things manageable, sorting features were added with ascending/descending toggles for both names and surnames, complete with direction arrows.

Kristofer then issued one last request—for fun. “Add 10 features you think should be included to make this membership management system more complete. Lean on proven patterns and use cases but also surprise and dazzle me.” The result was a mix of expected admin tools and unexpected creative flairs. He admits he hasn’t even tried all of them yet.

Throughout the process, he used only an earlier version of Caffeine—an older iteration than the one recently demoed by Dominic Williams onstage. Even so, this earlier version delivered an interactive, stylised, and bug-sprinkled app within roughly one hour.

The final product is live at https://members-6096.caffeine.site. The entire source code and prompt history is openly shared on GitHub at https://github.com/kristoferlund/caffeine_members. It’s not just the output that’s on display—it’s the whole conversation between human and AI, complete with laughs, errors, and fire sprites.

The fact that this was the first public experiment with Caffeine makes it more than just a fun side project. It’s a clear signal that AI tools on ICP are now capable of turning prompts into living code—quickly, iteratively, and with a touch of retro flair. It also shows that you don’t have to be writing code line by line to ship something that looks and feels alive.

There’s also something very honest about the whole process. Kristofer didn’t tidy it up for presentation. He posted it raw, with broken seeding, dodgy email checks, and sorting bugs all visible in the GitHub commit history. Yet the app works, and it’s already more usable than many over-designed SaaS dashboards built by large teams.

It helps that Kristofer is deeply familiar with ICP and was willing to poke and prod Caffeine beyond its comfort zone. But it’s also a testament to what the tool can do under pressure—airport lounge pressure, no less. While others were scrolling socials or sipping flat whites, Kristofer was building an app that makes clicking a user’s name explode with pixel fire.

As for what’s next, Caffeine will continue evolving. The demo shown by Dominic Williams used a more advanced version, suggesting even smoother workflows, smarter debugging and cleaner outputs. But this first project sets a fun precedent: AI can help you ship quickly without losing personality in the process.

It’s not trying to replace developers. It’s just giving them a chance to let loose, test ideas, and build something—even something silly—without spending the entire day stuck in a loop of boilerplate and validation bugs.

This membership manager might not be winning enterprise contracts, but it achieved something else: it entertained, it worked, and it sparked curiosity. That’s a solid achievement for an app built before takeoff.


Dear Reader,

Ledger Life is an independent platform dedicated to covering the Internet Computer (ICP) ecosystem and beyond. We focus on real stories, builder updates, project launches, and the quiet innovations that often get missed.

We’re not backed by sponsors. We rely on readers like you.

If you find value in what we publish—whether it’s deep dives into dApps, explainers on decentralised tech, or just keeping track of what’s moving in Web3—please consider making a donation. It helps us cover costs, stay consistent, and remain truly independent.

Your support goes a long way.

🧠 ICP Principal: ins6i-d53ug-zxmgh-qvum3-r3pvl-ufcvu-bdyon-ovzdy-d26k3-lgq2v-3qe

🧾 ICP Address: f8deb966878f8b83204b251d5d799e0345ea72b8e62e8cf9da8d8830e1b3b05f

🪙 BTC Wallet: bc1pp5kuez9r2atdmrp4jmu6fxersny4uhnaxyrxau4dg7365je8sy2q9zff6p

Every contribution helps keep the lights on, the stories flowing, and the crypto clutter out.

Thank you for reading, sharing, and being part of this experiment in decentralised media.
—Team Ledger Life

Subscribe

Related articles

IC-Auth Makes Internet Computer Logins Easier for Developers

A new version of IC-Auth has been released, offering...

CLOAD Funded NFTs to Launch On-Chain with ICRC-7

CLOAD has announced that NFTs from its funded campaign...

Plug Extension Rolls Out Subtle Tweaks for a Smoother Wallet Experience

Plug has quietly released a series of updates to...

vetKeys go live on dMsg.net, bringing on-chain encrypted messaging to ICP

The ICPanda DAO has announced the activation of vetKeys,...

KongSwap tweaks its APY tool for clearer yield insights

KongSwap has quietly rolled out an update to its...
Maria Irene
Maria Irenehttp://ledgerlife.io/
Maria Irene is a multi-faceted journalist with a focus on various domains including Cryptocurrency, NFTs, Real Estate, Energy, and Macroeconomics. With over a year of experience, she has produced an array of video content, news stories, and in-depth analyses. Her journalistic endeavours also involve a detailed exploration of the Australia-India partnership, pinpointing avenues for mutual collaboration. In addition to her work in journalism, Maria crafts easily digestible financial content for a specialised platform, demystifying complex economic theories for the layperson. She holds a strong belief that journalism should go beyond mere reporting; it should instigate meaningful discussions and effect change by spotlighting vital global issues. Committed to enriching public discourse, Maria aims to keep her audience not just well-informed, but also actively engaged across various platforms, encouraging them to partake in crucial global conversations.

LEAVE A REPLY

Please enter your comment!
Please enter your name here