Every "AI for hardware" tool tells you what to buy. ChatGPT will hallucinate parts. Wikipedia is offline-capable but doesn't reason. Your old electrical engineering books don't fit in a backpack.
Nothing tells you what you can build from what you already have.
┌──────────────────────────┐
│ "I have 3 broken HP │
│ printers, a microwave, │
│ an ATX PSU. I want a │
│ 10-zone irrigation." │
└────────────┬─────────────┘
│
▼
┌──────────────────────────┐
│ ARC reverse-BOM │
│ ┌────────────────────┐ │
│ │ 78,869 records │ │
│ │ KB (offline) │ │
│ └────────────────────┘ │
└────────────┬─────────────┘
│
▼
┌──────────────────────────┐
│ Working plan: │
│ • BOM with sources │
│ • Teardown checklist │
│ • Schematic (ASCII) │
│ • Firmware (.ino) │
│ • Calibration steps │
│ • Safety warnings │
└──────────────────────────┘
- Reverse-BOM — "I have X, want Y" → solver picks components from your scrap pile and returns a complete build plan.
- Forward-BOM — "I want Y" → solver returns the BOM and tells you which household devices typically contain those parts.
- Discovery — "I have X" → solver returns 5 buildable projects sourced from the inventory you described.
| ChatGPT | Kiwix / NOMAD offline | ARC | |
|---|---|---|---|
| Offline-first | ❌ | ✓ | ✓ |
| Reverse-BOM (junk → project) | hallucinates | ❌ | ✓ |
| Inventory matching | ❌ | ❌ | ✓ |
| Constrained generation (no fake parts) | ❌ | ❌ | ✓ |
| Configurable firmware genome | ❌ | ❌ | ✓ |
| Substitution graph (no part X → use Y) | ❌ | ❌ | ✓ |
| Vision inventory (photo → list) | partial | ❌ | ✓ |
Structured offline knowledge graph, ~78k records, ~50 MB compressed.
| Collection | Records |
|---|---|
| Components (canonical) | 55,414 |
| Substitutions (chains) | 10,000 |
| Devices (teardown patterns) | 5,000+ |
| Materials (DIY recipes) | 1,242 |
| Tools (with build-from-scrap paths) | 716 |
| Safety profiles | 500 |
| Phenomena (physics for solver) | 301 |
| Skills (with prerequisites) | 203 |
| Goals (top-level objectives) | 50 |
| Regional profiles (mains / radio bands / etc.) | 50 |
| Firmware genome (configurable templates) | 40 |
| Projects (recipes) | 1,225+ |
| Total | ~78,869 |
The KB is distributed via GitHub Releases, not git — see Quickstart.
git clone https://github.com/ORTODOX1/arc-computer.git
cd arc-computer
# 1. Bootstrap the dev server
bash scripts/local_dev.sh
# 2. Pull the KB tarball (~50 MB)
curl -fsSL https://github.com/ORTODOX1/arc-computer/releases/latest/download/arc-kb.tar.zst -o /tmp/kb.tar.zst
mkdir -p kb/output
tar --use-compress-program=zstd -xf /tmp/kb.tar.zst -C kb/output/
# 3. Verify
curl http://127.0.0.1:8181/health
curl http://127.0.0.1:8181/kb/stats | jq
# 4. Open the UI
xdg-open http://127.0.0.1:8181/- Backend — FastAPI · Pydantic v2 · httpx async
- Frontend — htmx · Jinja2 · minimal JS
- AI runtime — DeepSeek V4 Pro (Anthropic-compatible endpoint) · OpenAI · Anthropic
- Vision — Replicate Qwen2-VL-7B (primary) + OpenAI GPT vision (fallback)
- KB — in-memory CDPO Pydantic models · JSON-on-disk · Qdrant deferred to v2
- Validation — schema · cross-reference · anti-laziness regex · firmware compile via
simavr/avr-gcc/arm-none-eabi-gcc - Deploy — Docker → Fly.io
arc-computer/
├── README.md you are here
│
├── product/
│ └── server/ FastAPI runtime
│ ├── main.py
│ ├── api/routes.py / · /app · /solve · /health · /kb/stats
│ ├── vision/client.py Replicate + OpenAI fallback
│ ├── solver/engine.py Anthropic-compatible client + RAG
│ ├── kb/ CDPO loaders + indices
│ ├── templates/ Jinja2 (landing + solver UI)
│ └── tests/ pytest
│
├── kb/
│ ├── STRATEGY.md two-zone storage plan
│ ├── pipeline/
│ │ ├── schemas/cdpo.py canonical Pydantic data model
│ │ ├── extractors/ LLM extraction adapters + prompts
│ │ └── scripts/ scrapers, validators, packagers
│ └── output/ generated KB (gitignored, distributed via Releases)
│
├── docs/ deployment + firmware validation guides
└── scripts/ bootstrap + dev + deploy helpers
| Document | What |
|---|---|
kb/STRATEGY.md |
KB storage tiering (hot zone on device, cold on dev disk) |
docs/DEPLOYMENT.md |
Fly.io setup, deploy script, rollback |
docs/FIRMWARE-VALIDATION.md |
simavr / qemu / avr-gcc setup |
- v0.1 alpha — server scaffold, KB validation pipeline, OSS artefacts
- v0.1 launch — Fly.io deploy, public release
- v0.2 — premium content packs (Marine, HAM, Homestead, 3D-printer salvage)
- v0.3 — Raspberry Pi 5 hardware kit with pre-loaded KB, mesh federation, vision inventory v2
- v1.0 — multi-language KB, mesh between devices
ARC is built for people who already build things themselves:
- 🏡 Off-grid homesteaders (US / EU / AU / CA rural)
- ⛵ Sailors and liveaboards
- 🛠️ Remote-region engineers and repair shops
- 📰 Field NGO staff, journalists, expedition crews
- 🌱 Self-reliance / homestead communities
- 🔌 Maker hobbyists and hardware tinkerers
See CONTRIBUTING.md. Highlights:
- Code style —
ruff(Python 3.13+) - Tests required for new features
- KB entries follow
kb/pipeline/schemas/cdpo.py(Component-Device-Project Ontology) - Conventional Commits
Issue templates: bug · feature · knowledge-base entry
Community standards: CODE_OF_CONDUCT.md (Contributor Covenant 2.1) · Security disclosures: SECURITY.md
| Scope | License | File |
|---|---|---|
| Code (server, solver, validators) | Apache-2.0 | LICENSE |
| Knowledge-base content | CC-BY-4.0 | LICENSE-KB |
| Adapters and scrapers | MIT | LICENSE-ADAPTERS |
Per-record provenance metadata in the KB JSON files indicates upstream sources (iFixit content under CC-BY-NC-SA, manufacturer datasheets, etc.) — respect the upstream licence when redistributing.
- Issues — open one on GitHub
- Discussions — GitHub Discussions
Built for people who build, fix, and grow things — anywhere, anytime.