updated June 18, 2025

TL;DR — can I watch a video instead?

Sure! We presented Scrappy at a recent Future of Coding Virtual Meetup:

https://www.youtube.com/watch?v=LLGb5qEFQos&t=39s

Scrappy is an exploratory prototype, which means…

Can I rely on Scrappy for critical tasks in my life?

We wouldn’t recommend it. Scrappy is not production software. That said, we hope you play with it and share your experience!

Can I use Scrappy for sensitive data, like storing my credit card info to share with my family?

Please don’t! Scrapps are not secure. If someone has the link to your Scrapp they can both read and edit it.

Are scrapps guaranteed to keep working forever?

No. We will aim to not break backwards-compatibility, but we don’t make any guarantees.

Scrappy seems incomplete, why doesn’t it have X?

Scrappy is an exploratory prototype, not a product. You can use the prototype, but it’s there to illustrate the vision more than it is a complete product. If playing with the prototype gives you ideas, [tell us about them](mailto:[email protected],[email protected])!

I don’t see a GitHub link. Is it open source?

It's not open-sourced right now, but it's something that we may consider. Remember, this is NOT a commercial project, this is an exploratory prototype, and we wanted the focus to be on the vision and the user experience rather than the technical underpinnings. It's not clear what the value of open-sourcing it is to us at the moment, though we understand that people may want to inspect the code.

Technically speaking, Scrappy uses a local-first architecture. More below.

Scrappy is local-first, which means…

Where are my Scrapps stored?

Scrappy is local-first: data is stored locally in your browser, and optionally replicated to a lightweight sync server, to help coordinate syncing between peers.

If you want to be sure a scrapp doesn’t go away, you can make a button that runs the code system.save(). Click it and you’ll download your scrapp as a .json file. Saved scrapps can be loaded by clicking a button with the code system.load().

What technology is Scrappy built on?

Scrappy is almost entirely a TypeScript web app. The only third-party dependencies are Yjs and CodeMirror, and we use Node and Vite for developing/building. We don’t use any other libraries or frameworks like React. There’s no analytics.

There is no traditional backend. The only cloud dependency is the sync server, which is a plain vanilla y-websocket-server, running in AWS eu-north-1.

Here’s how we see Scrappy relating to AI…

I can do this with AI, why would I use Scrappy?

See the section Scrappy vs AI-written apps.

We do like that the bar for making little apps for your friends has been lowered by LLMs! And starting a simple front-end-only app with Claude is likely faster and accessible to more people than using Scrappy. But it’ll be harder to understand and tweak the app — you are at the whim of the LLM. And LLMs themselves don’t get you Google Sheets-like persistence and live collaboration. (There are some startups building backends for LLM applications, but typically with a subscription-based model, not local-first.)

I want to know more about the project…

Who are you?

We are two independent guys in Stockholm. We are not a company. Scrappy is not a commercial product.

What are the future plans of Scrappy?

It’s TBD. Scrappy started out and remains an exploration of ideas. We decided to publish our work, including our thinking about it, and see what response we’d get. We know very well that the current “exploratory prototype” is full of limitations.

Two potential areas of work:

  1. With Scrappy you write snippets, rather than pages, of code. But that reliance on writing code is still a barrier to non-programmers. We know there are ways to improve the UX, like with e.g. dragging lines to connect components, and with integrated LLM assistance (though we would want the output of the LLM to be human-understandable snippets, not pages of magic incantations).
  2. We really need to address the fact that Scrappy is fundamentally lacking a data model metaphor. (Visicalc was a simulation of a paper spreadsheet; HyperCard was a simulation of a stack of cards.) Contact us if you have ideas!

Where should I follow you for updates?

Best is following us on Bluesky:

https://bsky.app/profile/pontus.granstrom.me

https://bsky.app/profile/did:plc:ybkzapll53l74ndv44y5eyj4