React + Effect PC builder MVP with structured component schemas
  • TypeScript 95.5%
  • CSS 4.3%
  • HTML 0.2%
Find a file
htayj 098facbe5b Document expanded component coverage
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-08-28 23:36:58 -04:00
docs Add component schema diagrams 2026-08-28 23:36:58 -04:00
src Display expanded component resources 2026-08-28 23:36:58 -04:00
.gitignore Initial computer builder MVP 2026-05-14 03:22:58 -04:00
index.html Add NVIDIA GPUs and component schemas 2026-05-14 05:11:45 -04:00
LICENSE Initial computer builder MVP 2026-05-14 03:22:58 -04:00
package-lock.json Initial computer builder MVP 2026-05-14 03:22:58 -04:00
package.json Expose Vite development servers on the network 2026-08-28 23:36:58 -04:00
README.md Document expanded component coverage 2026-08-28 23:36:58 -04:00
tsconfig.json Initial computer builder MVP 2026-05-14 03:22:58 -04:00
vite.config.ts Expose Vite development servers on the network 2026-08-28 23:36:58 -04:00

Computer Builder

A React + Effect TypeScript MVP for building PCs, workstations, and servers. The current slice stores and validates structured component catalogs for AMD Radeon/NVIDIA GeForce GPUs, motherboards, CPUs, PSUs, memory, storage, chassis, cooling, fans, expansion/server infrastructure, peripherals, and software licenses, then displays the GPU catalog with parsed labels, bounding dimensions, specifications, resources, capabilities, performance marks, and slot connection-point data in a sortable table.

Development

npm install
npm run dev

The dev server binds to http://127.0.0.1:5173/.

Verification

npm test
npm run build

Data scope

The seed catalogs cover modern AMD Radeon RX desktop GPUs from RX 5000, RX 6000, RX 7000, and RX 9000 generations, selected NVIDIA GeForce RTX 40/50 cards, modern AM5/LGA1700 motherboards, modern AM5/LGA1700/LGA1851 CPUs, representative ATX/SFX PSUs, RAM kits/modules, NVMe/SATA storage, desktop/rack chassis, CPU coolers, case fans, NICs, HBAs, backplanes, cables/risers, displays, input devices, and OS licenses. Specification data is stored locally in src/data/; PassMark mark fields include the source URL and collection date where available. The domain schema is data-model only: identity, classification, labels, lifecycle, dimensions, slots, resources, capabilities, marks, commercial facts, provenance, and category-specific facts. Labels parse variable marketing names into consistent fields: company, brand, segment, generation, model, suffixes, and raw text. Dimensions treat each component as a bounding cuboid. Slots model any component-to-component connection point, including required/provided plugs and sockets, side, interface/version/width, and coordinates. Resources model values a component provides or consumes in strongly typed structured objects, including capacity, clearances, airflow, thermal dissipation, network/storage throughput, cable power ratings, software entitlements, and power draw. Capabilities model discrete user/software-facing component features; they intentionally do not represent slots, resources, or benchmark cutoffs. Table sorting/filtering configuration lives outside the domain schema in UI-facing code.

License

AGPL-3.0-or-later. See LICENSE.