Introduction

A small, configurable foundation for web, iOS, and Android.

Onekit is a starter for building one app that runs in the browser, on iOS, and on Android. It combines One for routes and the web server, Tamagui for shared UI, Better Auth with PostgreSQL and Drizzle for accounts, and SST for deploying the server to AWS.

The point is to be small enough to read in an afternoon. Every file is meant to be edited, and the guides here tell you where each decision lives.

What is included

  • Shared Tamagui home, sign-in and sign-up, forgot and reset password, account, and appearance screens.
  • One file routes, a statically generated home page, server API routes, and these docs.
  • Better Auth sessions, passwordless by default: a one-time code emailed to the address you sign in with, or texted to a verified phone number, with optional Google, Apple, Microsoft and GitHub browser-based OAuth, and an email-and-password form available with AUTH_PASSWORD=true.
  • Password reset, email confirmation, password change, and account deletion, delivered through Amazon SES or a local console logger.
  • Stripe subscriptions with Checkout, the customer portal, verified webhooks, and a local entitlement table.
  • Native session cookies in Expo SecureStore and authenticated request helpers.
  • A PostgreSQL auth schema, versioned Drizzle migrations, and local Docker Compose.
  • SST configuration for an AWS container service with HTTPS and runtime secrets.
  • Type checks, formatting and linting, auth integration tests, browser smoke tests, and CI.

Organizations and uploads are planned as later modules.

Guides

GuideCovers
Get startedInstall, run locally, and check the starter
ConfigurationEvery setting and where it lives
AuthenticationSessions, providers, and the auth clients
EmailReset, confirmation, and deletion emails
BillingStripe subscriptions and entitlements
DatabaseMigrations and querying
DeploymentSST, secrets, and domains

Project layout

app/ One routes and API handlers
src/auth/ Browser and native auth clients
src/components/ Shared UI
src/config/ Public app configuration
src/docs/ These guides, as MDX
src/server/ Server-only auth, email, and database code
src/tamagui/ Design system and appearance provider
drizzle/ Reviewed database migrations
infra/ Deployment configuration
scripts/ Setup and migrations
tests/ Auth integration and browser checks
Onekit / A little less setup.Web · iOS · Android