Olly Markey That’s me
Curious about projects? I’ve put together a few questions below. Pick one to take a closer look.
Prepared responses. A real streaming interface.
Work, decisions, and the code behind them
This personal workspace brings together content, frontend state, and a streaming API. Start with the project in front of you; more case studies will follow.
Three approaches to a considered interface. React, Svelte, and plain HTML, brought together with Astro islands. Explore each example, then look under the hood.
Choose an example below. Interact with the component, then open its code to see how it works.
AI introduces a new UI challenge: the answer isn’t always immediate, and attention is scarce. A loading state should explain what’s happening and offer useful interaction, not just a spinning icon. Try shaping the result while this demo works.
Add, remove, or shuffle the list. Svelte keeps each item’s identity and animates it into place, making every change easy to follow.
Four items. Try mixing them up.
Up to six items. Keyed identity, enter/exit transitions, and FLIP movement.
An interactive component doesn’t always need a framework. Native HTML provides the disclosure, CSS animates it, and a small vanilla script coordinates opening and closing.
Some of the best components are already in your browser.
Native HTML handles the disclosure. A little CSS and vanilla JavaScript animate the opening and closing, without a JavaScript framework.
Less code to download, fewer behaviours to rebuild, and useful content available before any JavaScript runs. Add a framework when the interaction actually needs one.
Yes. Tab to a question, then press Enter or Space to open it. The browser handles the interaction.
Native disclosure. CSS motion. No framework.
Built with Astro islands. Each example owns its own behaviour.
Interactive examples. No AI requests or streamed replies.