Tait Hoyem

Backend and systems software engineer

tait@tait.tech | tait.tech | github.com/TTWNO

Summary

Software engineer with five years of experience across Rust, Python, and JavaScript, working on everything from low-level systems and async services to Django web backends. I maintain open-source accessibility infrastructure that other projects build on, including a pure-Rust AT-SPI2 implementation used by AccessKit and the Odilia screen reader.

Technical Skills

Languages
Rust, C/C++, Python, JavaScript/TypeScript, PHP, SQL
Backend and frameworks
Django, Flask, Tornado (Python); Axum, Tokio, proc-macro (Rust); WordPress (PHP)
Systems
Async and concurrent code, D-Bus IPC, protocol design, caching and performance work, CI/CD, automated testing (unittest, Selenium), OCR
Web and markup
HTML, CSS, jQuery, MathML, LaTeX
Tools and practice
Git, Semantic Versioning, WCAG 2.1 AA
Spoken languages
English (native), Mandarin Chinese (novice)

Experience

CNIB Access Labs, Accessibility Engineer (2025-present)

Bytetools Technologies Inc., Founder and Lead Developer (2020-present)

University of Lethbridge, Research Assistant (2025)

GNOME Foundation, Software Developer (2023-2024)

National Network for Equitable Library Service (NNELS), Accessibility Tester (2023-2024)

Oxfam Canada, Accessibility Consultant (2022-2023)

Southern Alberta Institute of Technology (SAIT), Instructor (2022-2023)

Large Canadian University, Alternate-Format Transcriber (2021-2022)

Zone4 Systems Inc., Software Developer (2021)

Selected Projects

atspi (Rust, async, D-Bus)

Primary maintainer of atspi, a pure-Rust implementation of AT-SPI2, the main accessibility API on Linux. A custom caching layer produced a measured 350% performance improvement over the first release, with over 1000 tests and CI coverage checks. AccessKit, the cross-platform accessibility layer behind toolkits like Bevy, egui, and Slint, builds on it.

Odilia (Rust, Tokio)

Core contributor to Odilia, a fast screen reader for the Linux desktop built on AT-SPI2 over D-Bus. The design is distributed and asynchronous, with custom caching and performance work. Built with an international team over Git.

Lichess screen-reader support (TypeScript)

Added board navigation to lichess.org's NVUI screen-reader mode. Blind players can move around the board by keyboard, jump between pieces with letter keys, hear audio cues, and handle pawn promotion. Merged upstream.

spiel and ssip-client-async (Rust)

Implementations of two text-to-speech transport protocols: the Spiel D-Bus speech provider and an async SSIP client. Both drive speech output from assistive software.

Semantigram

An experimental system for sharing visual data between sighted and blind collaborators through shared semantics.

Simple Markdown Editor (JavaScript, KaTeX)

A browser-based, offline-capable Markdown and math editor that outputs accessible MathML.

Education

BSc, Computer Science, University of Lethbridge (2023-2026)

Research in embedded text-to-speech, human-computer interaction, and accessibility systems.

Diploma, Information Technology, SAIT (2019-2021)

Object-oriented, full-stack software development.