{"id":50702854,"url":"https://github.com/yoelf22/electrum","last_synced_at":"2026-06-14T12:00:44.643Z","repository":{"id":339557156,"uuid":"1162436867","full_name":"yoelf22/electrum","owner":"yoelf22","description":"A structured, AI-assisted toolkit for defining hardware products that have software inside — from concept through engineering spec to presentation-ready materials in eight phases.","archived":false,"fork":false,"pushed_at":"2026-05-28T15:41:43.000Z","size":29086,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-05-28T17:23:02.935Z","etag":null,"topics":["awesome-iot","claude-code","claude-skill","embedded-systems","firmware","hardware","hardware-software","iot","product-definition","product-management"],"latest_commit_sha":null,"homepage":"https://github.com/yoelf22/electrum/blob/master/examples/bubbler-automated-soap-bubble-maker/WALKTHROUGH.md","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yoelf22.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-20T09:05:38.000Z","updated_at":"2026-05-28T15:42:00.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/yoelf22/electrum","commit_stats":null,"previous_names":["yoelf22/hw_sw_product_initiation","yoelf22/electrum"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/yoelf22/electrum","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yoelf22%2Felectrum","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yoelf22%2Felectrum/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yoelf22%2Felectrum/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yoelf22%2Felectrum/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yoelf22","download_url":"https://codeload.github.com/yoelf22/electrum/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yoelf22%2Felectrum/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34320273,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-14T02:00:07.365Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["awesome-iot","claude-code","claude-skill","embedded-systems","firmware","hardware","hardware-software","iot","product-definition","product-management"],"created_at":"2026-06-09T10:00:17.295Z","updated_at":"2026-06-14T12:00:44.631Z","avatar_url":"https://github.com/yoelf22.png","language":"Python","funding_links":[],"categories":["Table of Contents","Toolkits Include Non-OS"],"sub_categories":["Software","Android Things"],"readme":"# Electrum — Product Definition Toolkit for Software-Augmented Hardware\n\n*Status: v0.1 — exercised on 7 worked examples (see [`examples/`](examples/)), MIT-licensed.*\n\n## The Problem\n\nSoftware PMs have established tools — user stories, PRDs, sprint planning. Pure hardware PMs have theirs — datasheets, BOMs, DFM checklists. But when the product is *both* — firmware-driven hardware with sensors, actuators, maybe an app, maybe cloud — most PMs either use a software PRD template that ignores physics, or a hardware spec that ignores the software.\n\nThe boundary between HW and SW is where the expensive mistakes happen, and it's usually the least documented part.\n\n## Quickstart for PMs and Product Strategists\n\nYou have a connected product idea and want to stress-test it before committing resources. Here's the fastest path:\n\n```bash\n# 1. Install Claude Code (https://docs.anthropic.com/en/docs/claude-code)\n# 2. Clone this repo and open a terminal in it\ngit clone https://github.com/yoelf22/electrum.git \u0026\u0026 cd electrum\n\n# 3. Start Claude Code and run the skill\nclaude\n\u003e /electrum \u003cdescribe your product in one sentence\u003e\n```\n\nThe process will walk you through a structured dialogue — mapping the HW/SW boundary, forcing specifics, and surfacing what you're still assuming. It pauses after every output for your review. Budget 60–90 minutes for a full run.\n\n**Don't have Claude Code?** The templates work without AI. Copy `templates/system_description_template.md` into your project folder, fill it in by hand, then run through `templates/checklist.md`. That's 80% of the value.\n\n**Want to see what a full run looks like?** Read the [Bubbler walkthrough](examples/bubbler-automated-soap-bubble-maker/WALKTHROUGH.md) — a soup-to-nuts example that turned \"automated soap bubble machine\" into a force-sensing feedback system with a 90-item gate review.\n\n---\n\n## What This Toolkit Does\n\nA repeatable, AI-assisted process for defining hardware products that have software inside them — so the firmware team and the mechanical team aren't surprised by each other at EVT.\n\nIt takes a product idea from \"I think this could work\" through to a structured system description, product illustrations, and a presentation-ready carousel. Eight phases, driven by the `/electrum` Claude Code skill:\n\n| Phase | Output | Description |\n|-------|--------|-------------|\n| 1. **Explore** | `explore_notes.md` | Map the HW/SW boundary, identify knowledge gaps, surface risks |\n| 2. **High-Level Design** | `high_level_design.md` | Single-page system overview: blocks, interfaces, constraints, hardest problems |\n| 3. **Component Arrangement** | `component_arrangement.md`, `arrangement_options.png` | Spatial layout alternatives — where boards, batteries, sensors, and actuators sit relative to each other and the enclosure |\n| 4. **System Description** | `system_description.md` | Full engineering-grade spec with real components, power budgets, firmware architecture |\n| 5. **Gate Checklist** | `gate_checklist.md` | Validate completeness across both domains (90 items, PASS/FAIL/N/A) |\n| 6. **Product Visual** | `product_visual.png` | Pick an existing diagram from earlier phases (or a user-supplied image) as the carousel visual |\n| 7. **PPTX Carousel** | `*_Carousel.pptx` | LinkedIn-format slide deck (4:5 portrait, dark theme, 8 pages) |\n| 8. **PDF Carousel** | `*_Carousel.pdf` | Same carousel as multi-page PDF |\n\nPhases 1-5 produce the engineering definition. Phases 6-8 turn it into visual presentation materials.\n\n## Prerequisites\n\n### Python dependencies\n\n```bash\npip install -r requirements.txt\n```\n\nRequired packages: `python-pptx`, `reportlab`, `playwright`, `matplotlib`, `numpy`.\n\n### Playwright browser (for image generation)\n\n```bash\npip install playwright\npython -m playwright install chromium\n```\n\n### Claude Code (for the `/electrum` skill)\n\nInstall [Claude Code](https://docs.anthropic.com/en/docs/claude-code) and open a terminal in this repo. The `/electrum` skill is automatically available:\n\n```bash\nclaude\n\u003e /electrum smart posture-correcting office chair\n```\n\n## Repository Structure\n\n```\n├── scripts/          # Python reference implementations (carousel, diagrams, deck builders)\n├── templates/        # Directive markdown files (workflow, checklists, templates)\n├── examples/         # Worked examples with full output artifacts\n│   ├── bubbler-automated-soap-bubble-maker/   ← start here (has WALKTHROUGH.md)\n│   ├── pop-miniature-popcorn-machine/\n│   ├── metronome/\n│   ├── chair_balancing_act/\n│   ├── consumable-electric-toothbrush/\n│   ├── shusher/\n│   └── smart_sensor_hub/\n└── output/           # Raw output from recent runs\n```\n\n## What's in the Box\n\n### Templates and Checklists\n\n| File | What it does |\n|------|-------------|\n| `electrum/templates/hw_sw_product_initiation.md` | 8-phase workflow from concept to presentation |\n| `electrum/templates/hw_sw_high_level.md` | Single-page system overview template |\n| `electrum/templates/system_description_template.md` | Full system description template with HW↔SW boundary items |\n| `electrum/templates/checklist.md` | Gate checklist — 90 items, each tagged if it targets the HW/SW boundary |\n| `electrum/templates/skills_map.md` | 16 competency areas a PM should understand or staff for |\n| `.claude/skills/electrum/SKILL.md` | Claude Code skill definition (drives the 8-phase workflow) |\n\n### Reference Scripts\n\n| File | What it does |\n|------|-------------|\n| `electrum/scripts/generate_illustration.py` | DALL-E image generation via Playwright browser automation |\n| `electrum/scripts/build_carousel.py` | PPTX + PDF carousel builder (LinkedIn-format, 4:5 portrait) |\n| `electrum/scripts/build_deck.py` | Executive product overview deck builder |\n| `electrum/scripts/build_high_level_deck.py` | High-level design deck builder |\n| `electrum/scripts/visualize.py` | Visualization utilities |\n| `electrum/scripts/block_diagram.py` | Block diagram generator |\n\n### Worked Examples\n\n| Project | What it is | Phases covered |\n|---------|-----------|----------------|\n| [`bubbler-automated-soap-bubble-maker/`](examples/bubbler-automated-soap-bubble-maker/) | Force-sensing automated bubble machine with adaptive optimization — **[full walkthrough](examples/bubbler-automated-soap-bubble-maker/WALKTHROUGH.md)** | All 8 phases |\n| `pop-miniature-popcorn-machine/` | Miniature countertop popcorn machine with heating and motor control | Explore, HLD, system description, gate checklist, carousel |\n| `metronome/` | Wrist-worn haptic metronome bracelet for musicians — silent, precise beat pulses | All phases |\n| `chair_balancing_act/` | Clip-on tilt sensor that plays an escalating tone when a chair leaves static balance | HLD, system description, gate checklist |\n| `consumable-electric-toothbrush/` | Disposable electric toothbrush with wear tracking | Full |\n| `shusher/` | Noise-aware mechanical mute device with sound detection | HLD, system description, gate checklist |\n| `smart_sensor_hub/` | Wireless indoor environment monitor (CO2, temp, humidity, PM) with BLE mesh | HLD, system description |\n\nThe bubbler example includes a [step-by-step walkthrough](examples/bubbler-automated-soap-bubble-maker/WALKTHROUGH.md) showing what each phase surfaced and what the team would have missed without the process.\n\n## How to Use\n\n### With Claude Code (recommended)\n\n1. Open a terminal in this repo\n2. Run `claude` to start Claude Code\n3. Type `/electrum \u003cyour product idea\u003e`\n4. Walk through all 8 phases interactively — Claude drafts, you review and refine at each step\n5. Final output: a complete product definition + diagrams + presentation deck\n\n### Without Claude Code\n\nThe core toolkit is markdown templates and checklists — no AI required:\n\n1. **Understand the process** — Read `electrum/templates/hw_sw_product_initiation.md` for the workflow overview\n2. **Assess your gaps** — Review `electrum/templates/skills_map.md` for team competency planning\n3. **Create the high-level design** — Copy `electrum/templates/hw_sw_high_level.md` into your project folder and fill it in\n4. **Write the system description** — Copy `electrum/templates/system_description_template.md` and work through each section\n5. **Validate** — Run through `electrum/templates/checklist.md` to confirm nothing was missed\n\nFor image generation and carousel building, adapt the scripts in `electrum/scripts/` to your product.\n\n## Who This is For\n\nHardware product managers and technical leads building products where physical hardware and software must be designed together. The toolkit is most useful when:\n\n- Your product has firmware, and maybe a companion app or cloud backend\n- Your team spans EE/ME and software disciplines\n- You need documents that both an executive and an engineer can use\n- You want presentation-ready materials alongside the engineering spec\n- You've been burned before by HW/SW integration surprises at EVT\n\n---\n\n## Part of *Tangibles*\n\nElectrum is the open-source companion to **[Tangibles](https://tangibles-book.com)** — a book on building connected hardware your competitors can't copy. The book's companion site hosts an overview of Electrum plus a set of free, no-signup tools for connected-hardware teams:\n\n- **[Electrum overview](https://tangibles-book.com/tools/electrum)** — what this toolkit is, with worked examples\n- **[IoT Security Scorecard](https://tangibles-book.com/tools/iot-security-scorecard)** — grade your device against ETSI EN 303 645 / EU CRA\n- **[Security Requirements Generator](https://tangibles-book.com/tools/iot-security-requirements)** — a PRD-ready requirements list\n- **[Regulatory Landscape](https://tangibles-book.com/tools/regulatory-landscape)** — which frameworks bind your product, by market and archetype\n\nBy [Yoel Frischoff](https://theroadtlv.com).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyoelf22%2Felectrum","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyoelf22%2Felectrum","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyoelf22%2Felectrum/lists"}