Welcome to the Ownly Starter Kit.
You just saved yourself 40+ hours of setup work. Let's make it count.
pnpm installcp .env.example .env.localdocker-compose up -dpnpm db:pushpnpm devOpen localhost:3000. You're live.
| Task | Status | Time Saved |
|---|---|---|
| Auth system | Done | ~8 hours |
| Database schema (13 models) | Done | ~6 hours |
| Dashboard layout | Done | ~4 hours |
| UI components (14) | Done | ~8 hours |
| API layer (tRPC) | Done | ~4 hours |
| CI/CD pipeline | Done | ~3 hours |
| Docker setup | Done | ~2 hours |
| Environment config | Done | ~2 hours |
| Total | Done | ~40 hours |
ownly/
├── apps/
│ ├── web/ ← Your Next.js app
│ │ ├── app/ ← Pages and layouts
│ │ └── components/ ← UI components
│ └── api/ ← tRPC API server
├── packages/
│ ├── database/ ← Prisma schema
│ └── lib/ ← Shared utilities
└── docs/ ← Guides and references
Start exploring:
- Landing page:
apps/web/app/page.tsx - Dashboard:
apps/web/app/dashboard/ - Database models:
packages/database/prisma/schema.prisma - API routes:
apps/api/src/routers/
- Run the dev server
- Click through the landing page and dashboard
- Read the code — see how things connect
- Check out the Prisma schema
- Update the branding (name, colors, logo)
- Edit the landing page copy
- Customize the dashboard layout
- Pick the core feature that makes your product unique
- Add a new page, API route, and database model
- Wire them together
- Clean up the UI
- Test the happy path
- Deploy to Vercel
- Share with your first user
# Development
pnpm dev # Start all apps
pnpm dev:web # Start web app only
pnpm dev:api # Start API only
# Database
pnpm db:push # Push schema changes
pnpm db:studio # Open visual database browser
pnpm db:seed # Add sample data
# Quality
pnpm lint # Run ESLint
pnpm typecheck # Check TypeScript
pnpm build # Production buildDATABASE_URL="postgresql://postgres:postgres@localhost:5432/ownly"
DEMO_MODE="true"Demo mode bypasses Clerk auth — perfect for getting started fast.
DATABASE_URL="postgresql://..."
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY="pk_live_..."
CLERK_SECRET_KEY="sk_live_..."Get Clerk keys at clerk.com (free tier available).
Database won't connect?
docker-compose up -d # Make sure Postgres is runningType errors after schema change?
pnpm db:push # Regenerates the Prisma clientSomething really broken?
rm -rf node_modules
pnpm install
pnpm devStill stuck? Check the FAQ or open a GitHub issue.
| File | What It Does |
|---|---|
apps/web/app/page.tsx |
Landing page |
apps/web/app/layout.tsx |
Root layout (header, providers) |
apps/web/app/dashboard/page.tsx |
Main dashboard |
packages/database/prisma/schema.prisma |
Database models |
apps/api/src/routers/ |
API endpoints |
.env.local |
Your environment variables |
docker-compose.yml |
Local development database |
- Read the README — Full overview of what's included
- Check USE_CASES — See what others are building
- Browse FAQ — Common questions answered
- Explore ARCHITECTURE — Deep dive into the stack
This starter kit is opinionated. That's the point.
Instead of giving you infinite choices (and infinite setup time), we made the decisions for you:
- Next.js 14 with App Router
- tRPC for type-safe APIs
- Prisma for database access
- Clerk for auth
- Tailwind + shadcn/ui for styling
These are the tools the best teams use. Now they're your starting point.
Your job isn't to configure. Your job is to build.
Every hour you spend on boilerplate is an hour you're not spending on:
- The feature that makes your product unique
- Talking to users
- Getting feedback
- Shipping
This starter kit exists so you can skip the boring parts and get to the good stuff.
Now go build something.
pnpm devBuilt by Cod3BlackAgency