Mikolaj
Mikuliszyn

Software developer · Final-year student at the University of Greenwich

Systems and vision engineer working in Rust, Python, Go and Java.

LANGUAGESRust · Python · Go · Java
STUDYINGComputer Science (AI) · Final Year
BASEDLondon, UK
PROJECTS
9
01
Weir -- Durable Write BufferRust

Durable write-ahead buffer in Rust (v4.0.0, published on crates.io as weir-rs). Fire a record at a local Unix socket, get a durable fsync'd ack, then let the daemon drain records to your sink in batches -- turning N per-record commits into one. At the Durable tier an ack is never a false ack: an acked record is on disk and replays after a crash. Wire protocol still v1; wire format and Rust API under SemVer.

RustWrite-Ahead LogDurability
0 lostof 42.8M acked records across 5,311 simulated power cuts
02
Quern -- AArch64 OS ToolkitRust

A Rust toolkit for building your own kernel or operating system for ARM hardware, developed from a macOS or Linux host. It boots on three emulated QEMU boards and has booted on a physical Raspberry Pi 4. Hardware bring-up is ongoing, and the MMU and interrupt controller are still to come.

RustAArch64Bare Metal
32QEMU test scenarios
03
HFT EngineRust

Low-latency trading engine in Rust with register-resident signal paths for Apple Silicon (inline ARM64 NEON) and x86_64 Linux (AVX2), a seqlocked tick ring and an SPSC order queue, and per-arch Linux scheduling through raw syscalls. Includes a live Kraken spot + futures feed, a perpetual-futures cost model, an anchored walk-forward backtester with an untouched holdout, and a small learned policy. Zero external dependencies.

RustARM64 NEONx86_64 AVX2
0external dependencies
04
RailPredict -- UK Rail EngineRust

Real-time UK rail data engine in Rust (v1.21.2, MIT-licensed). Subscribes directly to National Rail's Darwin Push Port STOMP firehose, tracks every train in a concurrent in-memory registry, and serves every query from local state -- the rate-limited GBR API is never on the request path. LightGBM delay models run in-process via ONNX; their published accuracy was withdrawn after a leakage review and a leak-free retrain is in progress.

RustDarwin Push PortSTOMP
liveDarwin firehose
05
Aether -- Local Smart SpeakerRust

Open-source distributed smart speaker in Rust where all AI processing runs on your own hardware. Edge nodes on ARM SBCs detect a trainable wake word on-device and stream to a Dockerised brain over mTLS gRPC for Whisper STT, Ollama LLM and Kokoro TTS. AI inference runs locally, with no accounts and no telemetry; the only outbound calls are weather lookups (Open-Meteo, self-hostable) and a monthly Ollama version check.

RustTokiogRPC (tonic)
100%local inference
06
Veil -- Containment & Escape HarnessGo

Security research harness in Go that runs an AI agent or a human inside a hardened, believable Docker "world", observes everything from the host side, and scores their attempts to break out.

GoDocker Engine APIgopacket
07
Uplink -- Public Wi-Fi Footprint ReducerRust

A root CLI for macOS and Linux, written in Rust, that shows what your laptop gives away on untrusted Wi-Fi and reduces it. It scans MAC, hostname, mDNS, DNS and eight other identifier categories, hardens the ones it can, and restores the machine to its exact prior state.

RustNetworkingPrivacy
08
Genplan -- EA + RL Floorplan PipelinePython

Hybrid Evolutionary Algorithm + Reinforcement Learning coursework pipeline for constraint-aware architectural floorplan generation from natural-language instructions: an epsilon-greedy bandit chooses how each EA run is seeded. The original EA+RL vs EA-only comparison turned out to be confounded, so its headline result is under review.

PythonEvolutionary AlgorithmsReinforcement Learning
09
Monolith -- Fintech RBACJava

Role-based access control system with a neobank theme, in Java 21. Four roles and five access scopes, with every decision routed through a single AccessPolicy engine. Uses capability tokens, sealed types, a monadic AccessResult<T> and file-backed JSON persistence.

Java 21RBACSealed Types
71JUnit 5 tests
RESEARCH
1
Floorplan Generation with EA + RL (COMP1827 coursework report)

A short report written for my COMP1827 coursework, not a published paper. It writes up the Genplan project: an evolutionary algorithm with a reinforcement-learning bandit choosing how each run is seeded, compared against a plain EA baseline over 500 paired runs. A later review found that comparison confounded (the winning seeder starts from the ground-truth layout that the fitness also scores), so the headline result is under review.

CourseworkEARLFloorplansLaTeX
COURSEWORKPDF ↗
BLOG

The honest version of the last year -- what I built, what broke, and what I'd do differently. First posts are on the way.

  • WORKTaking a computer-vision inspection system from nothing to a live production line in under four weeks -- and why fixing how items reach the camera beat tuning the model.
  • UNIFinal year of Computer Science (AI) alongside a job and side projects that were cherry-picked for complexity.
  • DEBUGGINGThe problems that ate whole days: a kernel that netboots on a Raspberry Pi and then prints nothing, an SSD whose fsync throughput swings mid-benchmark, and a trading signal that loses money once you count the fees.
View all posts ↗
CONTACT