AreWeHuman for Web Apps and Presentations
I have always enjoyed making interactive web applications and presentations for communicating science. I learn best when I can explore datasets and results by adjusting parameters, slicing through images, or scrolling synchronized time views. Over the years I developed coding skills that have allowed me to efficiently create these interactive pages. It was a lot of work, but I felt that it has paid off, and I enjoy doing it.
Now we have entered the age of AI-assisted coding, and things have changed quite a bit. On the one hand, it is a lot easier to new create content. At first this was exciting. I used code completion tools and found that I could create more, with reduced carpal tunnel symptoms! Then powerful coding agents emerged, and things improved even further.
But recently, these models have become so good that a natural language prompt can generate an entire complex web application in a single shot. Granted, it still takes effort to get things to my liking. But I expect that models will continue to improve, and the skills I have honed will become even less necessary. Furthermore, I feel like people are now inundated with impressive-looking AI-generated tools, and so providing cool interactive widgets doesn’t have the same zing as it used to. It’s becoming more difficult to differentiate between tools that were planned and developed with a lot of care and things that were vibe coded.
I’ve decided that I do want to continue creating these tools. As I said, it’s the way I naturally learn and I feel like it’s the best method for communicating science in many cases. So I am thinking outside the box to try to make this work! You’ll find a potential solution below.
First some context. I think that human-generated content will always have value compared with AI-generated content, no matter how good AI gets. Certainly for some tasks AI is simply superior. For example, writing the detailed HTML/CSS code for proper page layout across devices — that’s something I never want to struggle with again. But for other things, imperfect human-generated writing can be full of life compared with the hollowness of perfectly crafted pros (it’s depressing and makes me think of emptiness).
Even in the case where the output of AI cannot reliably be distinguished from human content (think future art, music), here are some reasons that human output is worth pursuing. First for the author, it takes effort to create something, and that process is worthwhile and invaluable for learning and growth. Second, for the reader/user, knowing something was human generated means that it is likely accessible to a human, and that a person can vouch for and take responsibility for the product. If it wasn’t worth the effort to make, why does it deserve the effort of a person to read/use? Conversely, if it was worth the effort of human labor, it may well deserve the attention of another scientist.
But how to communicate that the human effort was actually invested? Just putting a “Created by Humans” badge on something doesn’t do the trick for me. You just can’t trust it. That’s why I made the arewehuman project (inspired by ReelDocs). It allows the reader to replay the keystrokes that created the document and to see which sections were pasted in from an external source. Not perfect, but I think it’s unlikely that an author would go to the effort of dishonestly misrepresenting the composition history.
So I thought, could the arewehuman approach be used for interactive web applications and presentations? A simple approach would be to share the chat history with the coding agent. But I don’t think people would want to read through that, and even if they did, it would take a lot of effort to match up the conversation with the resulting tool.
The solution I came up with is to have the author maintain a detailed recipe text file that describes the tool in detail, evolving with the app or presentation throughout developement, and to track that file with arewehuman. This is different from sharing LLM prompts. The agent is instructed to use the recipe as the source of truth and to keep the web application in sync with that. The author can still prompt the AI independently (“fix this layout”, etc), but all high level decisions, including text to be included, should go in the recipe file and should be human edited, with keystrokes getting tracked. Then somewhere in the app or presentation is a “Crafted by Human” link that takes the user to the arewehuman page where they can see a replay of the creation of the recipe.
I don’t think this will work for everyone, but I think it might be the thing that works for me, and which will allow me to continue doing the thing I love — creating interactive, shareable tools for exploring scientific data.
A replay of every keystroke, recorded with arewehuman as evidence that a person typed this post rather than generating it with AI.
Highlighted text was not typed. ░░ marks text that was later deleted; its content was never recorded, apart from where its line breaks were. Long pauses are shortened.
Comments
Comments are anonymous and appear once approved.