Skip to content

Technology Stack

Generated: 2026-01-04

NexisChat is built with a modern TypeScript-first stack optimized for developer experience and performance.

CategoryTechnologyVersionPurpose
LanguageTypeScript5.8+Type-safe development
RuntimeNode.js≥18Server runtime
RuntimeBun1.2+whatsapp-web-server runtime
Package Managerpnpm10.16.1Workspace management
MonorepoTurborepo2.5.5Build orchestration
TechnologyVersionPurpose
TanStack Start1.121.2React 19 meta-framework
React19.1.0UI library
Vite7.0.0Build tool
TailwindCSS4.1.10Styling
TanStack Router1.121.2File-based routing
TanStack Query5.xServer state management
tRPC Client11.xType-safe API client
React Hook Form7.xForm handling
Zod3.xSchema validation
Sentry9.xError tracking
TechnologyVersionPurpose
Astro5.xStatic site generator
TailwindCSS3.xStyling
Paraglide2.xi18n (via @nexischat/i18n)
Sharp-Image optimization
TechnologyVersionPurpose
Next.js15.xReact framework
Fumadocs15.xDocumentation framework
MDX3.xMarkdown with JSX
TechnologyVersionPurpose
Hono4.xHTTP framework
tRPC11.xType-safe API layer
Drizzle ORM0.44.xDatabase ORM
PostgreSQL15+Primary database
Better Auth1.xAuthentication
Zod3.xSchema validation
Vitest2.xTesting
Sentry9.xError tracking

WhatsApp Server (apps/whatsapp-web-server)

Section titled “WhatsApp Server (apps/whatsapp-web-server)”
TechnologyVersionPurpose
Elysia1.xBun-native HTTP framework
whatsapp-web.js1.xWhatsApp Web automation
Drizzle ORM0.44.xDatabase ORM
PostgreSQL15+Session storage
WorkOS7.xAuthentication middleware
Swagger-OpenAPI documentation
TechnologyVersionPurpose
React19.xUI library
Radix UI1.xAccessible primitives
TailwindCSS4.xStyling
CVA1.xVariant management
Storybook9.xComponent development
Vitest2.xUnit testing
Chromatic-Visual regression
TechnologyVersionPurpose
Paraglide2.xCompiled i18n
Inlang-Translation management
TechnologyPurpose
PostgreSQL (Neon)Primary relational database
Drizzle ORMType-safe queries and migrations
Drizzle KitMigration management
TechnologyPurpose
WorkOS AuthKitEnterprise SSO, primary auth
Better AuthSelf-hosted auth fallback
TechnologyPurpose
CreemSubscription billing
TechnologyPurpose
GitHub ActionsCI/CD pipelines
TurborepoBuild caching and orchestration
DockerLocal development (postgres)
SentryError tracking and monitoring
CodecovCode coverage reporting
ToolPurpose
ESLint 9Linting (flat config)
PrettierCode formatting
TypeScriptType checking
KnipUnused code detection
ToolPurpose
VitestUnit and integration tests
Testing LibraryReact component testing
StorybookComponent isolation and docs
ChromaticVisual regression testing
Playwright (planned)E2E testing
ToolPurpose
GitSource control
CommitlintCommit message linting
GitHubRepository hosting
ChangesetsVersion management
PackageNode.jsBunTypeScriptReact
client≥18-5.8+19.x
server≥18-5.8+-
whatsapp-web-server-1.2+5.8+-
landing≥18-5.8+-
docs≥18-5.8+19.x
ui≥18-5.8+19.x
i18n≥18-5.8+-
FilePurpose
pnpm-workspace.yamlWorkspace package definitions
turbo.jsonTurborepo pipeline configuration
package.jsonRoot scripts and dependencies
.nvmrcNode.js version
.npmrcpnpm configuration
FileAppsPurpose
tsconfig.jsonAllTypeScript configuration
eslint.config.{js,mjs}AllESLint flat config
vite.config.tsclientVite bundler config
next.config.tsdocsNext.js config
astro.config.mjslandingAstro config
drizzle.config.tsserver, whatsapp-web-serverDatabase config
vitest.config.tsserver, uiTest config
client: @tanstack/react-router, @tanstack/start
server: hono, @trpc/server
whatsapp: elysia
landing: astro
client: @tanstack/react-query, zustand
client: react-hook-form, zod
all: tailwindcss, @nexischat/ui
client: tailwind-merge, clsx, cva
server: drizzle-orm, postgres
whatsapp: drizzle-orm, postgres
client ↔ server: @trpc/client, @trpc/react-query
server ↔ whatsapp: fetch (REST)