whoami

Kevin Kulik

I investigate systems until they make sense.

Most days I work somewhere between the terminal, code, and infrastructure, tracing why a system behaves differently than expected. Then I document it, repair it, or keep building.

How I work

The tools keep changing. What stays is the work underneath: finding out what a system actually does, then changing it so it can still be checked afterwards.

What I do

Investigate

I follow actual behaviour through code, configuration, and data flows before naming a cause.

  • security reviews
  • code audits
  • technical provenance
Map

I make dependencies, ownership, and the unknown parts of a system visible.

  • system inventories
  • dependencies
  • documentation
Verify

I measure the real system instead of relying on screenshots, assumptions, or vendor claims.

  • browser measurements
  • regression tests
  • source checks
Build

I build websites, integrations, and small systems once the problem and its boundaries are understood.

  • Astro
  • WordPress
  • SvelteKit
Automate

I turn repeatable work into scripts or agent workflows after the manual path has proved reliable.

  • shell and Python
  • agent workflows
  • sync processes
Operate

I run small, understandable systems and document where their boundaries are.

  • Linux
  • Docker Compose
  • monitoring and backups

What I hold to

  1. I inspect the real system before I trust its description.
  2. I look for causes, not just the next place to patch.
  3. Documentation is part of the system. It is not an afterthought.
  4. I automate a process only after I understand it.
  5. A simple, portable system usually beats convenient lock-in.
  6. Accessibility, security, and performance are measures of quality, not cleanup work.
  7. AI handles volume. Judgement and responsibility stay with me.

How you can check it

Three things from different years. Where I cannot link anything public, I say so.

Security Origin

In 2014 I took RAT malware apart and traced its command-and-control infrastructure. Two years later I noticed a PIN limit at a local bank that was too short. I worked out what that meant in practice and sent concrete remediation notes.

I reported only what I could prove, and left it at that.

EvidenceThe history is documented in local archive sources. There is no verified public link yet.

contegus-ui

I wanted a CSS system that could serve static Astro sites and WordPress with Bricks, with no build step and nothing loaded at runtime. So: tokens, base rules, components, and separate entry points, checked against real projects and a Bricks test environment.

It stays portable and CSS-only. Platform rules live apart, and whatever a project needs differently overrides the vendored core instead of changing it. This site runs on it.

EvidenceVersion 0.2.0 sits in this repository as a verified snapshot. The source repository is not publicly linked at the moment.

Agent Workspace

I work with several agent runtimes. They all need the same rules, skills, and workflows, and I did not want to build yet another assistant app for that. So it all lives in one portable repository of Markdown, configuration, skills, playbooks, and sync scripts. The vault stays the canonical source for anything that has to last.

That keeps the runtime replaceable. Agents handle the volume; decisions, verification, and responsibility stay with me.

EvidenceStructure, sync paths, and inventory are versioned and documented locally. A public repository link is not planned.

Updated

What's running right now

My homelab is a practice ground and the real thing at once. Whatever runs here, I run myself, and when it breaks I fix it myself.

What I can show
  • virtualisation and isolated Linux environments
  • containerised services with declarative configuration
  • reverse proxying, monitoring, backups, and home automation
What I keep out
No live data, addresses, internal names, account details, or access paths.