Every tool I claim,
and the line that
proves it.
Six layers, three levels, no stars and no percentages. A level is not a feeling: every row carries the project, repository or measurement that puts it there. Where there is nothing to point at, the row sits in Exposed — which is the honest place for it, and the reason this page can be trusted on the rest.
In production with my name on it. Somebody pays for it running, and I answer when it breaks — at 3 a.m. if that is when it breaks.
Built by hand to a working state: tested, measured or deployed, but not someone else's revenue yet.
Touched, read, understood enough to have an opinion — and not sold as expertise. This row is a boundary, not a gap.
74 entries · 33 production · 30 working · 11 exposed
Languages
01 / 06 · 12 entries · 6 production · 4 working · 2 exposed
| Technology | Level | What proves it |
|---|---|---|
| Python | Production | Booking engine for Shneider's carriers — a stdlib core with a pytest suite on booking rules, holidays and slots; the FastAPI service in the cart project; the Python checks that run before each deploy here. |
| TypeScript / JavaScript | Production | ImmoSphère web app (React 18 + Vite) served in production; the ES modules on this site. |
| Go | Production | QuackNet — API services, Kafka consumers, ClickHouse writers. |
| HTML / CSS | Production | This site: tokens, twelve-column grid, print sheets; client sites before it. |
| SQL | Production | ImmoSphère on PostgreSQL 16 (Prisma migrations); SQLite partial unique index in the booking engine that makes double-booking impossible. |
| Bash | Production | Deploy scripts, systemd units and backup runs on the machines here. |
| Rust | Working | The Anchor row is the Rust I have written; the browser scorer is hand-emitted WebAssembly, not Rust — the 6.3 KB engine once claimed here was withdrawn in the post that made the claim. |
| Dart / Flutter | Working | QuackNet mobile client. |
| PHP | Working | WordPress themes and client sites — paid web work, not a hobby. |
| C / C++ | Exposed | Kernel and CUDA sources read; nothing of mine ships in C or C++. |
| Anchor (Rust) | Working | Five programs on devnet, Token-2022 and PDA constraints tested. |
| Solidity | Exposed | Read to follow audits and exploits; nothing of mine is deployed in it — the on-chain work here is Anchor, not Solidity. |
Frontend
02 / 06 · 10 entries · 4 production · 4 working · 2 exposed
| Technology | Level | What proves it |
|---|---|---|
| React | Production | ImmoSphère (React 18 + Vite), running in production behind Nginx. |
| Next.js | Exposed | No shipped Next.js build: this site, ImmoSphère and the lab pages are Vite or plain ES modules. |
| Vue | Exposed | Read and followed, never shipped. |
| Web Components / vanilla JS | Production | This site's bounded contexts; the booking front end at Shneider's. |
| WebGPU / WebLLM | Working | On-device Qwen2.5-0.5B chat in the lab — no server, no API key. |
| WASM | Working | lab/wasm-vs-js runs the comparison live: the 218-byte module from tools/gen-wasm.mjs came out 1.3× ahead of branchless JavaScript on the host that stamps this site, 2× in the run the post published — and most of that gap is data layout, not WebAssembly. |
| Three.js / WebGL | Working | 3D studies and data visualisation on the current site. |
| CSS architecture (tokens, layers) | Production | css/site.css — one stylesheet, tokens, breakpoints at 1024 / 900 / 760. |
| Accessibility (WCAG AA) | Production | Contrast and focus audits on this site, fixes shipped; AA asserted by tools/qa-layout.py on every deploy. |
| Core Web Vitals | Working | Measured on these pages under a mid-range phone profile, before and after. |
Backend and data
03 / 06 · 13 entries · 8 production · 2 working · 3 exposed
| Technology | Level | What proves it |
|---|---|---|
| FastAPI | Production | Cart-service API (uvicorn, pytest) — the only web framework in my Python services. |
| Fastify (Node) | Production | ImmoSphère API: JWT, multipart uploads, Prisma. |
| PostgreSQL | Production | ImmoSphère 16 — schemas, migrations, money as Decimal, no floats. |
| SQLite | Production | Booking engine: a partial unique index on (date, slot, dock) where status is confirmed. |
| Kafka (KRaft) | Production | QuackNet stream processing; consumers written to be replayed. |
| ClickHouse | Production | QuackNet analytics — MergeTree, materialised views. |
| WebSocket / SSE | Production | Live dashboards; QuackNet gateway. |
| REST / OpenAPI | Production | Written contracts; this site's own status endpoint returns aggregates and nothing else. |
| Qdrant / pgvector | Working | Retrieval indexes behind AI Sprint deployments. |
| S3-compatible storage (MinIO) | Working | Object storage and backup targets. |
| Redis | Exposed | Cache and queue experiments only — no Redis of mine is in production. |
| gRPC | Exposed | Protobuf contracts read; nothing of mine has shipped over gRPC. |
| Django / Flask | Exposed | Read and patched, never shipped: every Python service of mine is FastAPI or stdlib. |
ML and inference
04 / 06 · 12 entries · 2 production · 9 working · 1 exposed
| Technology | Level | What proves it |
|---|---|---|
| llama.cpp / GGUF | Production | 8 GB VRAM deployments; quantisation sweeps with the numbers published. |
| Ollama + OpenWebUI | Production | The self-hosted AI Sprint stack — the thing a client actually uses afterwards. |
| vLLM | Working | PagedAttention, KV budget, throughput measured at concurrency 1, 8 and 32. |
| PyTorch | Working | Training and inference on one 8 GB card. |
| HuggingFace (transformers, datasets, hub) | Working | Model download, conversion and quantisation pipelines. |
| LoRA / QLoRA | Working | 1.7B SFT inside 8 GB of VRAM — Unsloth and axolotl. |
| Quantisation (GGUF, AWQ, NF4) | Working | Quality against speed, measured per model rather than assumed. |
| RAG (chunking, retrieval, rerank) | Working | Internal document retrieval, ingestion script kept in the repo. |
| Triton / CUDA | Working | Fused RMSNorm, SwiGLU and RoPE measured against torch.compile; a W4A16 GEMM that is correct and slower than cuBLAS — published as such. |
| Prompt engineering / evals | Working | Fixed question sets, side-by-side scoring, no vibes. |
| Kaggle GPU (T4 / P100) | Working | Benchmark notebooks, including the small-model fleet comparison. |
| MLX | Exposed | Apple-silicon experiments only. |
Infrastructure
05 / 06 · 16 entries · 9 production · 5 working · 2 exposed
| Technology | Level | What proves it |
|---|---|---|
| Linux (Arch / Debian) | Production | The daily host: systemd, kernel and IRQ work, VFIO passthrough. |
| Docker / Compose | Production | Every service on the VPS and in the lab. |
| Proxmox VE | Production | PVE host, VMs and containers, snapshots, GPU passthrough. |
| Nginx / Caddy | Production | TLS and reverse proxy in front of ImmoSphère and the internal services. |
| Cloudflare (Tunnel, DNS, WAF) | Production | Tunnels and zones. |
| Tailscale | Production | Tailnet, serve and funnel for services that must not face the internet. |
| Netlify / Coolify | Production | This site and client deploys. |
| Beszel | Production | Host monitoring agents on the machines that matter. |
| Backups and restore drills | Production | Snapshots on Proxmox, nightly dumps, and a restore drill as part of every handover. |
| RGPD data-flow notes | Working | privacy.html on this site: every datum the site can record, where it goes and who else sees it — the same note a client gets, checked against the code in the same commit. |
| Nomad / Consul | Working | Three-node Raft control plane, twelve workers, health-checked service discovery. |
| Prometheus / Grafana | Working | Metrics and dashboards; alert rules that fire for real problems and stay quiet otherwise. |
| Ansible | Working | Playbooks that provisioned the Nomad fleet — not in this repository. |
| GitHub Actions | Working | CI on the repositories that have tests worth running. |
| Kubernetes / k3s | Exposed | Run and read; never operated for a client. |
| Terraform | Exposed | No .tf in any of my repositories — concepts only. |
Tools
06 / 06 · 11 entries · 4 production · 6 working · 1 exposed
| Technology | Level | What proves it |
|---|---|---|
| Git / GitHub | Production | History and review on every repository behind this site. |
| pytest | Production | The booking-engine suite runs green before every deploy. |
| curl / HTTP debugging | Production | Debugging what the browser shows and the logs hide. |
| Obsidian / markdown | Production | Notes and runbooks kept as files, not in a service. |
| Playwright | Working | Browser automation for applications and layout checks (wttj-pipeline, tools/qa-layout.py). |
| ruff / mypy | Working | Lint and types on the Python services. |
| tsc / ESLint | Working | Types and lint on the JS projects. |
| Lighthouse | Working | Before and after on Core Web Vitals. |
| strace / perf | Working | Syscall and profile work when a service misbehaves and the logs say nothing. |
| Jupyter / Kaggle | Working | Benchmarks and experiments. |
| Figma | Exposed | Reads mockups; does not design in it. |
If it has no line,
it has no level.
The test for Production is not confidence, it is consequence: does something break for a customer if this is wrong, and am I the one who fixes it. Working means the thing exists and runs — a repository, a lab, a measurement — without a client's money riding on it. Everything I have read about, patched once or benchmarked in a weekend goes to Exposed, and stays visible there, because hiding it would make the other two levels meaningless.
Which is why this page has no percentages and no five-star rows: those scales measure a mood. Three levels and one line of evidence measure a fact, and a reader can check the fact — the repositories, the benchmarks, the pages on this site.
- Stars
- none
- Percentages
- none
- Years of experience
- not a level
- Unproven rows
- in Exposed
- Row count
- 74
- Layers
- six