RSS Amplifier

Latent Interfaces · Aug 10, 2026

surfing cognitive complexity

0
Sign in to vote or save

Ian Johnson · Latent Interfaces

It’s been a while since I’ve written, having been caught up in the generative frenzy that my work has become. It feels harder to stop and think than it does to ask for more, and the faster you’re going the harder it gets to stop. You also get what you ask for: more. I’ve recently taken to asking for more explanations, becoming numb to markdown rendered in a terminal I began asking for Distill-style interactive explainers on everything from individual pull request reviews to system architecture designs, from tweet threads to autonomous training run results. I’ve asked for this so often I asked for a skill to repeat myself less:

https://enjalot.github.io/moonshine/

It has been intoxicating to generate interactive visuals in minutes that used to take me days. Take this visualization I put together for a project where we are designing a graph-based research platform:

Getting the graph layout with annotated labels and interactions in a just few minutes (with a few pokes in the right direction) is crazy enough, but using scrolling to turn into a sticky mini-map that can interact with the text took only a few minutes more. This kind of thing used to take hours and hours of coding, and now I don’t even read the d3.js its spitting out. I just keep prodding it until I see what I want.

Now that we’re basically walking around with magical genie lamps in our pockets it’s time to make all the explorable explanations we’ve wished for but never had the time to commit to. I’ve started a few series, going all the way back to my masters thesis on smooth particle hydrodynamics:

Or this series on dimensionality reduction:

Kai took it to another level generating dozens of explainers spanning emergent phenomena, parallel coordinates and group theory along side data visualization series exploring earthquakes in Japan or EV battery technology:

I have to be honest though, it is very easy to end up with slop writing. It’s been a bit maddening to get compelling figures in a couple iterations but then having to constantly yell at Claude for using emdashes and overly-dramatic language.

I noticed that while its consistently effective to hone in on the interactions and visuals I want to see by iteratively prompting the prose never really satisfies. That’s often ok when I’m just trying to read an explanation for myself in a more digestible format than raw markdown, but it’s never really something I feel comfortable imposing on someone else to read. In the moonshine examples that I iterated on the most I could have probably written the natural language faster myself in the time I spent prompting it to de-slop.

So I thought, what if I could still write for myself without having to edit the raw html the model is spitting out? Could I somehow have the best of both worlds by writing prose in markdown but still visualizing in full browser glory? I decided to try and the result is a new command /moonshine:still that builds a small React project that allows the article to be written in markdown but rendered with interactive figures.

This opens a lot of direct manipulation opportunities beyond just jumping in and fixing things. Because markdown is a bunch of text blocks, and the figures act as a block, we can easily rearrange the article with controls. We also can have defaults configured for figures that you can override while editing and save them. An extension of this idea is to make it so you can re-layout graphs the agent has made directly:

One of the more surprising capabilities that I ended up adding was the ability to comment on any block, and then have the agent address those comments in bulk. I found myself getting really annoyed trying to give specific feedback on different parts of the article and having to tab back and forth between my browser and my agent. The commenting system works with files and is not harness specific, it just makes sure all the context an agent would need is available with your comment.

I’ve written up the guide to all of moonshine’s features using none other than moonshine:

https://enjalot.github.io/moonshine/moonshine-guide/

It’s got a bit more detail on how these features work if you’re interested, but the easiest thing to do is just point your agent at https://github.com/enjalot/moonshine and ask it to make a still for you.

I hope you make something complex a little easier for us mere humans to understand, and if you do, please share it with me!

No posts

Read the original on enjalot.substack.com

Comments

Nothing yet. Say the first thing.

    Sign in to join the conversation.