Aral Balkan

Mastodon icon RSS feed icon

Introducing Small Technology Foundation, Site.js, and Tincan

Laura and me with tin-can telephones in the Small Technology Foundation web site header.

Say “hello” to Small Technology Foundation.

Today, Laura and I want to introduce you to Small Technology Foundation, where we will be continuing the work we started at five years ago.

In those five years, we’ve developed a strong understanding of the problem (surveillance capitalism) and we’ve been iterating on solutions to it.

Our work led us to leave the UK, move to Sweden, and finally, last year, to settle in Ireland.

As part of our relocating to Ireland, we are in the process of shutting down our not-for-profit in the UK, (Article 12), and we’ve set up a new not-for-profit in Ireland.

We’ve also refined how we articulate both the problem and the solution we are exploring. The result is Small Technology Foundation and the concept of Small Tech as the polar opposite of – and the antidote to – Big Tech and Silicon Valley’s church of startups and exponential growth.

What is Small Technology?

The tenets of Small Technology: easy to use, personal, private by default, share alike, peer to peer, interoperable, zero knowledge, non-commercial, non-colonial, inclusive

The tenets of Small Technology.

Small Technology are everyday tools for everyday people designed to increase human welfare, not corporate profits.

What are you working on?

Screenshot of

Site.js: what would a web development tool look like if it was designed for individuals, not startups or enterprises?

I’ve personally spent the last six months creating Site.js – which I’m excited to announce here alongside the setup of our foundation. Site.js is the first step in our plan to evolve a peer web based on the DAT ecosystem.

Site.js makes it simple to set up your own single-tenant, secure personal web site (static and dynamic). How simple? Here’s how you’d deploy a “Hello, world!” site on your production server:

# Install Site.js
wget -qO- | bash

# Create the site
echo 'Hello, world' > index.html

# Enable a secure production server
site enable

And what if you wanted a dynamic site?

OK, create a file called counter in .dynamic/counter.js:

let counter = 0

module.exports = (request, response) => {
  response.type('html').end(`You’ve visited this page ${++counter} time${counter === 1 ? '' : 's'}`)

Then run:


And hit https://localhost/counter.

Refresh to see the counter update.

I call this DotJS (think PHP for JavaScript) and it enables you to create secure, dynamic JavaScript servers with the full power of Node.js and Express without having to build any of the plumbing.

And it’s as easy to use WebSockets with it too.

Oh, and Site.js already powers this site, the Small Technology Foundation site and Laura’s site. So we’re eating our own hamster food.

The Small Technology Foundation web site is also an example of how to extend a static site (in this case, one that uses Hugo), with dynamic functionality. Check out the Fund Us page for an example of the WebSocket functionality powering the patronage pages (hint, hint) ;)

To see more, run the demo on, try some other examples, and read through the documentation.

What’s next?

The architecture of Tincan, showing the always on web node as an untrusted node in a peer-to-peer network

Tincan: bridges a peer-to-peer network with the centralised web.

The next step is to continue developing Site.js and to build on top of it a peer-to-peer network that bridges to the centralised web. We call this Tincan (the latest evolution of Hypha, Indienet, and Heartbeat).

The architecture of Tincan, showing the devices and untrusted web node of two people interacting

Tincan: two people communicating.

There are no big reveals here, we are not Silicon Valley (we’re the opposite of Silicon Valley). We’re in this for the long haul. We’re not a startup, we’re a stayup. As such, we will continue to iterate and build on our work from the past five years.

Happy we exist? Enable us to continue to exist.

In the past five years, my family has invested three homes to enable our work. We don’t have any more homes to invest.

If you’re happy we exist, please become a patron and support us to ensure that you can still be happy we exist in the next five years.

We are going to be moving more things over from to Small Technology Foundation in the coming days (like our source code repository, etc.) and we’ll let you know when we do. And we’re going to continue to polish things up on the web site and improve Site.js. Just like everything else we do, this is yet another iteration.

We will also be cancelling all patronages on so if you want to continue supporting us, please become a patron of Small Technology Foundation.

Partner with us

We are also looking for VPS hosts and domain name registrars to partner with. If you share our social mission of a kinder Internet built for people, not corporations and governments, please contact us.

There’s a Turkish saying that goes “from drops, are lakes formed…”

After five years of working on this problem, I am more excited than ever with where we are and the progress we are making. I hope you will join us, as allies, on this journey and enable us to realise our dream of creating technology that works for people, not startups or enterprises; technology that protects human rights and democracy instead of eroding them.

Visit Small Technology Foundation today and let us know how you can help.