FFXIV Teamcraft is a large full-stack companion application for Final Fantasy XIV, used by players to plan crafting, track gathering, set in-game alarms, manage gear sets, browse item databases, and coordinate community crafting lists. The production system consists of an Angular 18 web client, an Electron desktop shell with packet-capture capabilities, a NestJS API, and a Firebase backend (Firestore, Auth, Cloud Functions). The client is the dominant surface: NgRx state modules, RxJS-heavy services, and dozens of standalone Angular components implement everything from a crafting simulator to fishing report overlays and inventory optimization. An associated data-extraction pipeline converts FFXIV game files and external APIs into static JSON assets consumed by the client, making this a hybrid application with a significant data-engineering component embedded in the broader product architecture. Primary data flows are: (1) static game data generated by extractors and loaded through a lazy-data facade; (2) user-generated content persisted in Firestore through generic storage abstractions; (3) live game telemetry captured by the Electron app via pcap and reported to internal GraphQL/REST endpoints; and (4) marketboard data pulled from Universalis. The codebase is organized as an Nx monorepo with shared `libs/types`, `libs/data`, `libs/search`, and `libs/simulator` packages. External dependencies include Firebase, Apollo GraphQL, ng-zorro, Flex Layout, flexsearch-ts, and multiple FFXIV community services (XIVAPI, Garland Tools, Universalis, Etro). Architecturally, the code is professional but carries significant technical debt. It mixes old class-based NgRx actions with modern `createAction`/`createEffect` APIs, blends standalone components with legacy NgModules, and duplicates domain models across `libs/types` and client modules. There are commented-out implementations, disabled tests, hardcoded game constants, and a handful of fragile extractor scripts. Still, the core abstractions—Firestore storage wrappers, lazy-data loading, base component classes, RxJS utilities, and a generic folder-tree facade—are solidly designed and reused extensively. The project is actively maintained, evidenced by recent commits, but the pace of feature work has left some cleanup and modernization incomplete.