Tech Stack

Tech Stack

Let's review our tech stack to help you understand the tools we use and why we chose them.

Expo

Expo (opens in a new tab) is a framework and platform for universal React applications. We use it to build and deploy our mobile application across both iOS and Android platforms.

NativeWind & Tailwind CSS

NativeWind (opens in a new tab) is a universal styling system for React Native, powered by Tailwind CSS. It enables consistent styling across platforms, improving developer experience and code maintainability.

Tailwind CSS (opens in a new tab) is a utility-first CSS framework that we use through NativeWind to create a consistent design system for our application. It allows for rapid UI development without writing custom CSS.

GluestackUI

GlueStackUI (opens in a new tab) is an open-source library of customizable UI components for React, Next.js, and React Native. Similar to Radix UI and shadcn/ui, it offers a collection of accessible and composable components. GlueStackUI is based on NativeWind styling, allowing for easy customization and integration. Instead of being a pre-packaged dependency, it enables developers to copy-paste only the needed components directly into their projects, promoting flexibility and efficiency in UI development.

Supabase

Supabase (opens in a new tab) is an open-source Firebase alternative. We use it for several purposes:

  • Authentication: Supabase Auth helps us manage user authentication and authorization in our application.
  • Database: We use Supabase as our primary database, leveraging its PostgreSQL backend.
  • Push Notifications: Supabase provides functionality for sending push notifications to our users.
  • Storage: Supabase Storage allows us to easily store and serve user-generated content, files, and media assets.
  • Functions: Supabase Edge Functions enable us to run serverless code for backend logic and API endpoints.

Additional Tools

Monitoring

Sentry (opens in a new tab): For error tracking and performance monitoring.

Analytics

Payments

RevenueCat (opens in a new tab): For managing in-app purchases and subscriptions.

Push Notifications

OneSignal (opens in a new tab) is our push notification service. We chose it for its:

  • Simple UI for planning and scheduling notifications
  • Cross-platform support
  • Easy integration with our app