Snail

In late 2021, I became convinced that my career would involve making tools for AI developers. I got impatient, and decided to quit my job at Microsoft in early 2022 to get started. In order to build great products, you should become like your users. At the time doing anything with AI was extremely expensive. But I noticed that chess AI had all of the feel of real AI development, but the tiny neural networks used made it cheap enough for me to make a serious attempt without spending $40 million on compute.

I alternated each week between working on chess and making tools for working on chess. I started with something to track my experiments. I added charts. I wanted to render chess boards in my logs. All of this started to feel like a terminal, and I have been using snail as my only terminal since mid 2022.

As language models overtook all other AI development, I started to use Snail as my playground for new AI features. Snail allows AI assistants to make suggestions given the context of all the programs that run from you terminal. The AI can also safely run its own shell commands to gather information about your system in the background.

Snail is designed for AI researches, but it works great for anyone who programs with long running tasks, rich data files, or remote execution.

Bash shows its age as a shell language, so Snail has it's own language, shjs, which is a modern shell language based on JavaScript. Snail also supports running commands in Bash, Python, and JavaScript.

Snail provides a JavaScript and Python SDK for writing rich terminal applications. Built in high performance charting tools can easily handle many millions of data points. Probably more, I haven't tried. Use `display` to render full web UIs inline in the terminal.

Download Snail on GitHub.