OpenDeck and Tacto demonstrate systems engineering in action.
~5,000 LoC Rust backend + ~2,500 LoC Svelte frontend
Communication with each plugin, as well as with the application frontend, is handled in parallel, each on a separate worker thread.
Why: Communication with plugins is event-driven, which prevents a single plugin from being a point of failure for the entire app.
Learned: How to build systems that manage long-lived connections with dozens of clients simultaneously
Persisted data is accessed through a single shared object with locks to coordinate concurrent reads and writes.
Why: The app is highly concurrent, every thread touches shared state, and many plugins can target a profile at once.
Learned: How to coordinate shared-state concurrency while preventing data corruption and avoiding deadlocks
Rust typing and thread-safety boundaries reject malformed plugin data early and safely.
Why: Earlier iterations of the application taught me that, in a stack of many moving parts, technologies that enforce correctness are essential.
Learned: How to use static typing and strict contracts to make software resilient to unpredictable external data
Commercial product built on OpenDeck's foundations
Reliable WebRTC-based flows support the product, removing USB cable assumptions while keeping latency practical for daily workflows.
Why: Despite additional complexity, communicating directly offers lower latency, reduced costs and improved user privacy and security.
Learned: How to use distributed networking technologies and stacks to enable communication in unpredictable network configurations
Payments, licensing, accounts, and user data are managed as needed for a production SaaS product.
Why: Sustainable product development requires secure billing and entitlement logic that integrates cleanly with application behavior.
Learned: How product architecture changes when revenue, access control, and user management become core requirements
Terms of service and a privacy policy ensure the product meets all requirements for a commercial offering.
Why: Operating as a commercial entity requires adherence to legal and regulatory standards.
Learned: How to make a commercial product ready for public use while managing liability
I'm active throughout the year, working hard on my projects and in the open source ecosystem.
Each one helped me build a part of my engineering skillset.
A compiled, strictly-typed programming language with lexer and parser scaffolding.
What I learned: I learned about compiler design, abstract syntax trees, and type systems.
An open-source web-based game engine and editor with Git-powered version control.
What I learned: I learned about managing complex state in a browser-based IDE and wrapping Git to be web-friendly.
An HTTP proxy that rewrites HTML URL-bearing attributes to route traffic through a controlled host.
What I learned: I learned about the intricacies of HTTP and other aspects of the web platform.
A reproducible PlatformIO base for my projects involving a 7-inch ESP32 display, using LovyanGFX.
What I learned: I learned about working closer to the hardware in C++ and the challenges of embedded systems.
A Minecraft server software implementation for protocol version 47 (1.8.x).
What I learned: I learned about low-level packet handling, binary data representation, and network protocol design.