Engineering

The SaaS Stack Behind Seztech: Next.js, Prisma and AI

A small team running several production products needs a boring, shared stack. Here is what we use, why, and what we would change.

Running several production products, including Byvano, DeskTrust and RxCompliant, with a small team needs a stack that keeps developers productive without giving up reliability. Here is what we use and why.

The core stack

Our web products share the same foundations:

Next.js 15The App Router for the marketing site, the dashboard and the API in one codebase
ReactServer components for content pages, client components for dashboards
Prisma 5Type-safe database access, with the schema file doubling as documentation
MySQL & PostgreSQLMySQL behind Byvano, PostgreSQL behind RxCompliant
Tailwind CSSUtility-first styling, shared conventions across products
PM2 + NginxProcess management, plus a reverse proxy with Let's Encrypt SSL

Why Next.js

Next.js removes the need for a separate backend. API routes sit alongside the pages they serve, so a whole product deploys as one application. Server components keep marketing and help pages fast and easy to index. Client components handle the interactive dashboards.

The trade-off is complexity at the edges. Knowing when code runs on the server and when it runs in the browser takes discipline. For our team, having one framework for everything is worth it.

Prisma, and one gotcha

Prisma gives us typed queries and a readable data model. We use the Prisma Client for almost everything and fall back to raw SQL ($queryRaw) for heavy aggregation and bulk updates.

💡
Lesson learned: on a database that was first created with prisma db push, later running migrate commands can try to "repair" drift in destructive ways. On those databases we now write migrations by hand and review every statement before it runs.

Hosting

Our web apps run on a Linux VPS, with PM2 keeping each app alive and Nginx in front of it handling TLS. DeskTrust's backend runs on AWS. Because a Next.js app serves the frontend, the API and server rendering from a single Node.js process, we don't need separate frontend and backend fleets, which keeps hosting costs low.

How we use AI

We use AI in every SaaS product, always for a specific job:

  • RxCompliant uses Google's Gemini models to read uploaded prescription documents and score them. It pairs that with a lookup in the federal NPI registry, and anything uncertain goes to a person to review.
  • Byvano uses AI to draft captions, hashtags and calls to action for social posts. Its AI layer can switch between providers, including Anthropic's Claude, Google's Gemini and OpenAI.
  • DeskTrust uses AI to turn a day's work into a short written summary for each person and team.
Use the cheapest model that clears the quality bar, and keep a person in charge of the decisions that matter.Our rule for AI in production

The desktop app

DeskTrust needs to run on people's computers, so it ships as a desktop app for Windows and Mac with automatic updates. The design goal is to stay lightweight in the background, recover cleanly after sleep or a lost network connection, and be clear about what is being recorded.

Deployment

Deployment is deliberately simple: pull, build, restart the process with PM2, then check the live site. We don't use Kubernetes or a complex pipeline. For a team our size, that is the right level of complexity, and we will add more when the product needs it, not before.

What we would do differently

  1. TypeScript everywhere from day one. RxCompliant is written in TypeScript and the difference is noticeable.
  2. A shared component library across products instead of copying UI between them.
  3. Automated checks earlier. Even basic linting and tests on every push catch a surprising amount.
  4. Pick one database. Running both MySQL and PostgreSQL works, but one would be simpler. New projects start on PostgreSQL.

Explore the products

Each SaaS product has a free way to start. Visit one to see it in action.

AP
Ajay PandeySeztech Inc., Plano, Texas. Writes about building and running SaaS products.