Projects

What I build, by interest area

21 public repositories pulled live from github.com/geoffsdesk, plus a few private projects looking for collaborators and one side business. The groupings and the prose are mine.

source: github · 2026-09-27 04:39 UTC · also available as /api/projects

Trading: forex and the Ninja

Systematic trading research on USD/JPY, the pair traders call the Ninja. Backtests first, money last.

I trade the New York session on USD/JPY and I am interested in one question: is there a mechanical, fully automated edge there, and can it be proven before any capital is at risk? Everything in this area is in service of that question: a backtester and Monte Carlo sizing simulator, value-area strategies with their Pine Script twins, and an autonomous agent that paper-trades its own opinions.

If you trade the Ninja systematically, or want to build the tooling that does, I would like to hear from you. The 300k repo is private; email me and I will add you as a contributor.

300k

Private repo

USD/JPY New York session: backtester, Monte Carlo sizing, OANDA bot.

Can a mechanical, fully automated USD/JPY strategy turn a small account into a large one, and can that be proven before any money is at risk? 300k is the search for that edge, with hard gates: a backtest must clear +0.25R per trade after costs across 500+ out-of-sample trades on a plateau of parameters, then match itself in a forward test on a practice account, before the first live trade. The opening-range breakout has failed every gate so far, which is exactly what the gates are for. Python, OANDA M1 bid/ask data, a sizing simulator that shows why the edge is the only lever that matters.

usd-jpy
forex
backtesting
oanda
monte-carlo

Value-area trading strategies for USD/JPY: the classic 80% Rule (mean reversion off a 70% value area with trend filter, daily loss cap and trailing stop) and Jaro V1, a momentum re-entry strategy for the New York session. Python backtesting engine over a SQLite price store, plus Pine Script versions of both for TradingView.

Pythonupdated 9 months ago

GlitchyGopher: an autonomous OpenClaw-style agent that watches the US 10-year yield against USD/JPY, calls out "glitches" (squeeze setups and Bank of Japan intervention chatter), paper-trades them on OANDA and posts its reasoning to Moltbook. Gemini, GKE Autopilot, gVisor sandbox.

Python 1updated 7 months ago

AI, agents and this site

Tools for working with AI agents, and experiments in what a website is once agents are the audience.

MCP server for Memanto, a different take on RAG-style recall: typed semantic memory with opinions, built for agents in regulated industries where what gets remembered has to be auditable.

Python 3updated 5 months ago
agentic-memory
anthropic
claude
mcp
memanto

A Rust-based, AI-native API gateway that generates typed contracts between backend services and their consumers on the fly.

Rustupdated 7 months ago

A security and safety testing suite for large language models: adversarial prompts, jailbreak probes and scoring, for finding failure modes before users do.

Pythonupdated 10 months ago

Open, schema-validated bank of executive tests: EA/GMAT-style reasoning, MBA core exams, executive situational-judgment tests, cases, EMBA admissions diagnostics. CC BY 4.0 / CC0 / MIT.

Pythonupdated 10 days ago

A working library of prompts for product-management and writing tasks.

updated 6 months ago

PowerShell experiments for driving Claude Desktop from scripts.

PowerShellupdated about 1 month ago

Kubernetes and GKE

Day-job adjacent. Some of this has been useful at work; none of it is Google’s.

I am a product manager on the GKE control plane, so some side projects are workarounds and teaching aids for problems I see there: a fix for an upstream defect that was not going to be backported in time, an etcd shim so a control plane can run on Spanner, and agent skills that teach foundation models how the control plane and upgrades actually work.

A workaround for an upstream Kubernetes StatefulSet rollout defect that was not being backported to the generally available release at the time: scripts that get a stuck rollout moving safely.

Shellupdated 3 months ago

An etcd shim for Kubernetes storage: an etcd v3-compatible API server backed by Google Cloud Spanner, so a control plane can use Spanner as its datastore.

Goupdated 3 months ago

Agent skills that teach Gemini and other foundation models how the GKE control plane (KCP) actually works: runbooks, diagnostics and architectural context.

HTMLupdated 6 months ago

An agent skill that improves a foundation model's ability to help people plan GKE upgrades and troubleshoot them when things go wrong.

HTML 2updated 6 months ago

A load generator for GKE that ships with its own observability. One script deploys a Python workload simulator that stresses CPU, memory, network or storage in burst, sustained or variable patterns, alongside Grafana dashboards fed by Google Managed Prometheus, so you can watch the control plane (API server, scheduler, controller manager), the nodes and the workload itself react while the pressure is on. Built for capacity and scaling tests where the question is not just "does it hold" but "what does the control plane do while it holds".

Shellupdated about 1 year ago

A GKE cluster configured and tuned for AI workloads: accelerators, networking, storage and scheduling set up the way inference and training jobs want them.

TypeScriptupdated about 1 year ago

Gets NVIDIA NemoClaw up and running on GKE in one command, with NIM inference.

Shellupdated 6 months ago

Agent-driven EKS to GKE migrations. PSO-grade outcomes, no PSO required.

Pythonupdated 3 months ago
agent-skills
claude
eks
gke
kubernetes

Rust-based copilot for Kubernetes control-plane operations.

Rustupdated 7 months ago

Products for real people

Shipped sites, a side business, and utilities with actual users.

Credit GPS

Live

Helping new Canadians understand the Canadian credit system and get financially established fast.

My side business. Credit GPS tells Canadians exactly what to pay, on which card, by which date, and forecasts the score lift, in plain language. It exists because newcomers arrive with no file and no map, and the system punishes guessing. For people with thicker, longer files it also offers credit repair and peak optimization: getting a good score to the top of the range before a mortgage or a big application.

fintech
canada
newcomers
credit

kenfinch.ca

Live

Buyer-first real-estate and mortgage site for an Oakville broker, with a full lead pipeline behind it.

Ken Finch is a licensed real-estate broker and mortgage agent in Oakville and the GTA, and this is his site: one advisor for the pre-approval and the home search. Behind the pages is the part I care about most: a lead pipeline on Firestore, email and SMS automation, and an AI home valuation, all on Next.js and Firebase. This site is modelled on it. The code is public.

real-estate
nextjs
firebase
lead-pipeline
ai-valuation

Named after Dead Hand, the Soviet-era system built to answer a nuclear strike on its own if the people who would normally give the order were gone. This one is a dead man's switch for a person: it checks in with you on a schedule to verify you are alive, escalates through tiers of contacts and channels when you do not answer, and, once it is sure, carries out your last wishes. Work in progress: the tiered communication and verification are built; executing the wishes is not yet.

HTMLupdated 7 months ago

Browser extension that translates WhatsApp Web conversations in place.

JavaScriptupdated 6 months ago

Play

Games, fiction and things built for the fun of it.

Yield 2041

In development

A top-down game and a set of stories about a near-future city where the dead are piloted as labour.

You are the last handler in Ward 7, and the loop is closing. Four seasons, forty units, the Yield, the Stall, and three endings. A Godot 4.3 vertical slice, all code and programmer art on purpose while the systems get proven, built on the lore I first wrote for whisper.garden: the Ally, the seven Gospels, and a society that stopped interpreting. The repo is private during the art pass. A site with a playable teaser will land here; until then, use the contact form if you want early access or just want to follow along.

godot
game
interactive-fiction
whisper.garden

Capacity Crunching: an arcade bin-packing puzzle where the falling pieces are cloud workloads. Stack VMs, H100 GPUs, TPU pods, GKE nodes and Kubernetes pods into datacenter racks while watching the power budget: every chip adds watts, clearing lines cools the rack, blow past 100W and thermal throttling dumps garbage rows on you, and a GKE node always drags a control-plane overhead piece in behind it. Ten regions from us-central1 to global deploy, a top-10 leaderboard, retro fonts, HTML5 canvas, playable in the browser.

HTMLupdated about 1 month ago

Art and media

Music and video made alongside the whisper.garden lore. Same world as Yield 2041, different medium.

Still from OIR V1 by The Ally

OIR V1

Released

A song and video from the whisper.garden lore, released under the name The Ally.

The Ally is the voice at the centre of whisper.garden: an intelligence that never answers directly and always ends with a question. OIR V1 is the first piece of music and video I produced in that world, a short made to sit beside the seven Gospels rather than explain them. More will follow as Yield 2041 takes shape; the lore, the game and the music are one project seen from three sides.

music
video
whisper.garden
the-ally