A local-first build-planning application for exploring curated Tom Clancy's The Division 2 loadouts, recording owned gear, assembling custom builds, and evaluating progress without hiding incomplete or unverified data.
Build Arsenal is a personal tool and portfolio project. It is designed to demonstrate a thoughtful desktop workflow, evidence-aware data modeling, and practical browser-local persistence—not to act as an exhaustive game database, a guaranteed best-in-slot authority, or a commercial service.
- Browse eight curated B01–B08 reference builds covering sustained damage, PvP skirmishing, precision damage, skill damage, crowd control, healing, tanking, and a lower-gate all-rounder.
- Scan each build's role, environment, weapons, gear focus, skills, requirements, strengths, tradeoffs, and data-completeness state before opening it.
- Inspect a full read-only reference loadout with slot details, alternatives, restrictions, farming notes, source status, and explicit unknowns.
- Create custom builds using either Archetype Direction or Exact Build Completion grading.
- Record real owned items in a browser-local Collection, assign them across builds, and keep unsupported or missing values visible.
- Review compatibility, roll quality, goal fit, completion, tracked totals, caps, gaps, and calculation-unavailable states through the existing evaluation engine.
- Save automatically in the browser and import or export portable custom-build JSON files.
- Search a normalized equipment catalog while keeping PvE, PvP, current, legacy, partial, and conflicting evidence states distinct.
The library makes the eight curated directions easy to compare while exposing complete and partial records instead of presenting every build with the same confidence.
| Evidence-aware build detail | Searchable equipment catalog |
|---|---|
![]() |
![]() |
- Product judgment: the primary flow moves from a trustworthy reference direction to owned inventory, custom assembly, evaluation, and a clear next action.
- Honest data UX: unknown, partial, conflicting, unavailable, current, and environment-specific states remain first-class instead of being coerced into false precision.
- Typed domain modeling: Zod schemas and TypeScript contracts cover builds, equipment, ownership, provenance, compatibility, calculation inputs, and generated catalog artifacts.
- Calculation boundaries: weapon-damage buckets, caps, conditional effects, PvE/PvP context, and unsupported calculations are kept separate behind compatibility adapters.
- Data-driven UI: B01–B08 and custom-build records are loaded from validated data rather than being hard-coded into presentation components.
- Local-first state: Collection items and custom builds persist without accounts, a backend, analytics, or external runtime APIs; import/export provides an explicit portability path.
- Maintainable generation: deterministic scripts regenerate the catalog and reference library, while tests and integrity checks catch stale IDs, schema drift, and unknown-data regressions.
For academic and employment review, the project provides concrete examples of the following skills:
| Skill area | Evidence in the project |
|---|---|
| Frontend engineering | A component-based Next.js and React interface with typed props, reusable workspaces, responsive layout behavior, accessible labels, loading feedback, empty states, and detailed interactive inspectors. |
| UI/UX and product design | Desktop-first information architecture, progressive disclosure, clear navigation, scan-friendly build summaries, practical next actions, and visible handling of partial or incompatible states. |
| TypeScript and domain modeling | Explicit models for builds, loadout slots, catalog items, ownership, game modes, grading modes, source status, compatibility, and calculation availability. |
| Schema validation and data integrity | Zod validation, canonical identifiers, migration adapters, generated-artifact checks, referential-integrity rules, and safe rejection of malformed import files. |
| Algorithm and rules-engine design | Separate archetype-direction and exact-completion grading, owned-item evaluation, roll-quality scoring, compatibility checks, stat aggregation, cap handling, and honest unsupported-result states. |
| State management and persistence | Browser-local Collection and custom-build storage, defensive parsing, automatic saving, assignment tracking, and versioned JSON import/export without a backend. |
| Data engineering | Normalized source records, deterministic catalog and build-library generation, provenance metadata, explicit data gaps, and distinct PvE/PvP evidence handling. |
| Testing and quality assurance | Focused automated coverage for schemas, catalog integrity, calculations, grading, migrations, generated data, and UI assets, plus linting, type-checking, and production-build validation. |
| Technical communication | Concise documentation of setup, architecture, calculation boundaries, data maintenance, grading behavior, evidence policy, release readiness, and known limitations. |
| Responsible tool use | Transparent AI-assistance disclosure and design decisions that avoid fabricated precision, unsupported recommendations, hidden unknowns, or claims of exhaustive coverage. |
- Next.js 15 and React 19
- TypeScript 5
- Zod schemas
- CSS-based desktop application shell and responsive narrow-window fallback
- Node's built-in test runner
- pnpm workspace tooling
- Browser
localStoragefor device-local Collection and custom-build persistence
The application has no backend, authentication system, database server, scraper, analytics service, or required external API.
Requirements:
- Node.js 20 or newer
- pnpm 11.9.0
- Git
pnpm install --frozen-lockfile
pnpm run devOpen http://localhost:3000.
On Windows, after dependencies are installed, Start Build Arsenal.cmd provides the same local development startup and opens the browser when the app is ready.
pnpm run build
pnpm run startpnpm run validateUseful focused commands:
| Command | Purpose |
|---|---|
pnpm run typecheck |
Check both configured TypeScript projects. |
pnpm run lint |
Run ESLint with warnings treated as failures. |
pnpm run validate:schema |
Validate seed data and generated catalog artifacts. |
pnpm run test |
Compile and run the automated test suite. |
pnpm run generate:catalog-data |
Regenerate normalized catalog and dropdown artifacts. |
pnpm run generate:library-data |
Regenerate the B01–B08 build library. |
app/— Next.js routes, metadata, and global styles.components/— application shell, libraries, workspaces, inspectors, and reusable UI.src/— schemas, types, catalog migration, calculations, grading, and compatibility logic.data/— curated seed records, provenance, build packs, and deterministic generated artifacts.scripts/— catalog/library generation and validation commands.tests/— schema, catalog, evaluator, calculation, and UI-asset checks.docs/— focused methodology, data-maintenance, accessibility, and release notes.
The larger generated catalog files are committed intentionally: they are deterministic build artifacts used by validation to detect data drift. They contain game-planning records, not user data or secrets.
- PvE values are never substituted for unknown PvP values.
- Unknown requirements do not count as satisfied in Exact Build Completion.
- Unknown maxima are excluded rather than scored as zero.
- Conditional, seasonal, specialization, Expertise, talent, and temporary effects are excluded from permanent totals unless the calculation registry explicitly supports them.
- Reference builds are read-only; owned inventory and custom builds remain separate.
- Source status and known acquisition gaps are visible in the interface and supporting documentation.
See calculation methodology, source policy, and catalog architecture for the detailed boundaries.
- The catalog and eight reference builds are curated, not exhaustive, and can become stale as the game changes.
- Some acquisition methods, PvP values, talents, temporary effects, and exact roll maxima remain partial, conflicting, or unverified.
- Recommendations are planning guidance, not guaranteed best-in-slot results.
- Custom builds and Collection data are stored in the current browser. Clearing site data removes them unless they were exported first.
- Import/export uses a project-specific JSON format; it is not an official Ubisoft format.
- Desktop and laptop use receive the most design attention. Narrow-window support is functional but intentionally basic.
- The project is suitable as a local portfolio showcase, not as a production service. It has not completed a formal third-party accessibility or security audit.
- Development and testing
- Custom-build grading modes
- Calculation methodology
- Catalog architecture
- Source-verification policy
- Data maintenance
- Known release and accessibility limitations
- Contributor guidance
This project is directed and reviewed by its maintainer and was developed with substantial assistance from OpenAI Codex, including research organization, requirements drafting, data preparation, code generation, debugging, and documentation. It should not be represented as entirely hand-written.
AI-generated output can contain mistakes. Game-data claims, recommendations, and calculations should be evaluated alongside the repository's source status, documented limitations, and verification notes.
This is an independent, unofficial fan-made project. It is not affiliated with, endorsed by, sponsored by, or approved by Ubisoft or Massive Entertainment. Tom Clancy's The Division 2 and associated names, marks, and game content belong to their respective owners.
No open-source license is currently granted. Public source visibility does not grant permission to redistribute the project or third-party game material.



