The Superthread Tech Stack: Why We Chose Vue, Go, and Redis for 17ms Speed Copy
Founder David Hasovic breaks down the Superthread tech stack. Discover how Golang, Vue.js, and Redis help us achieve gaming-level performance in a SaaS product.

Jan 23, 2021
|
David Hasovic
Engineering for Delight: The Requirements
Before picking our tech stack, I had to define what I wanted Superthread to be. I didn't want to build another slow, clunky corporate tool. I wanted to build something that felt like a game.
1. The 17-Millisecond Goal
In the gaming world, we aim for 60 FPS. That means every frame renders in 17 milliseconds. Your Chrome browser works the same way. I want Superthread to be so fast that when you click, the result is instantaneous. No delay. No clunk.
2. Obsessive Delight
Every pixel matters. SaaS products are usually austere and ugly; I want Superthread to be a place you actually enjoy visiting. We go over every UI detail repeatedly to ensure it feels right.
3. Total Flexibility
Most trackers impose a philosophy on you. We want to be neutral. Only you know how to organize your team, the tool should just cater to that, not stand in your way.
4. Data Isolation
If you are an EU company, your data should sit in the EU. We are building the infrastructure so you can choose exactly where your database lives geographically.
The Stack: Lightweight, Fast, and 'Close to the Metal'
To hit these requirements, we chose technologies that are efficient for both the machine and the developer.
Front End: Vue.js
We skipped React and Angular for Vue.js. It is incredibly lightweight and designed in a very thoughtful way by Evan You. It’s snappy, easy to use, and allows us to build a high-performance interface without the bloat.
Back End: Golang
For the backend, we chose Golang. Since it compiles down to binary code, it sits closer to the metal. Despite being a garbage-collected language, the Go runtime and compiler produce an efficient package that handles requests with extreme speed.
Database: Redis (As a Primary Store)
I’ve spent my career using SQL, but I’ve moved away from it because of the limitations of joins. I’ve been a key-value database enthusiast since the early days of Cassandra.
We use Redis. I know what you’re thinking, 'Redis is just for caching.' But Redis is a real database. Just because data is stored in RAM doesn’t mean it isn't durable. Redis can write to the hard drive, so even if the system crashes, the data is restored. Because it retrieves data from RAM, the CPU cycles required are minimal.
The Result: The combination of Vue, Go microservices, and Redis means our API endpoints return real data in about 4 milliseconds on a local machine.
Transparency Over Complexity
Normally, I would have used Kubernetes to serve these microservices. This time, I didn't. Kubernetes is great for scaling, but it’s a 'black box', when something goes wrong, you have zero visibility.
I wanted something transparent that a normal developer can read and understand. We ended up building our own hybrid orchestrator. This transparency allows us to see exactly what’s happening, so we can optimize and fix issues instantly.
Experience a workspace built for gaming-level performance.
Superthread is designed for those who refuse to wait for their tools. Fast, flexible, and built with better tech. Sign up for Superthread