Software is important to people. Most of us spend our workdays in front of computers. We use the computer in our pocket tens if not hundreds of times every day. The apps we use are almost exclusively mass-market, sold on an app-store, made for thousands if not millions of users. Or they are enterprise apps that are custom-built for hundreds of thousands of dollars.
But there isn’t really any equivalent of home-made software — apps made lovingly by you for your friends and family. Apps that aren’t polished or flashy, but are made to your preference and help you with your particular needs.
We’re John and Pontus, and we’ve been exploring the concept of home-made software together. We ended up creating a research prototype that we call Scrappy — a tool for making scrappy apps for just you and your friends.
It may not be clear what “a scrappy app for you and your friends” means. What kind of apps are these? Let us paint a picture with a few examples. (We call them “Scrapps”.)
Arithmetic practice for an elementary school kid. When they start outgrowing it, it can be straightforwardly extended with harder problems. (try it)
CleanShot 2025-03-17 at 11.53.15.mp4
Attendee counter for a local event. The counter’s state is shared, so the Scrapp can be used to let people in and out at multiple entrances.
CleanShot 2025-02-26 at 13.49.22.mp4
Meeting cost clock, to help meetings stay on track. A Scrapp like this can be put together in 15 minutes and shared with coworkers right away. (try it)
CleanShot 2025-03-17 at 12.31.38.mp4
Weekly chore tracker. Let roommates flexibly swap weeks, while making sure to track whose up next, to keep things fair. (try it)
CleanShot 2025-03-17 at 11.49.13.mp4
Scrappy is a research prototype, not production software. We believe that a prototype is worth a thousand mockups, so we are sharing the prototype with you to try out. We hope it will give you ideas or inspire you to make something yourself.
Scrappy is an infinite canvas of interactive objects. The workflow is similar to an app such as Figma, Miro, or Google Slides — except you can attach behaviors to the objects.
You drag objects out on the canvas — a button, a textfield, a few labels. Select an object, and you can modify its attribute in an inspector panel. Certain objects, like buttons, has attributes like “when clicked” that contain javascript code. When the button is clicked, that code is run — maybe it records the contents of the textfield to a label that acts as a log. You build your app step by step: tweaking and rearranging the objects, and attaching a little bit of code to them.
There’s no better way to get a feeling for an authoring environment than to see someone use it in action. In the following videos, I’m making an attendee counter for an event:
The basics
I start out by adding a number field to track the number of attendees, and two buttons for recording people entering and exiting the venue.
https://share.cleanshot.com/NbLYCLVR
Reactive formulas
Next, I add a field for the venue’s capacity, and a warning when too many people have been let in.
I use a reactive formula to control the visibility of the warning and the border color of the field.
https://share.cleanshot.com/sCZpxn1Z
A shared, persistent world
Without any extra work, Scrappy apps are multiplayer.
App state is persisted and synced, like users expect from online documents like Google Sheets or Figma.