I've been building software for over 20 years. At this point, I'm not sure if I chose this career or it chose me while I was distracted debugging something.
I like making things that actually work. Code, furniture, electronics, welded contraptions — if it solves a problem and doesn't catch fire, I'm happy. Usually it doesn't catch fire.
Based in Łódź, Poland 🇵🇱 — yes, that's pronounced "Woodge." No, I can't explain why.
| Project | What it does | Why it exists |
|---|---|---|
| bimmerz-box | Bimmerz Suite ina Box | Plug it in connect via phone or tablet and enjoy |
| ediabasx | BMW diagnostic interface — TypeScript port 🚧 | The VM runs. Everything else is "coming soon." |
| ediabasx-embedded | BMW diagnostic interface — TypeScript port 🚧 | The VM runs. Everything else is "coming soon." |
| inpax | INPA scripting — cross-platform 🚧 | Not everyone likes Windows. Even in the garage. |
| ncsx | BMW NCS Expert in the browser | Factory coding tool ported to TypeScript — no installer, no Wine needed |
| nfsx | NFS / WinKFP + JMG Flasher + MS4x Flasher in one tool | Flash what you need on any platform you want |
| wdsx | BMW Wiring Diagram System — web port | The original Java applet stopped working. My car didn't stop needing repairs. |
| etkx | BMW Electronic Parts Catalogue — reverse engineered | Because PDF parts lists are for quitters |
| tunex | ECU firmware editor with TunerPro's XDF support in your browser | For a comlete flashing experience |
| xbusx | BMW I-Bus / K-Bus protocol + tools | Reference implementation for in-vehicle comms (E31–E87) |
| dashx | BMW CAN Dashboard | What you really need is just your phone (and BimmerzBox) |
| tisx | BMW TIS reimplementation | Workshop manuals without dusting off Windows XP |
| mitsudocs | Mitsubishi service manual viewer + AI-powered indexing | Local vision models doing OCR on scanned wiring diagrams |
| Project | What it does | Why it exists |
|---|---|---|
| swsrs | Self-hostable WebSocket relay for peers behind NAT/firewalls + OIDC-protected admin plane | Because "just open a port" stops being funny behind CGNAT |
| npvm | Monorepo versioning CLI | Semantic versioning across 47 packages shouldn't require a PhD |
| stm | Serial Terminal & Monitor on the web | My way, anywhere |
| bass | Self hosted service + library for synchronising backendless web apps | Not every app needs backend, and I like switching devices |
| avrdudeui | UI for avrdude CLI | Because AVRDUDESS was not updated in a while |
| airlock | RPi based network mass storage reader | If your laptop has USB mass storage disabled or you don't want plugging in unknown storage devices directly |
| Project | What it does | Why it exists |
|---|---|---|
| microagent | Minimal AI agent with tools + MCP in ~1500 LOC | Reference implementation for "how do agents actually work?" |
| ragclaw | Local-first RAG engine with SQLite vector search | Because sometimes you want AI to know things without sending your secrets to the cloud |
| Project | What it does | Why it exists |
|---|---|---|
| keycloak-api-keys | API key management for Keycloak | OAuth2 is great until your IoT toaster needs to authenticate |
| config | Runtime config service for SPAs (build once, run everywhere) | Env/secret‑driven config without rebuilds |
| itw-decoder | BMW ITW image format decoder | Because things should be accessible and live forever |
| j2534 | TypeScript SAE J2534 PassThru API (Node + WebUSB) 🚧 | Cross-platform replacement for Windows-only DLLs |
- 🔧 I fix things. Cars, appliances, furniture, pride after failed deployments.
- 🛠️ I build things in the physical world too. Wood, metal, electronics — whatever gets the job done.
The Right to Repair movement advocates for consumers' ability to fix the products they own — from electronics to vehicles — without being locked out by manufacturers through proprietary tools, paywalled documentation, or artificial restrictions.
I build these tools because I believe repair is a fundamental right, not a privilege.
Too often, service manuals, diagnostic software, and technical documentation are kept behind closed doors — unavailable to individuals even when they're willing to pay. This wasn't always the case. Products once shipped with schematics and repair guides as standard. The increasing complexity of modern technology doesn't change the fact that capable people exist who can — and should be allowed to — use that information.
These projects exist to preserve access to technical knowledge and ensure that owners aren't left at the mercy of vendors who may discontinue support, charge prohibitive fees, or simply refuse service.
If you find my work useful, consider buying me a coffee ☕ or sponsoring on GitHub or if it's your thing: via PayPal
"It works on my machine" — certified since 2003