About Me
I'm Vinuka. I build backend systems, and I write about the things I figure out along the way.
I like sitting with a problem until I actually understand it. A lot of what I build comes from that curiosity more than anything else. The 3D slicer I'm working on in Rust started because I wanted to understand how volume computation actually works on a mesh, not because anyone asked for it. That's just the kind of thing I find interesting.
I also co-founded Kernel70 with a few friends while studying, and through that I've shipped production software for real clients, from real-time tracking platforms running in the UK to backend systems for organizations here in Sri Lanka.
Outside of programming, I drive a manual. I genuinely enjoy it. The rev matching, the engine braking, being aware of exactly what the car is doing. There's something about not letting the machine do everything for you that I find satisfying. I feel the same way about working closer to the systems layer, honestly.
If you're into backend work or just like how systems fit together, there's probably something here for you.
What I'm Building
Real-Time Adaptive Bitrate (ABR) Transcoding Engine
My final year project is a real-time adaptive bitrate streaming engine written in Rust. The idea is simple: ingest a high frame rate source and transcode it on the fly into multiple bitrate formats so the client always gets the best stream their connection can handle.
The interesting problems are in the transcoding pipeline. Keeping up with a live source in real time, managing memory without falling behind, and making the bitrate switching decisions fast enough that the viewer never notices. That's what I'm currently working through.
It's a sports broadcasting use case at heart, where dropped frames and buffering actually matter.
If you've worked with FFmpeg from Rust before, I'd genuinely love to hear how you approached it.
Technical Skills
Systems & Architecture
Systems Programming
I write performance-critical code in Rust and Go. That means thinking about allocations, understanding what the compiler is actually doing, and not reaching for an abstraction when the problem is fundamentally a low-level one.
Distributed Messaging
I've built services that talk over gRPC, Kafka, and Redis Pub/Sub. A lot of that work in Go comes down to getting the concurrency right: channels and mutexes, making sure shared state stays consistent.
Security & Identity
I've built IAM systems from scratch. OAuth2, WebAuthn, TOTP-based MFA, JWT rotation with Redis-backed session invalidation. I've read enough about how these go wrong to take it seriously.
Unix Environment & Tooling
I live in the terminal. Neovim, tmux, a tiling WM, and a dotfiles repo that keeps everything reproducible across machines. If I'm doing something more than twice it gets a script.
Data & Infrastructure
Database Engineering
I work with PostgreSQL and MySQL. Most of the interesting work is in the schema design and access patterns, getting those right early saves a lot of pain later. I use Redis on top for caching and session management to keep the database load reasonable.
Cloud-Native Tooling
I deploy on AWS mostly, ECS, Lambda, S3, and some GCP. Docker for containerization, Terraform for infrastructure, and GitHub Actions for CI/CD. Nothing exotic, just making sure things actually ship and stay running.
Primary Tech Stack
Key Projects
Distributed Content Engine
This is the engine that powers this site. It's a server-side rendered content system built in Rust with Axum and Askama. Markdown files go in, HTML comes out, images get uploaded to S3 automatically. Redis sits in front of the rendered output and database reads to keep response times low. It runs on AWS Lambda across multiple regions, with a Cloudflare Worker acting as a reverse proxy to route each request to the closest region.
Yes, it's overengineered for a blog. I had fun building it.
Real-Time Driver Tracking System
This one is actually in production. A UK-based chauffeur and airport transfer service uses it to manage 50+ drivers and 200+ clients. Each active booking maps to a Kafka partition, and Redis tracks the partition state, connection counts, and last known location per stream. Drivers push location updates, Kafka buffers them, and passengers receive them over WebSockets in real time. Once a trip ends the full route gets archived to S3, so drivers, passengers, and admins can replay the entire journey. Cron jobs handle automatic job termination for anything running over 24 hours.
IAM Server
A centralized auth server built in Go. Supports email/password, magic link login, and OAuth with Google, GitHub, and Twitter. Users can layer on TOTP or Passkeys on top. The session layer uses RS256 JWT pairs with short-lived access tokens and Redis-backed refresh token rotation. What I found interesting was how many separate Redis instances this ended up needing: one for sessions, one for rate limiting, one for WebAuthn challenges, one for email tokens, and a general system cache. Each has a different TTL and eviction policy.
3D Mesh Engine & Slicer
I got curious about how 3D printing cost estimation actually works and ended up building this. mesh_rs is a CLI tool in Rust for analyzing and manipulating 3D mesh files. It computes signed volume using the divergence theorem, bounding box diagonals, triangle counts, and can scale meshes to a target size. It handles both binary and ASCII STL as well as OBJ. The volume computation was the interesting part: getting it right on concave and non-manifold meshes took some care, and I ended up using Kahan summation to keep floating point drift under control on high vertex count models. Published as a crate on crates.io and still actively working on it.
Experience
MoneyDoc | Financial Consulting Platform
2025 Dec > 2026 AprKernel 70 | Client Project
A platform for a financial consulting service with three separate roles: client, consultant, and admin. I was responsible for the REST APIs, IAM system, and caching strategy. The most interesting piece was the Google Calendar integration. Consultants manage their availability through their Google Workspace account and the platform stays in sync automatically, so clients can never book time that's already been claimed externally.
PAFFREL | CMS & Digital Library
2024 > 2025Kernel 70 | Client Project
PAFFREL is an election monitoring organization in Sri Lanka. We built two platforms for them. The CMS handles their publications, event records, and organizational content through a REST API with Redis caching to keep database load reasonable. I also built the authentication system for it. The digital library lets them digitize their physical books and make them publicly available as PDFs. I wrote a Lambda function that triggers on S3 upload, extracts the first page of each PDF, and serves it as the cover image automatically.
Driver Management Platform
2024 May > 2024 SeptKernel 70 | Client Project
Built for a UK-based chauffeur and airport transfer service. Actively used by 50+ drivers and 200+ clients. See the projects section for the full technical breakdown.
Education
Bsc(Hons) Computer Science
2023 - 2027NSBM Green University, Colombo, Sri Lanka
Get in Touch
I'm always open to discussing new projects, opportunities, or partnerships. Feel free to reach out through any of the channels below.