TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

The tech stack we use to build Lago (YC S21), the open source billing API

5 pointsby Rafsarkalmost 3 years ago
Our users and peers often ask us what language and tools we use to build Lago (getlago.com), the open source billing API, and why. Here are our answers.<p>As part of our selection process, we focus on (1) robustness and (2) engineering speed. This means that once we’ve identified a few suitable tools, we aim to make our decision quickly to get back to building asap.<p>Our engineering stack is a living organism, so it will keep evolving, but here is what we use at the moment:<p>Language: Ruby on Rails We developed Lago in Ruby. There are many technical reasons for that and our team, which has worked on billing for 3 years, has 10 years of experience with this language.<p>Every year for the past 10 years, people ask whether Ruby is dead.<p>Ruby is not going anywhere: it’s popular, offers a fast learning curve and what we find attractive is the vast community of Rubyists we can hire as we grow.<p>In the future, we might develop other services in Python, Rust or Go.<p>NB: There are several clients available for Lago’s API: Curl, Go, Python, Node.js and Ruby (as of August 2022), see our API documentation here.<p>Hosting: Amazon Web Services (AWS) It’s ‘AWS robust’, we used it before and let’s be honest, AWS offers generous perks to YC companies.<p>Container orchestration: Kubernetes No brainer for microservices.<p>Abstraction layer for Kubernetes: Porter ‘Heroku in your cloud’<p>Porter is a YC company as well. The team is genuinely nice, super reactive and precise. But that’s not why we chose them: they were recommended by one of our advisors, who led big data infrastructure projects for incumbent banks and telecom companies in Europe. So we chose them on the spot.<p>A solid alternative is Qovery, their team is brilliant too. The team only ran into their product once we had already implemented Porter, but it’s a great product as well!<p>Error alerting system: Sentry We used it before. It gets s** done consistently, is easy to use and reliable. Their company philosophy is interesting too, check it out here.<p>Cloud monitoring: New Relic We tried Datadog and New Relic, and opted for New Relic: the onboarding was simpler and their entry level plan was much cheaper.<p>VPN: Tailscale We started with NordVPN. It’s a great VPN, but we only needed an internal VPN. Tailscale does exactly that, and it’s really ‘zero-config’. Tailscale will link to your domain name, so that every team member can easily connect to it. It makes onboarding new team members easier and allows us to save a lot of time on the configuration.<p>Backoffice: Active Admin It ticks all the boxes:<p>Not a third-party app; In the Ruby ecosystem; and Quick set-up. Our code repository: GitHub GitLab could have been an option but GitHub is the standard for self-hosted code.<p>Documentation: Docusaurus We looked at GitBook, Theneo and GitHub pages. We wanted to have both the product documentation and API reference in the same place, while having enough flexibility on the presentation and design. We view our documentation as a part of our product so it needs to reflect the UX and brand we’re building.<p>We’re very happy with Docusaurus! The only thing to be aware of is that it’s a self-hosted solution, so it requires some configuration.<p>Product analytics: Metabase We used it extensively before. It’s flexible in terms of queries and can also be used by non-tech users. We opted for the self-hosted version.<p>Search bar in our documentation: Algolia It was one of our users’ requests. Most people use Algolia without knowing it (e.g. on Hacker News and many other websites). Love the product and the team!<p>If you’re hesitating between different tools, we’ll be happy to share our experience with you!

1 comment

zoomzoomalmost 3 years ago
This is a great list, thanks for sharing! Always fun to see these kinds of run-downs...<p>Wanted to just note that there is a robust space of companies like quovery, porter, and other k8s management&#x2F;abstraction tools. Lots of them are great products. I would specifically mention architect.io, garden.io, and ReleaseHub.<p>At Coherence (withcoherence.com) [I&#x27;m a cofounder] - we would highlight some key differences in our approach: - Not k8s based, but rather using cloud managed services like Cloud Run on GCP and ECS&#x2F;Fargate on AWS - Using managed services for builds instead of doing them on our own platform (GCP Cloud Build, AWS CodePipeline) - Extending all the way to dev - and not by using QA environments as dev environments, but rather by offering per-user, per-branch Cloud IDEs built on the same configuration as the rest of the product - Integrated a per-environment cloud shell for one-off commands - Managing separate production and review GCP projects&#x2F;AWS accounts for the same application within one dashboard and SDLC<p>A few other comments on the list: - Documentation - ReadMe still has a powerful product - Backoffice, something like retool often has a use case, along with things like typeform and airtable. Glide for light no-code apps integrated into these systems is also an awesome tool! - Analytics&#x2F;BI - we have been using glean.io as an alternative here - it sites between something like meta base and something like Looker&#x2F;Tableau&#x2F;PowerBI, and integrates more of the data ops flow into the configuration. Worth checking out if you&#x27;re looking in the space.