Shaun · Open source in Rust, Go and JavaScript Small tools
that do one job well.
Full-stack technology leader with 25+ years of experience evolving alongside the software industry. A veteran architect and former R&D Director who remains deeply hands-on with emerging technologies, specializing in scalable systems, high-performing engineering cultures, and the design and orchestration of AI agents and agentic workflows to accelerate delivery and amplify team capabilities.
$ ls ~/projects beanstalkd-rs rust work queue simpleconf go config server alpinejs-router js web router $
What I'm building
-
Rust
beanstalkd-rs
The same work queue. Rebuilt in Rust.
A drop-in replacement for beanstalkd. Byte-for-byte protocol compatible, so existing clients work unmodified, with TLS, metrics and optional Raft replication built in.
- 2.2×
- throughput with a binlog
- 222
- differential test cases
$ cargo install bstkdWebsite of beanstalkd-rs GitHub repository of beanstalkd-rs crates.io
demo.sh -
Go
simpleconf
One JSON document. Every service reads it.
A configuration server for feature flags, endpoints and limits. Services read and write paths such as
product.nameover HTTP or TCP. Append-only file, optional Raft cluster.- 1.02M
- HTTP GET/s at 200 connections
- 10 ns
- keyed read
$ docker run -p 23456:23456 shonhen/simpleconfWebsite of simpleconf GitHub repository of simpleconf pkg.go.dev
GET /db -
JavaScript
alpinejs-router
Routes in your HTML. Alpine renders them.
A client-side router for Alpine.js. Declare routes with
x-routetemplates andx-linkanchors, with dynamic params, external templates and hash or HTML5 history. No dependencies besides Alpine.- 3.2 kB
- minified and gzipped
- 6.25M
- static route matches a second
$ npm install @shaun/alpinejs-routerWebsite of alpinejs-router GitHub repository of alpinejs-router npm
index.html