Software Engineering and Product Consultant2017 - PRESENTFreelance
Technologies: DevOps, Bash Scripting, ARM Linux, IoT Security, Rust, REST, HTTPS, DNS, Transport Layer Security (TLS), Let's Encrypt, Multicast DNS (mDNS), OpenID Connect (OIDC), Node.js, Go
- 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.
Senior Go Engineer2017 - 2018Big Squid
Technologies: Go, DevOps, Bash Scripting, Domo, Redshift, Snowflake, Pandas, Python, Node.js
- 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.
Chief Technology Officer2015 - 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.
Software Engineering and Product Consultant2012 - 2015AJ ONeal Tech LLC
Technologies: Bash Scripting, WebSockets, AngularJS, SQLite, ARM Linux, IoT Security, OAuth 2, Node.js
- 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.
Lead Software Engineer2010 - 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.