Show HN: I'm 16 y/o and Built the only AI Agent for Hardware and Software Dev
A 16-year-old developer introduces Sprocket, an open-source AI agent that combines hardware design with code generation and can autonomously purchase components and SaaS subscriptions. It runs via npx, a desktop app, or CLI, and uses web context to create schematics, BOMs, and assembly instructions.
Uh oh!
There was an error while loading. Please reload this page.
Notifications You must be signed in to change notification settings
Fork 1
Star 4
BranchesTags
Open more actions menu
Folders and files
NameName
Last commit message
Last commit date
Latest commit
History
141 Commits
141 Commits
.github
.github
apps
apps
assets
assets
crates
crates
npm
npm
packages
packages
patches
patches
scripts
scripts
.env
.env
.envrc
.envrc
.gitattributes
.gitattributes
.gitignore
.gitignore
.pre-commit-config.yaml
.pre-commit-config.yaml
.prettierignore
.prettierignore
.prettierrc
.prettierrc
AGENTS.md
AGENTS.md
ARCHITECTURE.md
ARCHITECTURE.md
Cargo.lock
Cargo.lock
Cargo.toml
Cargo.toml
LICENSE
LICENSE
README.md
README.md
bun.lock
bun.lock
commitlint.config.mjs
commitlint.config.mjs
flake.lock
flake.lock
flake.nix
flake.nix
package.json
package.json
renovate.json
renovate.json
turbo.json
turbo.json
Repository files navigation
Goal: To make the world's best platform for developing hardware and software.
Sprocket is a lightweight agent that can create hardware designs and write code.
Sprocket retrieves best-in-class context from the web for everything it does. It is therefore incredibly reliable. In terms of hardware design, Sprocket can make beautiful schematics in React, create your BOM, and create detailed assembly instructions.
And here's the best part: Sprocket can (on its own) buy anything from any website when you tell it to do so. From hardware parts to SaaS subscriptions.
Sprocket Demo
Using Sprocket
Note
You can run Sprocket using any of the ways defined below with no impact on Sprocket's capabilities or performance. The desktop app may take more RAM than using Sprocket through your browser.
Run without installing
npx @spikonado/sprocket
The above runs Sprocket through your browser unless you have the desktop app installed.
Desktop App
Install it for your OS from the latest GitHub Release Artifacts and run it.
CLI
npm i -g @spikonado/sprocket sprocket
The above runs Sprocket through your browser unless you have the desktop app installed.
To always open a tab in your browser when using Sprocket, use the --web flag:
sprocket --web
Workspaces
Pass a directory to open or reconnect that workspace in a new thread:
sprocket . sprocket --web ../my-robot
Sprocket remembers attached workspaces and local server sessions between launches. Local state lives in $HOME/.sprocket (or %USERPROFILE%\.sprocket on Windows when HOME is unset). Override with SPROCKET_DATA_DIR.
Additional CLI reference
Command Behavior
sprocket serve Run the local server in the foreground without launching a client.
sprocket serve --api-only Serve only /api; intended for development (see Development).
Run sprocket --help or sprocket serve --help for all options.
Common Sprocket server overrides are available as environment variables:
Variable Purpose
SPROCKET_DATA_DIR Directory for pairing, sessions, and workspace state.
SPROCKET_PORT Local server port; defaults to 17731 for installed use.
SPROCKET_HOST Bind host; defaults to 127.0.0.1.
SPROCKET_DESKTOP_EXECUTABLE Full path to the desktop executable to be used by the Sprocket CLI.
PUBLIC_CONVEX_URL Convex deployment used by the agent runtime.
SPROCKET_STATIC_DIR Web build to serve instead of the bundled build.
Development
Requirements
Bun 1.x, version 1.3.9 or newer
Node.js 24.x, version 24.14 or newer
A current stable Rust toolchain
Install dependencies:
bun install
Running Sprocket
Start the browser development environment:
bun dev
After creating a convex deployment and configuring authkit following the instructions, configure the Convex deployment with the API key for each model provider you want to enable.
This runs Vite at http://localhost:5173 and the Rust API at http://127.0.0.1:7731, with development state kept in .sprocket-dev inside the repository. To develop against Electron instead, run:
bun dev:desktop
Building and testing
cargo test bun run test bun run build prek run -a
Create a local Electron installer package with:
bun run build:release
Artifacts are written to apps/desktop/dist/ as sprocket-desktop-* (.AppImage / .dmg / .exe depending on the host OS). Published installers come from GitHub Releases; the sprocket CLI is published separately on npm.
Troubleshooting
If 17731 is already occupied, set SPROCKET_PORT before launching.
If sprocket opens the browser instead of the desktop app, install sprocket-desktop from GitHub Releases onto PATH, or set SPROCKET_DESKTOP_EXECUTABLE.
Unsigned macOS and Windows desktop builds may need a Gatekeeper / SmartScreen override the first time you open them.
Contact [email protected] for help.
Resources
Readme
License
Activity
Custom properties
Stars
4 stars
Watchers
1 watching
Forks
1 fork
Report repository