$ account liketrek
TREK is a full-featured, self-hosted travel planning application built with NestJS (server) and React (client). It enables users to create trips, manage day-by-day itineraries, add places and reservations, track budgets, maintain packing lists, collaborate via real-time chat/notes/polls, and journal memories. The architecture is a monorepo with client, server, shared schemas, and a plugin SDK. Key capabilities include offline-first support via IndexedDB with a mutation queue, real-time WebSocket collaboration, MCP (Model Context Protocol) integration for AI tools, a plugin system with sandboxed RPC host, OAuth 2.1, OIDC SSO, passkeys, and a storage abstraction layer supporting local and S3 backends. The application is production-ready with extensive test coverage (Vitest, Playwright E2E, MSW mocks) and internationalization across 23 locales. The codebase demonstrates strong engineering practices: modular NestJS domains, Zod schema-first validation shared between client and server, idempotent mutation handling, and a well-designed plugin SDK with permission gating and digital signatures.