zsh — root@gitgood: ~ — 120×32

root@gitgood:~# whoami

Hi, I'm Lukasz (wookash)

[ gitgood.sh / system status ]
stack      [██████████]   100%
tests      [██████████]   pass
coffee     [████████░░]    80%
hype       [░░░░░░░░░░]     0%

# rumblings ./from-the-trenches

# Opinions, earned the hard way
# Not "Build a blog with the latest Laravel and deploy serverless until AWS bankrupts you" tutorials

root@gitgood:~# tree -L 2 ./from-the-trenches-latest RSS

├── driver-not-passenger/    # How I use LLMs in daily engineering — and where I draw the line
│   ├── meta.yaml            # Lukasz Wisniewski · 2026-05-17 · 7 min · ai, llms, ai-assisted-development, engineering
│   └── post.md
└── tdd-is-a-costume/        # Tests do the work - TDD adds the ritual
    ├── meta.yaml            # Lukasz Wisniewski · 2026-05-15 · 6 min · tdd, testing, engineering-culture
    └── post.md

2 directories, 4 files

root@gitgood:~# cd ./from-the-trenches

# about ./me

root@gitgood:~# cat about.sh

about.sh
#!/usr/bin/env bash

set -euo pipefail

declare -r  NAME="Lukasz Wisniewski"
declare -r  ROLE="senior full-stack engineer"
declare -r  LOCATION="Nottingham, UK"
declare -ra STACK=("undefined") # pick the right tool for the job

main() {
  # Technology enthusiast, senior full-stack engineer with a focus
  # on backend systems, tooling, and infrastructure.
  # Writing code since long before AI could autocomplete it.

  # I prefer simple, durable systems over clever abstractions, when
  # off-the-shelf feels heavier than the problem, I write my own.

  # Stacks are tools, not religions. Give me a week with a new one.

  echo "${NAME} — ${ROLE} based in ${LOCATION}"
  echo "stack: ${STACK[*]}"
}

main "$@"

# projects ./recent

root@gitgood:~# git log --oneline --decorate

f1a9d2e · brownhounds

elemix

Custom Elements done right (Reactive Elements) — a compile-first library, one of the fastest on the planet 🌍. Its compiler is written in Rust, built for every CPU and architecture and shipped over npm — wasm included. In active development, closing a release of v0.9.0.

github → roadmap →
TypeScriptRustCustom ElementsWASMVite
e7c4b10 · brownhounds

elemix playground

In-browser playground for elemix 🛝 — a multi-file Monaco editor with TypeScript IntelliSense and SCSS, live bundling via esbuild-wasm, and an instant preview pane ⚡. Pre-compiler era, targeting the older v0.8.2 🕰️.

github → live preview →
TypeScriptElemixMonacoesbuildViteDocker
a5e9c1d · brownhounds

wikipulse

Live dashboard that consumes Wikimedia's recent-changes SSE stream. Built with elemix, a web components framework written by me.

github → live preview →
TypeScriptElemixViteSCSSDocker
4a2c1f8 · brownhounds

nim

Disk-backed key/value cache for go. Atomic writes via tmpfile + rename, per-key file locks for concurrent access, symlink-based TTL expiration.

github →
Go
b9e7d23 · brownhounds

openapi-tsgen

CLI that generates typescript types from openapi schemas (yaml or json). Written in go, ships as a single cross-platform binary.

github →
GoTypeScriptOpenAPI

# These are independent projects · Many more on github
# For a full overview of professional work, request an interview

# contact ./me

root@gitgood:~# cat contact.yaml

contact.yaml
---
# press / to focus the nav

# release ./latest

root@gitgood:~# cat RELEASE.md ALL RELEASES

RELEASE.md
# Changelog

## [0.3.0] - 2026-05-18

### Added

- Public MCP server implementation.
- Expose posts, about the author and changelog as MCP resources.

root@gitgood:~# make changelog-lint