Building Codiga: What Tools and Tech Stack for your Startup?
Note: This post is part of a series about building Codiga.
Choosing tools for your startup is sometimes overwhelming, especially for domains you do not know (in my case, it was sales or marketing). I made a list of tools I recommend using and explain the biggest mistakes I made when selecting the tools, languages, or framework to use for building Codiga.
Keep in mind that this selection is biased. I am a technical founder, I know how to write software. I am also terrible at sales and marketing.
No-Brainer choices
Administrative Tools
Email and Docs Google Workspace. When it comes to email and collaboration, you cannot beat the Google offering. People know how to use the tool and for $12, you have everything you need (calendar, email, documents, etc).
Business Intelligence. Metabase is the no-BS BI tool. It connects to your database through a secure connection and offers beautiful graphs out of the box. Other products like Tableau are bloated and far too expensive for what they offer. Do not install your own metabase instance, just take the starter-tier of their cloud offering ($85/month).
Equity Management: Cake Equity. The reference in the startup world is Carta. They were the first company offering equity management software at a time when everybody was tracking their captable using an Excel spreadsheet. Today’s reality is that Carta is expensive, bloated and has horrible customer service. Cake is a better Carta at 10% of their price. I chose Carta the first year after following some recommendations from Techstars, and I was paying $8,000 per year. I canceled and used Cake, which cost me $800 per month and has way better support than Carta (Elin, my customer success, was up to help me at 7pm).
Document review and copy: Language Tool. As a non-native speaker, I had to check everything I wrote. Language Tool is like Grammarly, except that it works with (almost) all languages and everywhere (even inside your code editor, which is really great when editing HTML documents).
Sales: Apollo. For $100 a month, Apollo provides a ton of value. You can search for potential customers, start email campaigns and automate A/B testing. Unlike HubSpot, there is no long-term contract, the price is reasonable (Apollo is a fraction of HubSpot price) and has more features.
Email Automation: Email Octopus. Mailchimp is the reference today, but is far too expensive for the features it offers. Email Octopus is less bloated and provides the same value at a better cost.
IT security and compliance: Kolide. For $4 per user per month, Kolide ensures that all laptops from all your team are compliant with common security guidelines (which is required when doing a SOC-2 audit).
Technical Tools or Framework
Code Hosting and CI/CD: GitHub. GitHub is and will remain the reference. For a few dollars per developer, you have a complete solution to manage your code and run your CI/CD pipelines.
Frontend hosting: Vercel. For $20 per developer per month, Vercel automatically deploys frontend previews, handles deployment in multiple CDN and has a fantastic GitHub integration. A no-brainer.
Cloud hosting: AWS. AWS stays as the king of cloud hosting. There is no need to try to optimize cloud costs as AWS has all the services you need to build anything, and they offer a ton of credits for startups. Almost all developers know how to use AWS so there will be no learning curve for them and they can focus on building.
Frontend Framework: NextJS. NextJS is the framework of choice when using Vercel. It supports all modern features and is very popular in the frontend community. No need to look elsewhere.
Programming Languages: Python, TypeScript, or Java. Use programming languages that will be easy to use, debug and recruit for. You have many developers on the market familiar with these languages. Recruiting is hard enough, so make sure you pick languages that will maximize your pool of candidates.
Databases: MySQL or PostgreSQL. Never use NoSQL databases as it is too often a synonym of horrible technical debt in a small startup. The only reason you may use NoSQL is for scale, and you rarely hit such a scale as a startup.
What mistakes to avoid?
Using HubSpot: HubSpot is expensive and when using startup discounts, they lock you in a contract. Use better alternative such as Apollo.io. I did the mistake of using the Hubspot discount and I still had to pay when I was not using it. On top of this, Hubspot customer representatives are very painful to deal with and constantly try to contact you when you do not want to hear from them.
Over-Optimize cloud costs: your focus should be on building and getting to product—market fit, not trying to save $200 per month on your cloud bill. Use AWS (or Google Cloud), build something people want and do not worry about your cloud bill now.
Take a specialized tech-stack: use languages and frameworks your future employees will be likely good at. They can then focus on building and shipping, not learning a new language or framework. I made this mistake by using Scala for the backend of Codiga. The language is so-niche that there are not enough libraries. And the community is so toxic that the language and community did not grow. In hindsight, I should have used Python or Typescript (even for the backend), two languages programmers are very familiar with and have a lot of fantastic libraries to reuse.
Using “trendy” tools (e.g. Notion). Such tools require a learning curve. A lot of tech bros are using them, but they will likely not stick around as you grow and scale. No need to invest in a tool you are not going to keep as you grow.
Using expensive BI tools. I spent so much time trying different BI tools. So many people told me to use Tableau and other competitors. Many companies working on BI tools do not understand the SaaS market and require scheduling a meeting to hear a salesperson reading a sales pitch over zoom. Metabase is simple, affordable, and easy to use. It is just the way to go.
Using Carta. Carta is bloated, overpriced and hard to use. Their customer service always wants to call you and made me feel I go to the DMV. Carta is so complicated that I needed to call a customer success representative to understand how the product works and get started. Carta initial goal is to simplify capable management and replace an Excel spreadsheet. They succeeded to make the product so complicated that you need to call someone to even understand how it works. Make yourself a favor and do not sign up for this product.