
Every once in a while, I have dropped updates on my account on my socials, that I am working on an app called Cubic, without adding much context. In this post, I want to share a little more about what it is and the chaotic journey it has been to get to the first beta.
TLDR: Cubic started as a news app trying to marry news feeds with serendipitous discovery, but in the last couple of months it has evolved into more a knowledge management app with a “Discover > Collect > Reflect” loop aimed to grow your knowledge of topics over time. You can try the iOS beta app here
Motivation
The change in management at Twitter led to a lot of my connections leaving that network, some for others like Mastodon and Threads, while others just disappeared completely. The algorithms that drove these sites also prioritized engagement, and even the technical articles that would surface up would be mediocre writeups with click-bait titles. As a result I started looking at other sources for news again. Over the next couple of years my news diet became:
- Technology news aggregators like Hacker News, Lobste.rs and a few Reddit channels
- Paid subscriptions to a couple of news services (NYTimes and Bloomberg)
- A handful of Substack accounts
- The new social media: Threads, Bluesky and Mastodon (in that order right now)
One thing I missed was the lack of a “mix” – my typical news session would tunnel vision me into that source. I really wished I could see a random article from NYTimes next to a random story from Rest of World for example (one of my favorite sites). Almost all of my sources had RSS feeds, so I started thinking if there was a way to pull all of these in and build a mix myself.
Swipe Mechanic
Around the same time, I found a really cool app: Web Roulette let you add any site that had a random link url (like wikipedia random) and every swipe would bring in a new article from your sources. This was cool, but it didn’t do exactly what I was trying to do. I was looking for a little bit more of a “focused random” where instead of random pages from sites I rarely go to, it would pick random pages from sites that I did care about. I actually fixed this by creating a small aggregator web app that pulled in my RSS feeds and then served a random story from that collection.
But it wasn’t enough to just aggregate and serve a random link. Because my set of feeds was small enough, I would often see duplicate articles served. So now I needed to add a history so that set of links the app looked at would not include articles I had already seen.
A web browser and a random source of urls seemed like a simple enough idea, so in mid-2024 I built a prototype in Flutter that seemed to do the job. I had no intention of shipping this. It served my need and it was fun to build.
The death of Pocket and adding Read-it-later
I was a big Pocket app user (an app Mozilla bought a while back that let you save links that you’d want to read later) and when Mozilla decided it was going to shut down Pocket, adding a read-it-later function seemed a natural feature for my personal news consumption. But that changed the app’s architecture: now I needed a backend system to store the links which I ended up building on Firebase.
But while the initial version in Flutter worked reasonably well, I had started seeing challenges with the implementation
- Flutter gave me an abstracted version of the web browser so some of the hooks I wanted to add there were hard to implement
- Adding to native extension points in the OS, like share sheets and widgets, is harder with Flutter.
I was curious to re-learn SwiftUI anyway and over one weekend tried to figure out what it would take to convert the app to native. Turns out, not that hard since all the technical decisions had been made already. Once that migration went through, I left the Flutter app behind and focused on the SwiftUI experience.
The app didn’t have a name (it was called WebSpin in the codebase) but I enjoyed using it enough that I figured I should ship some version of it. I shared the first version of “WebSpin” in Feb of 2026.
Next: From RSS to Knowledge Base
This post has already gone too long so I’ll pause here. In the next post, I’ll detail how this app went from a glorified RSS app to the “Knowledge Management” app that I am really excited about. If you want to try it out, the public beta can be found here. You can also follow me here, or on Threads, BlueSky, Mastodon or Twitter/X to follow the journey.








