Senior Engineer2019 - PRESENTImbellus
- Developed a system for converting JSON-based UI definitions into Vue.js components, both at runtime and through webpack.
- Built a WYSIWYG editor for Vue.js components, including a node-based logic editor.
- Integrated Unity3D WebGL and the Vue.js WYSIWYG editor to allow editing of experiences involving Unity graphics and a Vue.js UI.
Full-stack Developer2015 - 2018Skrumble
- Designed and built a prototype for large-scale P2P video conferences which was tested with more than double the number of users competitors advertised.
- Built and designed new scalable telephony (VoIP) and WebRTC system.
- Prototyped a new system for combining SIP (a VoIP protocol) and WebRTC communication in the same calls.
- Built a visual node-based system for creating complex IVRs, including the ability to make API calls, route based on arbitrary variables, and use text-to-speech.
- Helped lead an architecture change that allowed the company to move from running 200+ virtual machines on privately owned servers to having a couple of VMs on the cloud and using the server exclusively for media.
- Managed and ran the legacy back-end system, including being responsible for DevOps and maintenance of over 200 VMs.
Theater Technician2013 - 2015George Ignatieff Theatre
Technologies: MySQL, PHP, jQuery Mobile, jQuery, Unity3D
- Developed a system that allowed clients to visualize the lighting options provided by the theater in a web browser using Unity3D and their web plugin.
- Built a prototype scheduling and contract management system for the theater manager.
- Collaborated with clients to ensure their shows and events ran smoothly and provided them with technical support.
Web Application Developer (Student Position)2012 - 2013Ontario Institute for Studies in Education
Technologies: PHP, HTML, jQuery, HTML5, Web Development
- Built a prototype student portal.
Web and Flash Programmer2009 - 2010Visual3D Ltd.
- Built Flash-based websites for clients.
- Designed and built a customizable questionnaire for filtering and matching individuals with retirement homes.