albertonline.org docs
Apps

web

Personal product suite for albertonline.org — AI chat, form/travels/plans tools, and admin telemetry behind one Better Auth login.

Overview

web is the main product for albertonline.org: a suite of tools behind one Better Auth login — AI chat, image/audio/video generation, a form builder, a table builder, a map-first travels deal-watcher, an agent-plans kanban, todos, sites, a dashboard, and a CMS-backed blog. It also exposes an MCP server (POST /mcp) so authenticated agents can create and track plans. Built on Next.js 16 (App Router, Turbopack) and localized in en / lt / ru.

Stack

  • Next.js 16 (App Router, Turbopack) + React 19
  • Effect v4 RPC API (@repo/api, @repo/effect-http)
  • Drizzle ORM (@repo/db) + Supabase / Upstash-REST Redis (rate limiting)
  • Better Auth (@repo/auth, @polar-sh/better-auth)
  • next-intl internationalization (@repo/internationalization, en/lt/ru)
  • Tailwind CSS + radix-ui + @repo/design-system
  • next-safe-action, react-hook-form, nuqs, TanStack Table
  • @repo/ai chat (Claude / Gemini / GLM models, voice dictation) + OpenAI image generation
  • three / @react-three (3D visuals)
  • MapLibre GL via mapcn (@repo/design-system/components/map)

Admin-only routes (ai, plans, forms, tables, sites, images, audio, video, travels, telemetry, admin) redirect non-admins to /dashboard.

Develop

pnpm -F web dev              # http://localhost:3001 (Turbopack)
pnpm -F web dev:local-prod   # :3001 against the prod Supabase pooler

Test

pnpm -F web test             # vitest (node + unit configs)
pnpm -F web test:unit        # unit config only
pnpm -F web test:browser     # vitest browser mode
pnpm -F web test:coverage    # coverage (v8)
pnpm -F web test:e2e         # Playwright (local; auto-spawns dev server on :3001)
pnpm -F web test:a11y        # Playwright accessibility (axe-core)
pnpm -F web test:lhci        # Lighthouse CI

Build & deploy

pnpm -F web build            # next build --turbopack
pnpm -F web deploy           # OpenNext build + deploy to Cloudflare Workers
pnpm -F web preview          # OpenNext local preview
pnpm -F web desktop:build    # Tauri desktop build

Production for web is served on Vercel (www.albertonline.org). An OpenNext/Cloudflare Workers target (wrangler.jsonc, open-next.config.ts, pnpm -F web deploy) and a Tauri desktop build (src-tauri/) also exist as alternate targets. See Deployment.

Structure

src/
├── app/
│   ├── [locale]/        # localized routes: ai, images, audio, video,
│   │                    #   forms, tables, travels, plans, todos, sites,
│   │                    #   dashboard, telemetry (admin), account, blog
│   ├── api/             # agent, ai, chat, forms, images, rpc, metrics, auth
│   └── mcp/             # MCP server (POST /mcp)
├── actions/             # next-safe-action server actions
├── components/          # header, sidebar, providers, locale switcher
├── lib/                 # auth, navigation, forms, supabase helpers
├── i18n/                # next-intl request config
└── utils/               # shared client/server utils

See the apps overview and the monorepo overview.

On this page