SYSTEMS DEVELOPER · UOFT CS '29
I solve problems that don't have solutions yet, building whatever I need along the way. My past projects include everything from low-level systems development to full-stack web applications.
Built custom OpenVR driver and client library enabling real-time device manipulation via lock-free shared memory IPC. Achieved sub-microsecond latency through custom multi-layer ring buffer protocol and DLL injection for runtime interception.
Designed and implemented a complete RISC-V toolchain from scratch in C, including a custom assembler, virtual CPU, interactive debugger, and complete support for the RV32I+M instruction set. Built multi-stage assembler pipeline including lexing, parsing, pseudoinstruction expansion, two-pass symbol resolution, and binary encoding. Implemented a two-level Sv32-style virtual memory system with permission-checked memory reads and writes with support for a full 32-bit address space. Developed a CLI debugger with breakpoint/watchpoint support and symbol-aware disassembly.
Assumed ownership of a university timetable generator used by UofT students. Modernized a 5-year legacy codebase, rebuilt Vue.js frontend, designed MongoDB/Express.js backend with automated course scraping. Containerized using Docker and redeployed using AWS ECS, S3, and CloudFront.
How's it going, I'm Thomas. I'm a third-year computer science undergraduate at the University of Toronto. I build things that solve real problems, from developer-oriented drivers and APIs, to full stack web applications used by actual users. I'm currently looking for 12 or 16-month internship opportunities for Summer 2027.
Feel free to reach out with any inquiries.
Thomas Majewski · 2026