Stefan Zupancic

A polyglot software developer who architects performant, end-to-end systems from zero to one.

I have a proven track record of building, and then shipping products to real users, driving engagement and solving complex problems with elegant, efficient code.

System Design

Engineering elegant and performant systems by resolving core architectural trade-offs.

Full-Stack Development

Developing across the stack, from custom frontends to high-performance backend APIs.

Data Visualization

Transforming complex datasets into intuitive and interactive 3D visualizations.

AI Automation

Automating key processes and workflows using cutting-edge AI models.

Data Pipelines

Building efficient and reliable ETL/ELT pipelines for large-scale data processing.

DevOps

Automating deployment, scaling, and operations with CI/CD and containerization.

Projects

pokepastefix

Pokepastefix & HQmons

A client-server solution to fix and enhance missing functionality of the pokepast.es website. The browser extension replaces missing images using dynamic inline resource insertion, while the art is served by a custom Bun and Elysia.js backend. The extension serves over 800 daily active users, with the API handling 10k+ monthly requests.

JavaScript TypeScript Bun Elysia.js Docker Browser Extension HTML/CSS
paleomap3D

PaleoMap3D

An interactive 3D globe visualizing continental drift and paleogeographic data across 500+ million years. Built with Three.js on the client-side and a custom data pipeline written in C, Rust, and Python that processes large NetCDF datasets into a compressed binary format or texture for efficient delivery.

JavaScript Three.js HTML/CSS Typescript Bun Elysia.js Data Pipeline C Rust Python Docker
ow2-replaycode-ocr

OW2 Replaycode OCR

A high-accuracy Discord bot for extracting Overwatch 2 replay codes from screenshots. It uses OpenCV for template matching and a dual-pipeline approach with Tesseract-OCR and the Granite Vision VLM for character recognition. Deployed on over 150 servers and used by professional teams like GenG.

Python AI/ML OpenCV PyTorch PostgreSQL Docker Tesseract-OCR
deadlocker.tv

Deadlocker.tv

A community hub for the game Deadlock, featuring a suite of custom-built tools, including an interactive tactical map for strategy planning. Built with a high-performance Go backend using templ for server-side rendering and a vanilla JavaScript frontend leveraging the Browser Canvas API for real-time drawing and interaction. The entire application is containerized with Docker for seamless deployment.

JavaScript HTML/CSS Browser Canvas Go templ Docker
deadlocktopmatch

Deadlock Broadcast Agent

An autonomous agent that automates the broadcasting of top-tier matches for the game Deadlock. The agent uses OpenCV in Python for real-time game state analysis, simply following the top networth player perspective. It leverages automation libraries to control the game client on a Linux environment and integrates with streaming software via Shell Scripting, enabling a fully automated, 24/7 broadcast.

Python OpenCV Shell Scripting Linux
hockey3d

NHL Play-by-play 3D

A 3D visualization tool that reconstructs NHL games by plotting play-by-play event data in a virtual rink. The project features a Rust-based parser that fetches and processes official NHL API data into a structured format. This data is then rendered on the client-side using JavaScript and Three.js, creating an interactive 3D representation of the game flow directly in the browser with HTML/CSS.

JavaScript HTML/CSS Three.js Rust

About

For the past two years, I have focused on building and deploying a series of production-grade systems to demonstrate and hone my skills in AI, data engineering, and high-performance applications all while supporting myself with part time work.

While building these systems independently, I drew on five years of esports coaching experience where I learned both team dynamics and strategic system design. Crafting competitive strategies taught me to analyze complex systems, identify critical paths, and optimize under constraints. I now apply the same thinking to technical architecture. Working with teams taught me how different personalities mesh, how to communicate across skill gaps, and how to be genuinely collaborative under pressure.

The projects showcased here are the tangible examples of this approach. My process begins by identifying a fundamental challenge, analyzing its core tensions, and architecting a complete, optimized system from first principles to resolve them. I am a polyglot engineer who chooses the right tool for the job, from low-level C and Rust for data-intensive pipelines to high-level Python and JavaScript for AI and web services. I am highly motivated to master new technologies when they are the best fit for the problem at hand.

This philosophy drives my approach: not just full-stack development, but end-to-end system ownership, from its initial conceptual design to its final, self-hosted deployment.

Contact

Have a question or want to work together? Feel free to reach out.