- Building TideDesk, remote desktop software for reaching your own Windows computers, with screen sharing, input control, system audio, file transfer and chat.
- 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.
🫖 Ada Next · Learn AI by fixing a bot
Fix the Bot is a free browser game that teaches how AI applications work by repairing Ada, the support bot of a fictional tea shop, one ticket at a time.
- Learning tracks for children, everyday AI users and developers, covering prompts, context, retrieval, agents, testing, security and cost.
- Checkpoint certificates, progress saved on the device, and offline play after loading.
- No accounts, ads or tracking. The game uses prewritten content; children's answers are not sent to an AI.
🖥️ TideDesk · Your computers, within reach
Remote desktop for Windows with screen sharing, keyboard and mouse control, system audio, file transfer and chat, plus an experimental Android viewer.
- 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, available through the Microsoft Store and portable releases. An experimental Android viewer is also available.
- Free for personal, non-commercial use, with paid licensing for business use. I own the application, connection services, release delivery, website and commercial sales setup.
Website · Microsoft Store · Portable releases & Android preview
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. Browse my contribution history.
Issue reports: PrefectHQ / FastMCP — reported a Windows type-checking failure caused by the unavailable fcntl.flock API.
Across professional work and personal projects.
Containers, infrastructure & GitOps: Docker · Docker Compose · Kubernetes · Terraform · OpenTofu · Kustomize · Flux · Argo CD · KEDA · Skaffold · Minikube · K9s
Full stack: languages, frameworks, platforms and tools
Languages, runtimes and systems: Go · Python · TypeScript · JavaScript · PHP · SQL · Rust · C# · Java · Kotlin · Perl · Node.js · HTML · CSS · PowerShell · V8 · Bash · Linux · Ubuntu · Windows · Android
Frameworks and APIs: Django · FastAPI · Flask · Fiber · Express.js · NestJS · Laravel · Symfony · CodeIgniter · CakePHP · Yii2 · Pydantic · FrankenPHP · API Platform · REST · SOAP · gRPC / grpc-go · Protobuf · ConnectRPC · OpenAPI / Swagger · JSON-RPC · webhooks · async jobs · React · Next.js · Vue.js · Angular · AngularJS · jQuery · Bootstrap · Tailwind CSS · Module Federation · Unity 6 · URP / IL2CPP
Data and messaging: PostgreSQL · MySQL · MariaDB · SQL Server · MongoDB · Redis · Elasticsearch · DynamoDB · Supabase · Prisma · Kafka · RabbitMQ · Beanstalkd · Hatchet · SQS queues
Cloud, infrastructure and delivery: AWS · Azure · Google Cloud · DigitalOcean · Cloudflare / Cloudflare Pages · AWS EKS · EC2 · Lambda · SAM · CodeBuild · S3 · RDS · EventBridge · SNS · SQS · ECR · IAM · Secrets Manager · QuickSight · Azure AKS · Azure Functions · Azure Key Vault · Docker / Docker Compose · Kubernetes · Terraform · OpenTofu · Kustomize · Flux · Argo CD · KEDA · Skaffold · Minikube · K9s · Git · GitHub Actions · GitLab CI · Azure DevOps Pipelines · Jenkins · Bitbucket CI/CD · Nx · Playwright · Puppeteer · pytest · Jest · PHPUnit · Go test · canary testing · end-to-end testing · fault-injection testing · Prometheus · Grafana · OpenTelemetry · Sentry · CloudWatch · QUIC · H.264 / Opus · STUN / NAT traversal
AI, inference and agent tooling: JetBrains IDEs · MLflow · ONNX Runtime · Ollama · LiteLLM · OpenAI APIs · Anthropic API · Foundry-hosted models · RAG · embeddings and semantic search · cross-encoder reranking · LLM evaluation / LLM-as-judge · synthetic datasets · structured outputs and guardrails · MCP clients and servers · Claude Code · Codex · Cursor · Gemini CLI · opencode · VS Code · agent skills, roles and hooks
Microsoft, security and product integrations: Power Apps · Canvas Apps · Model-Driven Apps · Power Automate · Dataverse / CDS · PCF controls · Dataverse plug-ins · Microsoft 365 / Office 365 · SharePoint · Azure AD · Active Directory · OAuth 2.0 / OIDC · SSO · JWT · RBAC / ABAC · multi-tenancy · SOPS · PKI · AD CS · SCEP · Group Policy · Google Play Billing · Stripe Connect · Paddle · GA4 · Google Tag Manager · OneTrust · XML / UBL
Language percentages describe code in my public, owned, non-fork, non-archived repositories. Activity and streaks reflect the past year of my GitHub contribution calendar, using UTC days. View the snapshot · Updated daily.
🐍 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.



