Apps
Apps Overview
Overview of all applications in the HanseNexus monorepo
The HanseNexus monorepo contains 9 applications spanning learning platforms, AI tools, client projects, and personal utilities. All apps share a common foundation: Next.js 16, TypeScript, and Bun as the package manager.
App Summary
| App | Description | Backend | Production URL | Status |
|---|---|---|---|---|
| Lexilink | Multi-subject learning platform | Convex (145 tables) | lexilink.app | Production |
| CalNexus | AI-powered calendar assistant | Convex (19 tables) | calnexus.hansenexus.dev | Production |
| Archus | Agent management dashboard | Convex (15 tables) | archus.hansenexus.dev | Production |
| Planex | Project blueprint generator | Convex (2 tables) | planex.hansenexus.dev | Production |
| Nexus LMS | Learning management system | Convex (13 tables) | nexus-lms.hansenexus.dev | Production |
| Elbe-Akustik | Hearing aid shop | Convex | elbe-akustik.hansenexus.dev | In Development |
| BGS-Service | Cleaning service platform | Convex (8 tables) | bgs.hansenexus.dev | Production |
| Portfolio | Portfolio website | None (static) | portfolio.hansenexus.dev | Production |
| Qript | AI transcription tool | PostgreSQL + Drizzle | Not deployed | Experimental |
Shared Tech Stack
All applications are built with:
- Next.js 16 with App Router, Turbopack, and React Compiler
- TypeScript in strict mode
- Bun as the package manager and runtime
- Tailwind CSS v4 with shadcn/ui components
- Biome for formatting and linting
Backend Strategy
Convex is the default backend for all production apps. It provides real-time data sync, serverless functions, and built-in authentication via @convex-dev/auth. Each app has its own Convex deployment, self-hosted on the k3s cluster.
The one exception is Qript, which uses PostgreSQL + Drizzle ORM with better-auth for authentication and Google Gemini for AI. Qript is experimental and its build is skipped in CI.
Shared Packages
Apps import shared functionality from internal monorepo packages (@hn-monorepo/*):
| Package | Purpose | Used By |
|---|---|---|
@hn-monorepo/ui | Shared UI components (shadcn/ui based) | All apps |
@hn-monorepo/auth | Convex auth provider pattern | Most apps |
@hn-monorepo/i18n | Shared i18n utilities (next-intl) | Most apps |
@hn-monorepo/email | Email templates + sending | CalNexus, Elbe-Akustik, BGS, Portfolio, Qript |
@hn-monorepo/config | Shared env validation (t3-env) | Most apps |
@hn-monorepo/monitoring | OTel + SigNoz integration | Most apps |
@hn-monorepo/shared | Shared utilities, hooks, types | Most apps |
Running Apps Locally
# Start a specific app with secrets injected via 1Password
bun dev:lexilink
bun dev:calnexus
bun dev:archus
bun dev:planex
# ... same pattern for all apps
Each app runs on a unique port to allow parallel development. See Development Guide for full setup instructions.