Cross-platform AuDHD life operating system — regulation in your pocket, planning at your desk.
| Surface | Package | Role |
|---|---|---|
| NeuroLife Pocket | apps/mobile |
In-the-moment regulation, rescue, capture, offline-first |
| NeuroLife Command Center | apps/web |
Budgeting, life admin, documents, AI workspaces |
| API | apps/api |
NestJS + Prisma backend — sync, AI orchestration, notifications |
| Layer | Technology |
|---|---|
| Monorepo | pnpm 10 + Turborepo |
| API | NestJS 11, Prisma 6, PostgreSQL 16 |
| Web | Next.js 15, React 18.3, Tailwind 4 |
| Mobile | Expo 52, React Native 0.76, llama.rn |
| Infra (local) | Docker Compose — Postgres, Redis, MinIO |
| AI | @neurolife/ai-core — 8 specialist agents + privacy routing |
React is pinned to 18.3.1 workspace-wide (Expo requirement). See CONTRIBUTING.md.
# Prerequisites: Node 22+, pnpm 10.11, Docker
git clone https://github.com/freqkflag/neurolife.git
cd neurolife
cp .env.example .env
docker compose -f services/docker-compose.yml up -d
pnpm install
pnpm db:generate
pnpm db:push
pnpm db:seed
pnpm devAfter clone, symlink env for API/Prisma: ln -sf ../../.env apps/api/.env && ln -sf ../../.env packages/database/.env
Headless homelab / LAN: pnpm dev:lan (or pnpm dev:tmux for a persistent tmux session). From another device use the server LAN IP, e.g. http://192.168.12.127:3000 — not localhost. See docs/development.md.
| App | URL / command |
|---|---|
| Web (Command Center) | http://localhost:3000 (LAN: pnpm dev:lan) |
| API | http://localhost:3001 |
| Mobile (Pocket) | pnpm --filter @neurolife/mobile dev (Metro 8082) |
| API health | http://localhost:3001/health |
| Dev login | dev@neurolife.local / dev-neurolife after pnpm db:seed |
| Ops | pnpm health · pnpm verify:dev · pnpm stop:dev |
pnpm typecheck
pnpm lint
pnpm build| Package | Purpose |
|---|---|
@neurolife/shared |
Zod schemas, types, neuro-affirming copy helpers |
@neurolife/design-system |
Sensory-safe tokens and components |
@neurolife/database |
Prisma schema and client |
@neurolife/ai-core |
Multi-agent orchestrator + 8 specialists |
@neurolife/sync |
Offline-first sync engine |
@neurolife/encryption |
Field-level encryption |
@neurolife/config |
Shared TypeScript and ESLint config |
FULLY_LOCAL · SELF_HOSTED · HYBRID · CLOUD_ASSISTED
Mobile rescue mode works offline without cloud API keys. Details: docs/privacy-modes.md.
| Doc | Description |
|---|---|
| docs/ | Architecture, development, API, privacy |
| CHANGELOG.md | Version history (Keep a Changelog) |
| CONTRIBUTING.md | Setup, conventions, PR workflow |
| SECURITY.md | Vulnerability reporting |
neurolife/
├── apps/
│ ├── api/ # NestJS REST API
│ ├── web/ # Next.js Command Center
│ └── mobile/ # Expo Pocket app
├── packages/ # shared, database, ai-core, sync, …
├── services/ # docker-compose.yml
├── docs/ # guides
├── CHANGELOG.md
├── CONTRIBUTING.md
└── SECURITY.md
MIT — see LICENSE. Copyright (c) 2026 Joey Hexx.