First published 2025.10.17

Change Log Part 1: Writing an App with Stucco Software.

Welcome to Change Log, an ongoing series where we write a web application week by week, showing step-by-step how we can create a new, post-platform ecosystem for the web.

In this first part we’ll look at setting up the basic code repository, getting a development and production environment set running, and connecting it all together with a CI/CD pipeline.

Once we have a development loop in place, we’ll look at authenticating the application with SolidID.

From there, we’ll explore the specification for just want we want the app to do and define our projects ontology and basic Create/Read/Update/Delete operations.

After the basic interactions are in place, we’ll work on the visual design language of the application to make it a joy to use and look at.

Finally, we’ll look at how we can integrate paid features to the application while keeping the whole thing open source and free for self-hosted users.

Lets get started!

Our application is going to be called Pocket Change, a simple budget tracking application to replace a spreadsheet we’ve been using to keep track of our weekly household spending. This kind of small, focused, and purpose-built application is a great candidate for the Stucco Software ecosystem. The post-platform architecture means that an application can scale from a single user to many many more without incuring additional overhead in terms of data storage and security.

Without further ado, lets create a repository at stucco-software/pocket-change.

With that in place, we can create a new SvelteKit project on our development machine.

Connect those two together, commit the initial code, and push to create our very first commit.

The Software Development Lifecycle

Now locally-running software is cool and all, but what really makes a difference is software in production. We’ll connect our repository to Netlifly so that any merge to the main branch deploys automatically.

There’s some documentation about how to make this work, and we need to add a couple things to our codebase.

Once that all goes well, we can add a custom domain to the Netlifly deployment, and just like that we have Pocket Change in production!

Here at Stucco Software we’re big fans of the Trunk Based Development methodology. We find it enables our preferred ways of writing code.

That means our basic workflow goes like this:

  1. Write some code in our local development environment.
  2. Test that code (either with unit tests or just eyeballin’ it).
  3. Commit that working code to the repository.
  4. Push that code directly to the main branch.
  5. Github & Netlifly deploy that commit to production

And then we do it all over again!

Next Week On Change Log

This was a quick one, and not unique to our post-platform ways of working! Setting a foundation from which we can tackle more interesting ideas is important, and we hope to shine some light on the development processes we use here at Stucco.

Join us next week for something more strange and interesting: adding authentication to an entirely client-side application.

#buildInPublic#pocketChange