Skip to content
View emdzej's full-sized avatar

Highlights

  • Pro

Block or report emdzej

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
emdzej/README.md

Hey, I'm Michał 👋

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.

What I'm Currently Breaking

Complete Solutions

Bimmerz Suite

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

Tools

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

AI & LM

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

Libraries, Extensions & Plugins

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

Fun Facts

  • 🔧 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.

Right to Repair

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.

Get In Touch

Support

If you find my work useful, consider buying me a coffee ☕ or sponsoring on GitHub or if it's your thing: via PayPal

Donate with PayPal


"It works on my machine" — certified since 2003

Popular repositories Loading

  1. ediabasx-docs-sgbd ediabasx-docs-sgbd Public

    8 1

  2. ragclaw ragclaw Public

    Local-first RAG engine for OpenClaw and others — PDF, Web, Code indexing with SQLite vector search

    TypeScript 8 2

  3. ediabasx ediabasx Public

    TypeScript port of EdiabasLib - BMW diagnostic interface library

    C 7

  4. tisx tisx Public

    BMW TIS reimplementation

    TypeScript 7

  5. etkx etkx Public

    BMW ETK (Electronic Parts Catalogue) reverse engineering and analysis

    Java 5

  6. wdsx wdsx Public

    BMW Wiring Diagram System - Modern web port of legacy Java applet WDS

    Svelte 3 1