Schmeep: Scheme on Android

HomeAbout
Thu 11 Dec 2025

Ever since I worked on the Android project nearly twenty years ago, I've wanted to write mobile apps in Scheme. But the early Android API made it hard to run a good Scheme implementation, and the Android team strongly discouraged the use of languages other than Java. Those limitations are long gone. Still, whenever I got the energy to dive into Android Studio, the NDK, and the latest APIs, build problems and other random complexity would frustrate me, and I would give up and switch to another project.

But now we have LLMs. They are exactly what I needed to get past the slog and into the interesting parts of the project. I'm so glad I tried again.

My new project, Schmeep (Github), is an Android app built around Chibi Scheme, Alex Shinn's R7RS-Small-compatible Scheme implementation. It uses RAX, a simple framework inspired by HTMX, to make HTML-based user interfaces in Scheme. No web server is required. Instead, events are delivered to your Scheme code, which returns new HTML fragments to update the UI.

Schmeep includes a simple Linux program that opens a REPL on the phone over Bluetooth. The whole project builds quickly using a simple Makefile. This means that you rarely wait more than a few seconds to see the effects of a change.

Schmeep has just come to life, but I'm eager to build a real app with it. My plan is to experiment with writing local-first software in Scheme. I'll wrote more here when I do.