Lead full-stack & smart-contract engineer. 15+ years shipping production software across web, mobile, and on-chain systems. Based on the US East Coast.
I build software other engineers use. My open-source Svelte libraries serve 55,000+ monthly installs on npm, and most of my recent work has been on Model Context Protocol servers, type-safe TypeScript SDKs, and CLI tooling that smooths over rough edges in the AI and Web3 ecosystems.
GitHub only lets me pin six repositories. This page is the long version: every public project worth a look, grouped by what it actually is.
Building MCP tooling for AI coding agents, contributing to the Svelte ecosystem, and writing TypeScript SDKs for APIs that deserve better client libraries.
| Area | Tools |
|---|---|
| Languages | TypeScript, JavaScript, C#, Solidity, Python, Shell, Rust, C, C++ |
| Frontend | NextJS/React, SvelteKit/Svelte, Vite, Tailwind, React Native, Expo |
| Backend | Node, Bun, Express, Hono, PostgreSQL, AWS (Lambda, Fargate, EKS/ECS, SST), Kubernetes / Helm |
| Blockchain | Ethers v6, Hardhat, Foundry, EIP-2535 Diamonds, Solidity testing |
| AI / Agents | Model Context Protocol, Anthropic SDK, Playwright automation, @ai-sdk/vercel, agent orchestration |
The bulk of my reach. Combined, these packages do ~56,000 npm installs per month.
| Project | Stars | Installs / mo | Description |
|---|---|---|---|
svelte-inview |
Svelte action that fires when an element enters or leaves the viewport. Co-maintainer. | ||
@jhubbardsf/svelte-sortablejs |
Drag-and-drop reorderable lists for Svelte, powered by Sortable.js. | ||
vite-plugin-svelte-console-remover |
Strips console.* calls from Svelte production builds. |
||
svelte-speech-recognition |
Web Speech API exposed as a reactive Svelte store. | ||
sveltekit-remote-fn-plugin |
Vite plugin for SvelteKit remote functions. |
Model Context Protocol servers and developer tooling for agentic workflows.
| Project | Installs / mo | Description |
|---|---|---|
dfns-mcp |
MCP server giving AI agents typed access to DFNS API docs, types, and SDK examples. | |
imperium-mcp |
MCP server for Mercor Imperium documentation and contributor guidelines. | |
aic-commit |
CLI that converts staged diffs into Conventional Commits messages. | |
claude-plans-organizer |
Browse and rename Claude Code plan files by human-readable name. | |
claude-plugins |
Umbrella Claude Code plugin marketplace (joshd3v). One marketplace add installs any of my plugins. |
|
codex-review |
Run Codex reviews without leaving Claude Code. Install: codex-reviewer@joshd3v. |
|
rephrasy-skills |
Claude Code plugin that scores text for AI detectability and humanizes it via the Rephrasy API. Install: rephrasy@joshd3v. Project site. |
| Project | Stars | Description |
|---|---|---|
diamond-2-hardhat-v6 |
EIP-2535 Diamond reference, ported to TypeScript + Hardhat + Ethers v6. Public template. | |
@jhubbardsf/ethers-decode-error |
Decodes ethers.js contract errors into human-readable messages. | |
coinmarketcap-dex-sdk |
TypeScript SDK for the CoinMarketCap DEX API. | |
ChainLink-RWA-Cross-Chain |
Fractional ERC-1155 tokens representing real estate, with Chainlink CCIP for cross-chain transfers. |
Things I built because the official UX was missing something.
| Project | Description |
|---|---|
sopsx |
Wrapper around Mozilla SOPS that auto-selects the right AWS_PROFILE from the KMS key in the file. Distributed via Homebrew tap. |
aws-sso-refresh |
macOS daemon that keeps AWS SSO sessions alive in the background. Homebrew tap. |
adzuna-sdk |
Fully type-safe TypeScript SDK for the Adzuna jobs API. Built on Ky, optimized for Bun (runs on Node 18+). |
@jhubbardsf/sonner |
Fork of Sonner with structured logging hooks for asserting toast state in tests. |
If you'd like to work together, get in touch via any of:
- Email: josh@joshuahubbard.dev
- LinkedIn: in/jhubbardsf
- Website: joshuahubbard.dev
When I'm not at a keyboard you'll find me running or racking pool balls.





