cjty.dev // Connor Tynan
Systems engineer. Embedded systems, graphics, compilers, robotics.
About
Software engineer focused on data structures and algorithms, low-level performance, and hardware-software interaction. I work on embedded systems, real-time robotics, graphics programming, compilers, and interactive programs. Outside of that I make and listen to music, play competitive games, and watch and run speedruns.
- Degree
- B.S. Computer Science, Iowa State University (Spring 2026, GPA 3.53)
- Coursework
- Computer Architecture, Operating Systems, Embedded Systems, Digital Logic, Parallel Computing, Algorithm Analysis, Hardware-Software Interface
- Status
- Not currently seeking new roles
Experience
Traversal Subsystem Lead and Facilities Manager
- Integrated and tested robotic traversal hardware, diagnosing hardware-software interaction issues under competition conditions.
- Developed and validated autonomous traversal systems in C++ and ROS 2, including path planning and control logic.
- Performed system-level testing of motors, sensors, and control software for performance, fault tolerance, and recovery behavior.
Projects
-
glrt
GPU-accelerated spectral ray tracer with wavelength-dependent materials and a custom C++ rendering pipeline. Renders via compute shader into an HDR framebuffer with tonemapping, displayed through a GLFW window. Supports interactive scene editing at runtime. Cross-platform (Linux and Windows).
-
chess
Fully interactive chess program with a terminal UI built in ncurses, including a built-in minimax engine with optimized move generation.
-
bfc
Just-in-time compiler for Brainf*** written in C. Translates source through a custom lexer and tokenizer into native x86-64 machine code generated and executed at runtime.
-
4kBOMB
UCI chess engine for the TCEC 4k tournament, where the entire binary must fit within 4096 bytes. Ships as a self-decompressing shell script: a small header decompresses and compiles the xz-compressed C source at startup, then runs the binary in place. The build pipeline (Python and shell) stitches, minifies, compresses, and checks the final byte count against the 4096-byte limit.
Skills
Languages
- C / C++
- Python
- GLSL
- CUDA
- Rust
- Verilog
- x86-64 / ARM Assembly
Systems and Embedded
- Bare-metal and RTOS firmware
- ROS 2
- Peripheral protocols (UART, SPI, I2C, I2S)
- Real-time control loops
- PCB design (KiCad)
Graphics and HPC
- OpenGL 4.5 (compute shaders)
- Vulkan
- CUDA
- Ray and path tracing
- Parallel computing
Tools
- Linux, Git, CMake, Bash
- CI/CD
- Digital logic
- Blender
- Unity
- Windows