Lab
Experi-
ments.

About this site

A collection of hobby projects built while exploring AI-assisted development — genuine attempts to ship useful things, and a chance to watch what happens when a language model is always in the room.

EXP-001
Mr. Timely
Activity Session Timer
live

Plan a fixed block of time, add named activities, and let the timer guide you through each one. Features an AI session planner and shareable session summaries.

Next.js TypeScript Tailwind CSS OpenAI
Duration or deadline mode
Named activity list with time budgets
Live progress visualisation
+ 2 more → view project
EXP-002
BrewLog
Coffee Brewing Journal
live

Track every brew session — beans, method, grind, ratio, brew time. Share sessions with the community and build a personal taste profile over time.

React Supabase PWA Vite
Multi-step brew logging wizard
Community brew feed with filtering
Star ratings and tasting notes
+ 3 more → view project
EXP-003
Rusty City
Terminal City Building Simulator
in development

A city building simulation written in Rust, rendered entirely in the terminal. Manage budgets, bus routes, citizens and city policies. Watch your city grow — day by day, event by event.

Rust Ratatui TUI Simulation
Citizen lifecycle: birth, employment, commuting, ageing, death
Bus route network built by connecting buildings
Budget, income and economic simulation
+ 4 more → view project
EXP-004
Words Are Snake
Word-Steered Snake Game
live

Type words to steer a snake across a grid. Each letter moves the snake one step. Longer words cover more ground. Daily challenges, AI duel mode, and leaderboards.

React TypeScript Vite i18n
Word-steered snake movement (U/D/L/R letters)
Daily challenge with shared seed (same board for everyone)
Leaderboard with daily rankings
+ 3 more → view project

About
this
project.

I'm a developer based in Norway, curious about how AI tools are reshaping the way we build software.

Each project is a genuine attempt to build something useful while paying close attention to the process. Where does AI help? Where does it get in the way?