What is Straktur?
Production-ready Next.js codebase for internal tools. Buy the code, deploy it yourself, and customize everything.
Straktur is a Next.js codebase for building internal tools with AI coding agents — structured so the agents don't lose the plot after three prompts.
You describe what you need. AI builds it using Straktur's architectural rules (defined in CLAUDE.md), pre-built adapters for auth/data/storage, and UI primitives like TanStack Table, shadcn/ui, and React Hook Form + Zod.
The result: production-ready code that stays consistent as the app grows — not a prototype that falls apart in week two.
What you use it for
CRMs, admin panels, client portals, ops dashboards, back-office workflows, custom internal apps replacing Airtable or Retool setups.
Not for: public SaaS products, marketing sites, e-commerce storefronts, or anyone looking for a hosted no-code tool.
What you actually buy
When you buy Straktur, you get a production-ready codebase - not a hosted app.
That means:
- You get the source code
- You run it locally
- You deploy it on your own infrastructure
- You customize it for your own workflows
- You keep full control over the product you build on top of it
Quick Start
Want to evaluate Straktur properly? Run it locally first.
git clone <repo-url> my-app
cd my-app
npm install
cp .env.example .env.local
# Edit .env.local with your database URL
npm run db:push && npm run db:seed
npm run devOpen http://localhost:3000 and sign in with the demo account: test@local.dev / testingpassword
Tech Stack
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router, React 19) |
| Language | TypeScript (strict mode) |
| Styling | TailwindCSS 4 + shadcn/ui |
| Database | PostgreSQL + Drizzle ORM |
| API | oRPC + TanStack Query |
| Auth | better-auth |
Documentation Structure
Getting Started
- Getting Started - Setup in 5 minutes
- Project Structure - Where things live
- Environment Variables - All config options
Core Concepts
- Data Flow - How it all fits together
- Feature Modules - The feature-first pattern
- Organizations & Roles - Organization isolation
Features
- Authentication - Auth methods, RBAC, sessions
- Database - Drizzle ORM, migrations, queries
- API (oRPC) - Type-safe API layer
- UI Building Blocks - DataTable, forms, layouts
- Storage - File uploads, images
- Email - Transactional emails
Guides
- Recipes - Step-by-step tutorials
- Troubleshooting - Common errors and fixes
Philosophy
- One way to do things - No "you can also..." alternatives
- Feature-first - All code for a feature lives together
- Type-safe end-to-end - TypeScript from database to UI
- Server-first - Server Components by default
- AI-optimized - Structure and docs designed so AI can build features without getting lost
Reference Implementation
The Clients feature (/clients) demonstrates all patterns:
| File | Purpose |
|---|---|
src/features/clients/ | Feature module |
src/server/routers/clients.ts | oRPC router |
src/app/(dashboard)/clients/page.tsx | List page |
src/app/(dashboard)/clients/[id]/page.tsx | Detail page |
Study this feature to understand the patterns, then apply them to your own features.