Building In Public: Carta Tech Stack
Tags: saas, webdev, startup, react
Published: 2022-08-02 13:08:00

In 2022, it is almost too easy to get a proof of concept built and launched for almost free. There are so many free resources, open source libraries and free hosting solutions available. Carta Maps leverages a lot of these and I will go one by one explaining what I chose, why I chose it and what my experience was with it.

First and foremost, the language and framework – Typescript & React. [Typescript](https://www.typescriptlang.org/) is a must for a project of this size. It provides safety and peace of mind as I iterate quickly to solve bugs and add new features. [React](https://reactjs.org/) is a by-product of the next two things I will mention, [Next](https://nextjs.org/) and [Remix](https://remix.run/). Both of these are higher abstractions on top of React and supply incredible tooling to build fast server side rendered applications. Picking one or the other was driven by my database and auth provider, [Supabase](https://supabase.io/). I could have tried to make it work with Remix, but there was already an authentication helper for Next from the Supabase community so I decided on Next. Still using Remix for this current website since I do love Remix so much.

Supabase, is a [Firebase](https://firebase.google.com/) alternative built on top of Postgres which is extremely powerful. I like Firebase too, but I like the idea of a defined schema for a project like Carta. NoSQL approaches have their place but they also scare me a bit. In addition, Supabase’s RLS (row level security) is a next level supapower that you just can’t live without after you use it. It not only simplifies all my queries but also provides an implicit security with minimal work.

Next up, component library and CSS frameworks. For this, I am using a combination of Tailwind and Mantine. [Tailwind](https://tailwindcss.com/) is used mostly for layout and responsive design. The ability to quickly mock up layouts and ensure that everything is responsive without needing to go back around and optimize for multiple layouts is key for speed. Carta uses a lot of UI and I knew I had no chance of launching this so quickly without a little help, _Mantine enters chat_. [Mantine](https://mantine.dev/) is an amazing component library with tons of useful components that are battle tested and accessible. It also provides a lot of utilities and additional features that Carta benefits from.

Lastly, hosting and third parties. Everything is hosted on [Vercel](https://vercel.com/). I have been using Vercel since it came out and have always been impressed with its feature set and overall incredible developer experience. Both, marketing website and application are hosted there and I couldn’t be happier. For emails, Send Grid. For payments, Stripe. Analytics, Plausible. Bug reporting, Sentry.

The best part of all, it's all running for $0. I will eventually upgrade a few free accounts to paid but then even, the total cost will be under $100 a month. If Carta Maps grows, all of these services and platforms can grow with it seamlessly.

Check out [cartamaps.com](https://www.cartamaps.com) and let me know what you think!

Until next time!

– Franco Valdes