After our failed attempt at being part of Neom's cognitive city, we decided to move away from ubiquitous computing and focus on the other of our big passions: digital sovereignty — and, in particular, inspired by the work of my master's thesis, the Internet Computer.

Turning Omnia into an oracle

The really first thing we did — mostly just for fun, and to start getting involved in the IC developer community — was to turn Omnia into an oracle that would let smart contracts (or canisters, as they're called on the Internet Computer) read data from sensors and control actuators, obviously via the Web of Things. Here is an ugly video demonstrating how a smart contract can turn on a light (if you want to find out why we thought it would be a good idea, here is a long explanation):

Building for a World computer

Anyway, after this short experience we started noticing that the developer community had a bunch of feature requests that the DFINITY foundation hadn't yet implemented — so we decided to step in and take care of those. That's how we started building infrastructure to help the Internet Computer become a real World computer.

For developers outside the crypto bubble to start building on a new computing platform, there had to be (at least) feature parity with existing platforms. Two big things the community kept asking for were WebSockets for smart contracts and the ability for a smart contract to run off-chain computation (not everything could run on-chain). That's what we delivered.

IC WebSockets

In 2023, the Internet Computer was hosting many messaging and social networking applications with hundreds of thousands of users. One thing the Internet Computer couldn't offer these applications was the ability to send updates and notifications from a canister to a user. Developers were already hacking their way around this limitation, but we decided to solve the problem by building an API familiar to millions of developers around the world: WebSockets, but for the Internet Computer.

See our initial roadmap, the beta release, and the final release.

IC Side Services

After completing IC WebSockets, we needed a way to run the IC WebSocket Gateway without relying on a single party that could act as a single point of failure — exactly what blockchains are designed to combat. Beyond our WebSocket gateway, the IC developer community had long been asking for a way for smart contracts to directly control off-chain services. So next we built IC Side Services, which turned into a full integration between the Internet Computer and the Akash Network.

See also our initial proposal and the beta release.

One more thing

Once we finished IC Side Services, our deadline was also coming up close. By then we were almost already sure that none of the projects would actually become a company. So we built one more thing!

One of the biggest limitations of the Internet Computer — which was actually also a feature — was that it couldn't make a single HTTP call to an external service (say an oracle, or whatever other Web2 API). Every single server in an Internet Computer subnet would make the exact same call, so the receiving service would get anywhere between 13 and 40 identical requests. This wouldn't be a problem for idempotent APIs, but unfortunately most APIs aren't like that. Before officially closing the Omnia chapter of our life (which had lasted almost 4 years), we brought together IC WebSockets and IC Side Services to enable the Internet Computer to make non-replicated HTTPS outcalls.