Real-Time Services
High-performance WebSocket servers for chat, game state, or live notifications. Rust guarantees low latency without GC pauses.
- › Rust (Axum / Tokio)
- › WebSockets
- › PostgreSQL
High-performance WebSocket servers for chat, game state, or live notifications. Rust guarantees low latency without GC pauses.
End-to-end Linux infrastructure management. From secure VPS configuration to Docker containerization and reverse proxies.
Custom automation tools and TUI (Terminal User Interface) applications designed for developer workflows.
The Problem: Standard game servers scale poorly (O(n²)) as player counts rise, leading to lag spikes and expensive hosting bills.
My Solution: I engineered a custom chunk-based spatial index using Bevy ECS. This allows the server to query only the relevant entities for any given client in O(1) time.
use bevy::prelude::*;
use rustc_hash::{FxHashMap, FxHashSet};
/// High-performance spatial indexing
#[derive(Resource, Default)]
pub struct SpatialIndex {
grid: FxHashMap<ChunkKey, FxHashSet<Entity>>,
}
impl ChunkKey {
pub const SIZE: f64 = 100.0;
pub fn from_vec3(pos: DVec3) -> Self {
Self {
x: (pos.x / Self::SIZE).floor() as i32,
y: (pos.y / Self::SIZE).floor() as i32,
z: (pos.z / Self::SIZE).floor() as i32,
}
}
}"Built to carry the load."
The name Hartolit wasn't generated by an algorithm; it was inherited. Originally associated with my great-grandfather’s suitcase manufacturing business, it represented Danish craftsmanship and gear built to survive the journey.
Legend has it that original Hartolit cases are still preserved in a display at Copenhagen Airport today—a testament to their lasting quality.
I carry this name forward to represent a new kind of infrastructure. My software practice is founded on those same multi-generational values: robust architecture, security by design, and engineering that stands the test of time.