Thomas Ball is a research scientist and partner researcher at Microsoft Research with 11 years of software engineering experience focused on developer-facing tooling and embedded education platforms. He has deep full-stack experience contributing to high-profile Microsoft open-source projects like MakeCode, pxt-microbit, and TouchDevelop, improving block-based programming UX, Bluetooth services, simulators, and front-end help text. Thomas blends UI polish with hardware-facing integrations—implementing micro:bit Bluetooth services and refining simulator behavior—so his work sits at the intersection of educational tooling and low-level device features. Based in Mercer Island, WA, he combines research-minded rigor with practical shipping instincts, often making small but impactful fixes (help text, error reporting, field editors) that improve developer and learner experiences. Colleagues would describe him as a pragmatic engineer who elevates usability in complex systems while quietly tackling both documentation and core technical problems.
A Blocks / JavaScript code editor for the micro:bit built on Microsoft MakeCode
Role in this project:
Full-stack Developer
Contributions:14 reviews, 115 commits, 75 PRs in 4 years 10 months
Contributions summary:Thomas's contributions primarily focused on enhancing the Bluetooth functionality within the micro:bit code editor. This included implementing and defining various Bluetooth services related to IO pins, LEDs, temperature, magnetometer, accelerometer, and button services. Furthermore, the user worked on the simulator code, adding features and fixing bugs related to core functionalities. The user's commits also involved integrating and refining features related to the Micro:bit's LED screen.
Microsoft MakeCode (PXT - Programming eXperience Toolkit)
Role in this project:
Full-stack Developer
Contributions:4 reviews, 300 commits, 150 PRs in 6 years 4 months
Contributions summary:Thomas focused on enhancing the user interface and block-based programming experience within the MakeCode platform. They primarily worked on updating the block-to-text mapping for better documentation, which involved modifying the TypeScript and JavaScript code for the Blockly loader and renderer. The user also implemented new functions and adjusted the placement of elements, and added new field editors.
minecraftadafruitpxtjavascriptexperience-toolkit
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.