Ian Purvis

Staff Software Engineer at Purvis Research

Madison, Wisconsin, United States
email-iconphone-icongithub-logolinkedin-logotwitter-logostackoverflow-logofacebook-logo
Join Prog.AI to see contacts
email-iconphone-icongithub-logolinkedin-logotwitter-logostackoverflow-logofacebook-logo
Join Prog.AI to see contacts

Summary

🤩
Rockstar
🎓
Top School
Ian Purvis is a Staff Software Engineer with 11 years of hands-on experience building full-stack and platform solutions, currently based in Madison, Wisconsin and serving at eBay while running his own consultancy, Purvis Research. He has a strong track record modernizing and automating complex codebases—examples include adding CMake, CI, and AVA-based testing to the high-profile ammo.js port of the Bullet physics engine and refactoring core three.js components to ES6 for better maintainability and tree-shaking. Ian moves comfortably between front-end AR/WebGL work and backend/platform tooling, having delivered systems with TypeScript, Node, Ruby on Rails, AWS, Terraform, and PostgreSQL across diverse clients and startups. He combines engineering leadership roles (VP Engineering, COO-level responsibilities) with deep technical execution, frequently acting as a technical advisor for enterprise digital transformations. Not obvious from titles alone, he repeatedly bridges product and ops: shipping production web experiences while also owning build, release, and CI automation that keep those products reliable. Trained at the University of Wisconsin–Madison in Computer Science, he brings an entrepreneurial mindset to both consultancy engagements and large engineering organizations.
code11 years of coding experience
job18 years of employment as a software developer
bookBS, Computer Science, BS, Computer Science at University of Wisconsin-Madison
github-logo-circle

Github Skills (16)

ava10
emscripten10
github-ci10
s610
javascript10
refactoring10
cmake10
githubaction-workflow10
build-automation10
cicd10
3d10
webassembly9
webgl9
git8
html8

Programming languages (8)

TypeScriptC++CJavaScriptVueVim scriptRubyVim Script

Github contributions (5)

github-logo-circle
kripken/ammo.js

Jun 2020 - Feb 2021

Direct port of the Bullet physics engine to JavaScript using Emscripten
Role in this project:
userAutomation Engineer / Build & Release Engineer
Contributions:18 commits, 23 PRs, 10 pushes in 7 months
Contributions summary:Ian significantly improved the build and test infrastructure for the ammo.js project. They introduced CMake support for building, replacing older build scripts and simplifying the build process. The user also migrated testing frameworks to AVA, set up a CI workflow, and integrated package installations, resulting in a more robust and automated testing environment. Additionally, they streamlined the build process by removing legacy build files, bundling glue.js, and incorporating front matter.
physics-enginephysicsemscriptenjavascriptbullet-physics
mrdoob/three.js

Jul 2020 - Apr 2021

JavaScript 3D Library.
Role in this project:
userFull-stack Developer
Contributions:2 reviews, 28 commits, 16 PRs in 8 months
Contributions summary:Ian primarily focused on refactoring existing code by converting various JavaScript classes to ES6 classes within the `three.js` library. This involved updating core components like `AudioAnalyser`, `DirectGeometry`, `Layers`, `Uniform`, `PMREMGenerator`, `Ray`, `AudioListener`, `PositionalAudio`, `Audio`, `BooleanKeyframeTrack`, `ColorKeyframeTrack`, `NumberKeyframeTrack`, `QuaternionKeyframeTrack`, `StringKeyframeTrack`, `VectorKeyframeTrack`, `KeyframeTrack`, `AnimationClip`, `AnimationMixer`, `AnimationObjectGroup`, and `PropertyMixer`. Additionally, the user made a fix related to ES6 class unwrapping and tree shaking in the build process. This work modernized the codebase and improved maintainability.
virtual-realitysvgwebglcanvasjavascript
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.
Request Free Trial