All work

About me >>

Projects ranging from normal cli tools, games, and web apps, to a custom web server, a game engine, and work at T‑bank.

Work experience

^ Go up ^

T-bank - Rust developer

Role: Rust Developer - Payment Authorization (Issuing Systems)

Key work: Owned a high-throughput authorization results pipeline (approx. 2000 auth/sec), rewrote legacy C logic in Rust.

Impact: Reduced Oracle dependence, improved data availability, enabled reliable Cassandra usage.

I added two new data outputs to authorization results pipeline: Kafka (with Confluent Wire Format) and Cassandra, as part of a compliance migration. Later, I rewrote Cassandra logic using a native Rust driver because cassandra-cpp was causing segmentation faults.

Extended a limits service to send Apache Avro‑formatted messages to Kafka in addition to saving into Oracle, moved part of Oracle logic to PostgreSQL in an internal HTTP service and in a Kafka consumer service, and started migrating the brand/merchant synchronization service, finishing about 60%.

I clarified ambiguous requirements alongside our system analyst, wrote tests and documentation, authored deployment instructions, and manually deployed services on bare-metal servers via SSH.

I left the role on good terms to successfully finish my Master's degree.

  • Rust
  • tokio
  • Protobuf
  • PostgreSQL
  • Cassandra
  • Kafka
  • Oracle DB
  • Jira

June 2025 - February 2026 (8 months)


Infrastructure

^ Go up ^

Personal Website (custom server)

Maintained

This is the website you are viewing. It is a multithreaded synchronous web server (no async).

  • No frameworks or libraries (except httparse and log)
  • Server side rendering, no JavaScript
  • Custom content format

HTML rendering is implemented using string formatting and other string operations. Page contents are defined in a custom format to eliminate syntax friction. The web server parses and renders it into HTML as part of server-side rendering.

It dynamically renders CV pdf by spawning a typst process and using stdio pipes to communicate with it.

The server also serves static files, has some DoS and starvation protection, and handles signals for graceful shutdowns. It has custom logging with non-random request ids and supports file configuration using a custom parser.

  • Rust
  • Linux
  • HTML


Simple Auth

In-progress

Auth server in Rust. I made it because I wanted to really understand auth. Some of my projects use it.

  • Username + password authentication
  • JWT access and refresh tokens (treated as opaque outside of the server)
  • Admin panel for creating and deleting users

Passively working on a new version with new api, support for roles, and with more extensive testing.

  • Rust
  • Axum
  • PostgreSQL

2025 - now


Protect

Maintained

Static file server with access control, leveraging my custom auth server.

  • Invisible token renewal using automatic redirects
  • Only built-in browser features are used - any web page can be hosted
  • Locks static content behind authentication

I use it to host my docs and tutorials made with mdbook.

  • Rust
  • Axum
  • simple-auth

2025 - now


Home Lab

Maintained

I deploy personal projects on several VPS.

  • Managed with Ansible
  • Automated backups
  • Grafana (monitoring + alerting)

I also reverse-tunnel my PC, and I use Ansible to manage some client configs on other devices, including mobile.

  • Ansible
  • Podman
  • Traefik
  • Grafana


Tools

^ Go up ^

jannie

Maintained

Utility for keeping files on PC organized - a way to document workspace.

  • Walks directories against an inventory and reports workspace state
  • Hierarchical blacklisting and whitelisting
  • Can execute any program for state reporting

Paired with a bash script, it prints the states of all git repositories on my laptop as a color-coded tree. This helps me quickly notice where I forgot to commit or push some changes.

  • Rust
  • clap
  • serde
  • indexmap

2025 - now


vm-tools

Maintained

A script for opening and managing QEMU virtual machines.

  • Self-contained lua program
  • Cli interface tailored to my workflow

I use vms for compilation, testing, and for trying things that can break my real machines. And to spin up Windows sometimes.

  • Lua


fuzzy-open

Maintained

Cli app written in Rust for quickly opening files by fuzzy matching string patterns. Only the standard library is used.

I use it to open books on my laptop.

  • Rust

2024


rs-count

Finished

Cli app that counts words, symbols, and lines in a text file. A simple Rust project without external dependencies. It's my first shipped Rust project.

  • Rust

2024


Apps

^ Go up ^

Project Manager

Maintained

Web app for working with text in Markdown format. I use it to write all sorts of stuff, like plans, project tasks, or ideas.

  • Supports vim-mode
  • Browser-local toggle for vim mode (for mobile)

It's my third project of this kind. Using Simple Auth enabled me to greatly simplify the codebase compared to previous notes.

  • Rust
  • Axum
  • PostgreSQL
  • simple-auth
  • React
  • shadcn/ui

2025


Notes

Archived

Web app for text notes.

  • Frontend is written without any libraries as a challenge
  • Custom markdown parser and renderer (a subset of grammar)
  • Rust backend with built-in custom auth

I used this app for a while until I wrote Project Manager. The backend is now disabled, but editor showcase still works.

  • Rust
  • Axum
  • PostgreSQL
  • JavaScript
  • BEM

2024 - 2025


Rust Cargo.lock visualizer

Finished

Web app for interactive Cargo.lock visualization.

It allows for some browsing, but is mainly useful as a quick overview rather than a deep dive. I made it to see how bad the dependency trees in Rust projects are.

  • Python
  • Polars
  • Dash
  • Plotly

2026


CV in Vue

Archived

Web app that renders CV from YAML. First I wrote it in pure JS, then migrated to Vue. I used it for pdf version of my CV until I made the new website.

  • JavaScript
  • Vue

2025 - 2026


Games

^ Go up ^
The games are finished experiences, complete with UI and audio.

Game Engine in Rust

In-progress

An engine I am developing with Rust to make games and GUI apps. I have already shipped a game built with it.

I was making games on and off since I was a kid, and this Rust engine is me returning to low-level gamedev.

  • Mesh, Material, Transform-based rendering
  • Game objects with components (not ECS)
  • Anchor + offset UI built on top of game objects
  • Tilemap (texture atlas) & text mesh built on top of it
  • Telemetry (logging & metrics)

The engine supports textures, UVs, and coloring in materials. Camera + transform model allows for intuitive world building. It has systems for handling keyboard and mouse events and to play sounds.

For tree-like structures flat storage is used, like indexmap and indexset, and objects just store each other's ids.

Components in game objects are implemented with Rc and RefCell that store Any trait objects (in actuality Any is a subtrait). I made a nice ergonomic interface for that using Deref and PhantomData.

As a deliberate constraint, the engine is only meant to render monospace text. The current text implementation supports only custom fonts, and monospace fonts conveniently map to tilemaps.

The engine is built with wgpu and winit for now, but lower-level bindings will be used eventually.

  • Rust
  • wgpu
  • winit

2025 - now


Snake Game

Finished

A finished and polished game built with my custom Rust game engine.

  • Grid-wrapping logic, snake mesh generation, tile positioning and rotation
  • Menu navigation with pausing
  • Possible to beat the game, tests prove that

It might look trivial, but these were problems that needed solving.

  • Rust

2026


Sparkly Night

Finished

A finished and released game. It is a little adventure game made as a gift.

  • Three locations with unique gamemodes
  • Custom dialogue and quest system

I made the game in three weeks and was really proud of that.

  • Unity
  • C#

2021


Boring Platformer

Finished

A finished and released platformer.

  • Checkpoints and progress saving
  • Jump pads, auto-aiming cannons
  • Speedrunnable

It isn't really boring, I just didn't come up with a good name at the time.

  • Unity
  • C#

2020


Paper Bird

Finished

A finished and released flappy bird clone with my own artistic spin. I made it to try out the Godot engine and its model.

Simple mechanics - a bird and procedurally generated pipes. Most work went into visuals, audio, and player experience. The game was made in 10 days from idea to release.

  • Godot
  • GDScript

2024


Other

^ Go up ^
Some unreleased & not useful stuff

Home lighting system

Frozen

Home lighting system with light temperature control.

  • Custom board powering an led-strip
  • Custom UDP protocol
  • Unity app controlling master node via Bluetooth

The user would pair their phone with master node, that connects to home network, together with all slave nodes - the lights themselves. Master node controls slave nodes over UDP.

Master node connection is set up with the app. Slave node features a hardware switch that puts it into setup mode, where it spins up its own network for setting up credentials to home network through a simple HTML page.

I haven't finished it, sadly, but it was a working prototype.

  • Esp32
  • C++
  • Unity

2024


Electron Text Editor

Archived

A desktop visual text editor I made using web technologies. Inspired by Notion and how slow Notion was for me.

I used it a little but it did not actually hit production for me. I realized that it is not exactly the right way to handle text editing and moved on.

  • Vue
  • Electron
  • SQLite

2023 - 2024


Trend Aggregator

Finished

Website with the ability to authenticate through Google and chat about trends, that are automatically aggregated into database from google trends. Made as an excercise, not production ready.

  • React
  • Express
  • MongoDB
  • Google API
  • OAuth

2022


Marketplace

Finished

Marketplace website analogous to eBay. Made as an excercise, not production ready.

  • JavaScript
  • EJS
  • Express
  • PostgreSQL

2022


About me | Contact | CV