Things I built because something was bothering me.
a beach you can walk into
I wanted something more than a page. I wanted a place. So the home page is a painting of a beach on Paros, and the things in it are the navigation.
I built a tool that gives my agents the ability to create scenes. They follow a specific design pattern and process: generate an image with AI, run a script that splits it into an SVG, and then add the watercolour animation. Each painting is split into its pen lines and its colour. The lines draw themselves first, and then a small fluid simulation floods the colour in with three pigments, the way a wash behaves on wet paper.
walk back to the beach →
painted aug '26 · still wet · made with emil-design-eng, unslop
where old kites go
A free community for buying and selling used kitesurfing equipment in Greece. There is no business model. It's free, it takes no cut, and it exists purely for fun.
I also often use usedgear.gr to test experimental agent workflows and skills, on a quest to make it feel like a self-healing, self-evolving piece of software.
visit usedgear.gr →
started mar '24 · still running
finding out if my skills are any good
An agent skill always looks better to the person who wrote it. I had written a lot of them, and each one had grown a little longer than it needed to be, and I couldn't tell anymore which parts were doing the work. So now two sessions run side by side, one with the skill and one without, and I have to choose before I'm told which is which. Being wrong in private turns out to be very useful. The numbers afterwards show me what to cut.
I'm also tired of dev tools that all look like the same grey rectangle, so this one has a mascot. It walks along the prompt box and plays with a rock while the models think. Building the mascot turned into a skill of its own, and seven minutes after I wrote that skill it was in Skill Arena being tested.
get it on Glaze →
built aug '26 · still tending · made with app-mascot
a tap on the hand, not a shout
When I don't work from the office I often slouch, so I decided to build a non-invasive tool for reminding myself to sit up straight. Nudge doesn't shout. It glows softly around the edge of the screen and taps the trackpad under my hand.
The tap was the hard part. A single one is too faint to feel through a resting hand, and taps fired too close together blur into one buzz, so the strength had to live in the spacing between them. When on a call, it draws nothing at all and only taps, because nobody on a shared screen needs to know about my spine.
get it on Glaze →
built jul '26 · on the glaze store
Claude Sessions
where all the tokens went
Everybody deserves to have one of these. AI companies have been subsidizing our usage for long enough, and it's important to understand what working with their tools would cost if they weren't. Claude Sessions shows stats about my usage and costs, and gives me a rough idea of how much I would have to pay Anthropic to ask Fable to turn my portfolio into a watercolour drawing.
built in a day, jul '26
progressive-complexity
start simple, earn the detail
Agents like to open with everything they know. This skill tells them to start with the least technical version of an answer and add depth only when it is needed, the way a good professor would with a room of students. It runs on every conversation I have, and it is barely a page long.
agent skill
tldr
the forty-second version
Agents write long. When I type tldr, this skill squeezes whatever came before into something I can read in forty seconds: what it means, what it assumed, what was decided, what is blocking, and what happens next. It has to stay under 150 words and it is not allowed to add anything that wasn't already there.
I wrote it as a teaching example for the skills day of our AI course, and then put it through Skill Arena like everything else.
agent skill
gsap-animations
motion that cleans up after itself
I kept asking for the same kinds of animation, loaders, scroll effects, text reveals and page transitions, and kept re-explaining how I want them built. This skill holds the rules I care about: gate everything on state, query the DOM defensively, and always clean up on the way out.
agent skill
Velais quiz
three hundred phones in one room
We run a four-day AI course at Velais, and the live quizzes used to run on tools like Mentimeter and Kahoot. I built a small replacement in the same style that we own. Phones join with a code, the presenter drives, and the points fall from 1000 to 500 the longer you think.
The first live sessions lagged once the room filled up. I simulated 300 phones and found the server rewriting its entire state file every time anyone answered. After the fix, the slow answers went from 611 milliseconds to 33.
built sep '26 · velais
Velais MD Preview
documents that come out dressed
We use markdown more than anything these days. But sending a .md file to a customer is not the brightest idea. MD Preview renders the markdown itself with full Notion-style editing, as well as a Velais-branded PDF with a title and cover page that can be shared with a customer instantly.
built feb '26 · velais internal · made with velais-ui-design
Wind notifications
permission to leave the desk
An n8n workflow that watches the forecast and messages me when the wind is worth leaving the desk for. It is the smallest thing on this table and the one I would miss the most.
running quietly
Expense OCR
reading the slip so I don't
I don't like typing up receipts. A photo goes in, an OCR model reads it, Claude pulls out the amount, the date, the tax id and the category, and a row appears in a spreadsheet.
The lesson I paid for was about duplicates. Every vendor on earth names their file invoice.pdf, so matching on the filename quietly overwrote real invoices. It matches on the vendor and the invoice number now.
running quietly