Software Engineering and Product Consultant
2017 - PRESENTFreelance- Created the audio-mixing service that powers Sonos Radio, using Rust and Node.js.
- Developed a network solution in Go to tunnel multiplexed connections between private offices for healthcare patient data without requiring admin access.
- Created an IoT system for clean-room environments at Intel, using Go.
- Led the team at Savvi.legal in defining "Feature Complete" and creating the product roadmap, which is currently in development.
- Spearheaded a user experience review of the product for which design changes are in progress.
Technologies: DevOps, Bash Script, ARM Linux, IoT Security, Rust, REST, HTTPS, DNS, Transport Layer Security (TLS), Let's Encrypt, Multicast DNS (mDNS), OpenID Connect (OIDC), Node.js, GoSenior Go Engineer
2017 - 2018Big Squid- Led the team in refactoring existing Go code for production deployment.
- Developed and deployed a hybrid Go-Python solution for scaling machine learning deployments to multiple nodes simultaneously while maintaining internal states.
- Created a streamlined database interface for integrating with multiple traditional and business intelligence databases for machine learning and ETL.
Technologies: Go, DevOps, Bash Script, Domo, Redshift, Snowflake, Pandas, Python, Node.jsChief Technology Officer
2015 - 2017Daplie, Inc- Crafted the product vision, brand, and principal copy used for funding campaigns, leading to over $2,000,000 in capital raised.
- Drafted and led the technical team in creating a functional, secure in-home server that used a variety of IoT-ified DevOps, cloud, and auto-discovery technologies and security mechanisms, including DNS, mDNS, VPN, SOCKS5, OIDC, and Let's Encrypt.
- Created a domain reseller API to automate device setup with custom user-owned domains, which was created in part to avoid legal issues related to user content.
- Developed Greenlock.js, the most popular Let's Encrypt client for Node.js.
Technologies: Go, Bash Script, Advanced Encryption Standard (AES), Elliptic Curve Digital Signature Algorithm (ECDSA), RSA, SSH, SOCKS5, ARM SoC, ARM Linux, VPN, Proxy Servers, Transport Layer Security (TLS), Let's Encrypt, Multicast DNS (mDNS), DNS Servers, DNS, JavaScript 5, Node.jsSoftware Engineering and Product Consultant
2012 - 2015AJ ONeal Tech LLC- Consulted with Auction Mobility to create a real-time auction control panel for auction clerks, using WebSockets and Node.js. Architected the REST API and WebSockets integration for the mobile apps and recruited a full-time Node.js developer.
- Worked with a company that manufactured IoT HVAC controllers (similar to, but long before, Nest), debugging an existing Node.js application to fix various connectivity and SQL database issues.
- Contributed bugfix patches and documentation to Node.js core, including the fs and URL query packages.
- Guest lectured at Utah Valley University, DevMountain, and General Assembly and delivered numerous Linux and JavaScript-related talks at UtahJS, Open West, and other conferences.
Technologies: Bash Script, WebSockets, AngularJS, SQLite, ARM Linux, IoT Security, OAuth 2, Node.jsLead Software Engineer
2010 - 2013SpotterRF- Bet on HTML5 and won. The web-based mapping and tracking application developed under my direction was such a good user experience that our military partners were able to get special permission to use Firefox instead of Internet Explorer.
- Reverse-engineered the Google Maps tile system to make our offline image caching system compatible with it as well as Yahoo and Bing maps.
- Created the prototype and directed development of a DD-WRT-based IoT gateway for integrating our product with other vendors in harsh network environments.
- Worked with various ARM SoC toolchains for prototype and production devices. Created patches for compiling Node.js on ARM and with OpenEmbedded and Raspberry Pi toolchains.
Technologies: DevOps, Bash Script, ARM Linux, ARM SoC, JavaScript 5, Go, Node.js