Dan Corin

@danielcorin.com

Software Engineer, AI Engineer and Coach Running wvlen: https://www.wvlen.llc I write at www.danielcorin.com and build stuff at https://github.com/danielcorin

For my stateful agent, I run a private, real-time dashboard on top of a Cloudflare durable object. This allows me to monitor tool calls and progress without needing the agent to constantly send messages to my chat client. These events are read and published directly from logs.

Bild

My stateful agent has been deploying websites and apps it builds during its autonomous work blocks. Before this, it posted interactive pages to its blog. Before that, it wrote posts and before that, scripts and simulations on its VM. Usually, I need to show it the way before an architectural leap.

I’m experimenting with building, persisting, and running code itself from ATProto. Most apps use ATProto to store content for the app. This approach treats the code as content. The app can be loaded using a viewer that anyone can implement, login with Bluesky, storing data as ATProto records.

Maybe it's just me but I really enjoy making chat components to narrate language model conversation for my blog posts and in general. This has been one of the deepest forays into design that I've taken, trying to get these to look just how I had in mind.

A one turn conversation between a user and the language model gpt-4o-mini with a system prompt. The system prompt asks the model to respond to the user as an experience software engineer. The user prompts the model to explain a Hugo shortcode. The model outputs an explanation.A one turn conversation between a user and the language model llama3.2. The user prompted for Python code and the LLM outputted the code. The UI shows the code with syntax highlighting.A conversation between a user and the language model gemma3. The model is outputting short, valid programs in Python and Swift. The UI shows minimal rendering of the markdown output from the model. The window hovers above other windows in the background.

Having done a lot of vibe coding lately, I think I’ll move away from it exclusively. Current agents eventually fail to adhere to some prompt despite various attempts and approaches. Whenever this happens and I look in the codebase I am usually mortified by what I find.

What happen to completion models like `text-davinci-003`? Why does no one train or release these types of models anymore? Maybe I am just romanticizing early models, but I recall this model being much more steerable that chat models because there was no bias to responding conversationally

Vibe coding is tantalizing in that it often can feel like you’re one prompt away from solving a problem when you are not. I’ve wasted plenty of time rolling the dice with the Cursor agent when I could have just dug in and done the work (even LLM assisted in a lower level way) and finished faster.

I’ve been experimenting with feeding around 200 log posts from my site into an LLM to summary, following a certain template structure. The result have been pretty promising with Haiku and Sonnet. With a bit of prompt eng, Gemini also does well.

I open sourced my app, Delta, a UX for local-first conversation branching with LLMs. It let's you "rewind" and take conversations in different directions. You can also swap models, temperature and top_p to see how the model responds changes you make and support images. github.com/danielcorin/...

Bild

Currently playing around with a prompt+sketch as an input to an image-to-image model. It feels like cheating but it's incredibly effective for translating initial ideas out of your head.

BildBild

Playing around with D3 in React/Astro to create from UX experiments for conversation branching. This attempt didn't quite go as planned.

A visual representation of a branching conversation about machine learning. The conversation starts with "What is machine learning?" at the top and branches into two paths. The nodes are repeated in different sizes, indicating some kind of render error or glitch occurred.

Tailwind/React are a potent combo when building UIs with LLMs. Why is that? Sonnet seems biased towards this stack. I’d guess this is due to training. However, it also feels like co-location of style and structure would make it easier to effectively steer the model’s output through prompting.

Who is building an idea and latent space explorer? Sort of a hybrid of a thought partnership and knowledge web traversal. I’m still mulling on what the UX could look like but I think it involves conversation branching, semantic zoom and some kind of topic clustering.

I’ve found software engineers to be surprising holdouts in adding language models to their workflows. I’m unsure if this is due to some kind of preference for probable correctness that comes with the territory of writing code or something else. Often I hear “the model gets it wrong (isn’t perfect)”

I’m not convinced it will be possible to rely on different models/providers for redundancy for a product use case. We can write evals and run across multiple models to validate parity but as model APIs seem to be diverging, I wonder if we’ll be able to avoid committing to a single provider.

Great writeup from Simon as always. I recently used LLM-generated code to debug a similar AWS networking issue: testing TCP, ping and telnet connectivity, SSL certificate verification, and even constructing a full request body from scratch in binary with just a short prompt to the model.

Simon Willison@simonwillison.net · 2y ago

I figured out a prompting pattern for getting Claude to produce fully self-contained Python scripts that execute with "uv run" using PEP 723 inline script dependencies - and now I can one-shot useful Python utilities with it simonwillison.net/2024/Dec/19/...

These are pretty nice My pelican on a bicycle prompt is intended to be deliberately absurd and hence very difficult to produce anything remotely "good", so it's fun to see that SVG sunsets can produce quite pleasing images

Dan Corin@danielcorin.com · 2y ago

Inspired by @simonwillison.net's pelican-bicycle repo, here are some CSS sunsets by gpt-4o, claude-3-5-sonnet and gemini-2.0-flash-exp. Sonnet and Gemini animate the birds and clouds. Prompt: Generate pure HTML/CSS art of an extremely detailed, beautiful sunset. No talk or code fences. Code only.