Systems Developer 42 Heilbronn Heilbronn, DE

Niklas Weber

Status
Available for collaboration
Focus
C · Go · Systems
Based
Heilbronn, Germany
Year
2026

I build software close to the metal — systems, performance, and deep understanding of how things actually work. Everything I ship is optimized, intentional, and built to last.

Selected Work

3 projects · 2025–26
MMXXVI 01 / 03

42 ELO Leaderboard

Competitive rankings system for 42 Heilbronn

Avg response
30ms
Uptime
99.9%
Query target
<100ms

High-performance ELO ranking system in Go and PostgreSQL, handling real-time match submissions with live leaderboards and historical data.

Problem: The 42 Heilbronn community needed a competitive ranking system to track student tournament matches.

Solution: I built a complete ELO ranking system in Go with PostgreSQL, optimized from the ground up for performance. Go's concurrency primitives made it natural to handle simultaneous match submissions and API requests, while careful database optimization techniques ensured queries stayed fast even as the dataset grew. The backend processes real-time match updates and serves a React frontend with live leaderboards, detailed player profiles, and historical match data.

Technical Approach: Composite indexes on frequently-queried columns, optimized join patterns to reduce query execution time, and Redis for cached ranking calculations. Go's goroutines handle concurrent request processing cleanly — each match update is processed independently. I applied profiling throughout development to identify and eliminate bottlenecks. Similar optimization patterns appear in other systems projects like the raytracer, where every algorithmic decision has direct performance implications.

Results & Learnings: The system achieves 30ms average response times and maintains 99.9% uptime across tournament seasons. Query optimization and profiling-driven development are non-negotiable for systems that prioritize performance.

Stack
Go · TypeScript · React · PostgreSQL
Role
Full implementation
42 ELO Leaderboard competitive ranking interface with player ratings and match history
Fig. 01 — Leaderboard interface live
MMXXV 02 / 03

miniRT

High-performance raytracer in C

Frame rate
120+ fps
Speed-up
80×
SIMD
SSE/AVX

120+ FPS raytracer built on SIMD vectorization, cache-efficient data structures, and tile-based multi-threaded rendering.

Problem: I started building a basic raytracer in C to understand computer graphics fundamentals. The initial naive implementation achieved only 1–5 FPS when rendering complex scenes with multiple light sources.

Solution: I rebuilt the core rendering loop with C systems programming principles at its foundation. The approach combined SIMD vectorization using SSE/AVX intrinsics for batch vector operations, cache-efficient data structures using structure-of-arrays layouts instead of array-of-structures, and multi-threaded tile-based rendering to leverage multiple CPU cores.

Technical Approach: Three pillars: vectorization, memory hierarchy, parallelism. SSE intrinsics process 4 floats in parallel, AVX handles 8. I restructured data to exploit CPU cache locality by storing all X-coordinates contiguously, then Y, then Z. The renderer divides the framebuffer into tiles, with each thread processing one tile independently. Profiling with perf and cycle-accurate analysis revealed that the ray-primitive intersection test was the hottest code path.

Results & Learnings: The optimized raytracer renders at 120+ FPS — an 80× improvement over the baseline. Systems programming at the graphics layer isn't just about algorithms; it's about respecting CPU cache behavior, instruction pipelines, and memory bandwidth.

Language
C
Concepts
Linear algebra · optics simulation
miniRT raytracer C implementation with sphere rendering, shadows, reflections and Phong lighting
Fig. 02 — Rendered output 120 fps
MMXXV 03 / 03

minishell

POSIX-compliant shell in C

Standard
POSIX
Primitives
fork/exec
Signals
sigaction

Unix shell from scratch — process management, file descriptors, pipes, I/O redirection, environment expansion, signal handling.

Problem: Understanding how a Unix shell works requires deep knowledge of operating system fundamentals. Building a shell from scratch meant confronting these abstraction layers directly.

Solution: A POSIX-compliant shell in C that replicates bash's core functionality. The shell handles the complete command execution pipeline: lexical analysis and parsing transform user input into an abstract syntax tree, and an execution engine processes these tokens using genuine Unix system calls.

Technical Approach: Three critical systems programming concepts. First, process management via fork and exec. Second, file descriptor manipulation through dup2() for pipes and I/O redirection. Third, signal handling with sigaction() to prevent zombie processes. The parsing phase uses recursive descent techniques.

Results & Learnings: Building minishell transformed my understanding of Unix architecture — shells are orchestrators of the OS, not autonomous entities. Hands-on exploration of process management, file descriptors, and IPC deepened my appreciation for why low-level programming discipline matters.

Language
C
Focus
Unix internals · syscalls

About

profile

I'm at 42 Heilbronn, a peer-to-peer programming school where we learn by building real things.

My passion is systems programming — where software meets hardware. There's something satisfying about understanding how things work at the deepest level: memory, scheduling, protocols, performance.

I work with C and Unix, Go for concurrent systems, and TypeScript when the problem needs it. Always learning, always optimizing.

Current focus

Concurrency patterns in Go. Distributed systems. Performance optimization.

Approach

Build to understand. Understand to build better.

Technical vocabulary

  • Systems C · C++ · Go
  • Web TypeScript · React · Node
  • Data PostgreSQL · Redis
  • Tools Linux · Docker · Git

The best way to learn is to build, break, and rebuild.

Contact

available

Let's discuss your project

Let's work on systems, performance, and problems where understanding the fundamentals makes a real difference.