- midea-mcp-control — A local-first CLI and MCP server for Midea Wi-Fi air conditioners, written in Go and speaking the units’ own protocol.
- google-find-my-tools-go — A Go reimplementation of the cryptographic and API client parts of Google’s Find My Device network.
- typesafeai-systemone-jev-go — A typed Go client for the TypeSafe System One API: structured questions and answers a program can act on.
- talk-to-your-github-stars — A Go TUI that pulls your starred repositories into SQLite, embeds them, and answers questions about them locally.
- rethymno-emergency-pharmacy — A local, CPU-only OCR pipeline that turns the weekly Rethymno pharmacy duty rota, published as a JPEG, into validated JSON.
- deddie-outages — Planned power outages from the Greek grid operator on the command line, with human, JSON and raw output.
- shelly — Reads live power and energy values from a Shelly Pro 3EM meter.
- pulumi-provider-coolify — A Pulumi provider for Coolify, so deployments are described like the rest of the infrastructure.
- scep-external-issuer — A cert-manager external issuer for SCEP, which is how a corporate PKI issues certificates to cluster workloads.
- imagesumdb — A container image database for vulnerability scanning and version pinning. It catalogues every image a platform deploys, checks it with Trivy, and stores the hashes as a bill of materials next to the code.
- pod-spec-mutator — Adjusts a pod specification before the pod is created, which is how security settings such as runAsNonRoot and a restrictive security profile reach workloads whose operators do not expose them.
- inline-age — Encrypts and decrypts specific paths inside JSON files using age and the public SSH keys of the people who need access, so secrets can live encrypted in git without a separate vault.
- k8s-secret-ui — A Vue interface for editing config maps and secrets in a cluster, built so operators without Kubernetes depth could configure a platform component safely.
- opa-mcp — Exposes the OPA Rego language server over the Model Context Protocol, so an agent can ask about policy semantics instead of guessing at them.
- opa-replay — A CLI that replays recorded OPA decisions.
- raygun2x — Converts Raygun test suites for OPA black-box testing into an OpenAPI specification or a Postman collection, so the same tests can drive other tooling.
- k3i — A Kubernetes installer for Ignite and Firecracker instances, inspired by k3d. It exists because load-balancer proofs needed clusters on virtual machines rather than containers.
- vscopa — VS Code in the browser with OPA tooling, for environments where installing an editor is not an option.
- cal-anon-proxy — A CalDAV proxy that answers read requests from a real server while removing personal data from events, so calendar availability can be shared without the details.
Open source
Tools I wrote because something was missing
Some of these filled a gap in a client platform. Others are things I wanted on my own machine. All of them are public and still in use.
Maintained
Projects I maintain
Nineteen repositories, newest first.
Upstream
Projects I contribute to
Thirty-four merged pull requests in total, plus one still open. Most of them were small fixes found while operating the thing.
- konpyutaika/nifikop — NiFi operator, 4 merged pull requests
- livekit/server-sdk-go — Go server SDK for real-time audio and video, 3 merged
- pulumi/pulumi — Providers and Go SDK fixes, 1 merged
- tmc/langchaingo — Go LLM tooling, 1 merged
- prometheus-operator/prometheus-operator — Monitoring operator fixes, 1 merged
- grafana/helm-charts — Chart fixes, 1 merged
- fluent/helm-charts — Logging stack charts, 1 merged
- percona/percona-server-mongodb-operator — MongoDB operator fixes, 1 merged
- zalando/spilo — Postgres operator, pull request open
Start the conversation
Working on a platform with the same gaps?
Most of these tools came out of a specific delivery problem. If one of them looks like yours, that is usually a good place to start a conversation.