- Building TideDesk, remote desktop software for reaching your own Windows computers, with screen sharing, input control, and system audio streaming.
- Building PHP–Python AI Bridge and claude-sdlc-kit: practical AI integrations and reusable development workflows.
- Working across backend services, distributed systems, cloud platforms, and developer tooling. I care about clear interfaces, useful tests, and how systems behave when something fails.
Portfolio & CV · LinkedIn · Get in touch
Projects I build and maintain, from desktop software to AI integrations and developer tools.
🖥️ TideDesk · Your computers, within reach
Remote desktop for Windows with screen sharing, keyboard and mouse control, system audio streaming, and optional text clipboard sharing.
- H.264 video and Opus audio over encrypted QUIC connections, with separate streams for screen, input, and sound.
- Windows host and viewer in one application, plus optional clipboard sharing and configurable controls.
- Source-available and free for personal, non-commercial use. Currently an early alpha; other platforms are on the roadmap.
Website · Download for Windows · Source
Call Python AI tasks from PHP without holding the original HTTP request open. Submit work, poll progress, receive typed results, and cancel when needed.
- A framework-independent PHP client, a Python task service, and a FrankenPHP worker-mode example.
- Reranking, embeddings, and redaction with optional local ONNX inference; no hosted AI account required.
- Bounded concurrency, cancellation, crash detection, and deterministic fault tests across PHP 8.2–8.5.
- MCP tools expose the same task protocol. Experimental prototype with in-memory jobs; not a production job queue.
Try with Docker · Integration guide
A reusable software development lifecycle for coding agents: specify, plan, implement, review, verify, ship, and learn.
- Reusable skills, roles, procedures, and templates, with a review or verification gate between stages.
- A local Markdown issue tracker and runtime scripts built on the Node.js standard library.
- Generated adapters for Claude Code and Codex from one source tree. Experimental community tooling.
My public contributions span Go (including its network and text libraries), Laravel, Canonical, Temporal, Weaviate, PrefectHQ, Mondoo, and PostHog. The table highlights merged changes and open work awaiting upstream acceptance.
| Project | ★ | Merged | Open |
|---|---|---|---|
golang/go | 139,294 | 4 | 12 |
PrefectHQ/prefect | 23,976 | 0 | 7 |
microsoft/winget-pkgs | 11,132 | 0 | 1 |
laravel/octane | 4,046 | 1 | 0 |
canonical/cloud-init | 3,827 | 0 | 3 |
golang/net | 3,043 | 0 | 2 |
temporalio/sdk-typescript | 933 | 0 | 1 |
golang/text | 809 | 0 | 2 |
snowflakedb/snowflake-connector-python | 732 | 0 | 2 |
golang/image | 551 | 0 | 1 |
mondoohq/cnspec | 441 | 1 | 2 |
canonical/chisel | 427 | 0 | 1 |
canonical/operator | 268 | 1 | 0 |
canonical/pebble | 211 | 0 | 1 |
weaviate/weaviate-helm | 69 | 0 | 3 |
PostHog/posthog-go | 55 | 2 | 0 |
temporalio/terraform-provider-temporalcloud | 26 | 0 | 1 |
canonical/concierge | 17 | 0 | 1 |
canonical/traefik-k8s-operator | 17 | 0 | 1 |
Merged through Go Gerrit: golang/go#81545, golang/go#81562, golang/go#81782, golang/go#81786. GitHub closes these imported PRs without setting its merged flag.
Public upstream PRs authored by me. Open includes 8 drafts and is awaiting upstream acceptance. Stars belong to the upstream repositories. Full contribution audit · Selection rules · Refreshed 2026-10-06 10:32 UTC by GitHub Actions.
Issue reports: PrefectHQ / FastMCP — reported a Windows type-checking failure caused by the unavailable fcntl.flock API. Issue reports are separate from the PR totals above.
🐍 Generated daily from my GitHub contribution graph by GitHub Actions.
If a project is useful to you, a star, issue, or contribution is always welcome.
For backend, platform, or developer-tooling work, let's talk.



