Synthwave Stack

screenshot of Synthwave Stack
react
tailwind
planetscale
prisma

Synthwave Stack

Custom Remix Stack for quickly shipping web apps. Built on top of Remix, it comes with Auth, Prisma, Radix UI primitives, Tailwind CSS, and more. Deploys to Vercel.

Overview:

Synthwave Stack is a development stack that is built with and for Remix, written in TypeScript. It offers a range of features and tools to streamline the development process, including deployment to Fly or Railway, a PlanetScale database, Prisma ORM, magic links for authentication, file uploads to Cloudflare R2, transactional emails, a component library (Catalyst UI), styling with TailwindCSS, analytics with Amplitude, error tracking with Sentry, code formatting and linting, a health check API route, and billing and subscriptions with LemonSqueezy (coming soon). The stack is highly customizable, allowing users to fork and modify it to suit their own needs.

Features:

  • Built with/for Remix: The stack is designed specifically for use with Remix, a modern JavaScript framework for building single-page applications.

  • Written in TypeScript: The stack is written in TypeScript, a strongly typed superset of JavaScript, providing enhanced developer experience and error checking.

  • Deploys to Fly / Railway: The stack offers seamless deployment to the Fly or Railway platforms, making it easy to deploy and manage the app in production and staging environments.

  • Database - PlanetScale: The stack includes integration with PlanetScale, a database service that offers scalability, reliability, and ease of use.

  • ORM - Prisma: Prisma, an open-source database toolkit, is used for handling database operations, providing a convenient and efficient way to interact with the database.

  • Built-in magic links, sign in with Google and Twitter - remix-auth: The stack includes built-in authentication functionality, allowing users to sign in with magic links or using their Google or Twitter accounts.

  • Upload Files to Cloudflare R2: The stack provides the ability to upload files to Cloudflare R2, a distributed file storage system, making it easy to handle file uploads in the application.

react
React

React is a widely used JavaScript library for building user interfaces and single-page applications. It follows a component-based architecture and uses a virtual DOM to efficiently update and render UI components

tailwind
Tailwind

Tailwind CSS is a utility-first CSS framework that provides pre-defined classes for building responsive and customizable user interfaces.

planetscale
Planetscale

PlanetScale is a MySQL-compatible serverless database that brings you scale, performance, and reliability — without sacrificing developer experience.

prisma
Prisma

Prisma is a server-side library that helps developers read and write data to the database in an intuitive, efficient and safe way.

fullstack
Fullstack

A fullstack boilerplate provides a starter application that includes both frontend and backend. It should include database, auth, payments, user roles and other backend services to build a fully featured saas or webapps.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

framer-motion
Framer Motion

Alpine.js is a lightweight JavaScript framework that simplifies the process of creating dynamic, reactive user interfaces on the web. It uses a declarative syntax that offers a higher level of abstraction compared to vanilla JavaScript, while being more performant and easier to use than jQuery.

postcss
Postcss

PostCSS is a popular open-source tool that enables web developers to transform CSS styles with JavaScript plugins. It allows for efficient processing of CSS styles, from applying vendor prefixes to improving browser compatibility, ultimately resulting in cleaner, faster, and more maintainable code.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.