For a long time, we operated like many other companies: trapped in a "Frankenstein’s Monster" of disconnected tools. We had Github for tasks, Teams for chat, and gods knew about the documentation. Every month, we paid the "SaaS Tax" - hundreds of dollars for a team of 50 - only to deal with data silos, manual status updates, and a complete lack of universal visibility.
We decided we’d had enough. We didn't just want a new tool; we wanted our workflow back. We transitioned to Huly, a self-hosted, all-in-one platform that allowed us to achieve 90% feature parity with our old stack at roughly 4% of the cost. Now moving everything to a $42/month DigitalOcean droplet. Beyond the financial win, we’ve reclaimed our "Data Sovereignty," ensuring our internal processes stay on our hardware, under our control.
The Selection: Why Huly Won the "Open Source Games"
Before settling on Huly, we rigorously evaluated the open-source landscape. We looked at Plane, Taiga, and OpenProject. While these are respected players, they are primarily project management (PM) tools. Huly was the only candidate that functioned as a true "Virtual Office."
Huly won because it consolidated the ticketing system, the communication layer, and collaborative documentation into a single interface with a "local-first" feel. With over 24.2k GitHub stars and an incredibly active development cycle, it was clear this wasn't just another side project - it was a production-ready ecosystem.
Our Superpower: Custom Engineering & The GitHub Bridge
As an engineering-heavy team, we have a specific requirement: developers live in GitHub, but the rest of the company lives in the management tool.
The biggest technical hurdle we faced was the Critical Disconnect. Standard APIs often fail to sync GitHub Projects v2 statuses correctly. This creates data silos where a developer moves a card in GitHub, but the PM sees it as "In Progress" in Huly. Because Huly is open-source, we didn't wait for a vendor fix. We built a Node.js Bridge Container to act as a custom middleware.
- ● The GitHub-to-Huly Flow: Our bridge listens for GitHub webhooks. When a status change occurs in GitHub Projects v2, the webhook triggers an instant update in Huly.
- ● The Huly-to-GitHub Flow: The bridge container uses the GitHub GraphQL API for maximum precision. It polls Huly every 5 seconds for status changes on linked issues and every 30 seconds to sync new, unlinked items.
- ● The Intelligence Layer: We implemented Intelligent Deduplication and Loop Prevention to ensure the two systems don't get caught in an infinite update cycle.
- ● The Status Map: We handle variation via a `status-mapping.json` file. This allows for case-insensitive matching (e.g., mapping "In progress" in GitHub to "In Progress" in Huly) and provides fallback logic for unmapped statuses.
Beyond the Code: Metrics Dashboard & Universal Visibility
One of our primary goals was to eliminate "Invisible Work." In our old stack, Design mockups, Sales calls, and Support tickets were hidden in DMs or spreadsheets. By moving these teams into Huly, every task is captured in the "Company Pulse."
To track our health, we built a custom Metrics Dashboard using a React/Vite frontend. This pulls data directly from CockroachDB to provide executive-level insights:
- ● Velocity Trends: Are we getting faster or slower over time?
- ● Cycle Time: How long does a task take from "Ready" to "Done"?
- ● Workload Distribution: We can now see the exact effort split between features, bugs, and sales support.
This transformed performance appraisals from subjective opinions to data-driven conversations. Everyone’s work is now visible and measurable.
Under the Hood: A Modern Stack That Screams
Huly’s architecture is built for speed and horizontal scalability. Moving from sluggish SaaS interfaces to this stack was a massive quality-of-life upgrade.
- ● Frontend: Built with Svelte and TypeScript for a lightweight, reactive UI.
- ● Backend: A Node.js microservices architecture managed via Microsoft Rush for efficient monorepo handling.
- ● Storage & Search: It utilizes CockroachDB for distributed SQL and Elasticsearch for near-instant full-text search.
- ● Messaging & Object Storage: Redpanda (Kafka-compatible) handles real-time events, while MinIO provides S3-compatible object storage for our files.
Take Control of Your Tools
The era of settling for expensive, disconnected SaaS stacks is over. By switching to Huly, we didn't just save hundreds of dollads a month; we gained a unified operating system that reflects how we actually work.
If you're tired of the "SaaS Tax" and data silos, it's time to host your own workflow. Stop paying for silos. Randomwalk's future is self-hosted.






