Building In Public: Cartta Tech Stack

This page summarizes the projects mentioned and recommended in the original post on dev.to

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • TypeScript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • First and foremost, the language and framework – Typescript & React. Typescript 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 is a by-product of the next two things I will mention, Next and Remix. 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. 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.

  • vercel

    Develop. Preview. Ship.

  • Lastly, hosting and third parties. Everything is hosted on Vercel. 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.

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • Tailwind CSS

    A utility-first CSS framework for rapid UI development.

  • Next up, component library and CSS frameworks. For this, I am using a combination of Tailwind and Mantine. Tailwind 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. Cartta 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 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 Cartta benefits from.

  • supabase-js

    An isomorphic Javascript client for Supabase. Query your Supabase database, subscribe to realtime events, upload and download files, browse typescript examples, invoke postgres functions via rpc, invoke supabase edge functions, query pgvector.

  • First and foremost, the language and framework – Typescript & React. Typescript 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 is a by-product of the next two things I will mention, Next and Remix. 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. 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.

  • React

    The library for web and native user interfaces.

  • First and foremost, the language and framework – Typescript & React. Typescript 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 is a by-product of the next two things I will mention, Next and Remix. 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. 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.

  • Next.js

    The React Framework

  • First and foremost, the language and framework – Typescript & React. Typescript 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 is a by-product of the next two things I will mention, Next and Remix. 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. 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.

  • mantine

    A fully featured React components library

  • Next up, component library and CSS frameworks. For this, I am using a combination of Tailwind and Mantine. Tailwind 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. Cartta 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 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 Cartta benefits from.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • quickstart-android

    Firebase Quickstart Samples for Android

  • Supabase, is a Firebase 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 Cartta. 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.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts