AJ ONeal, Developer in Provo, UT, United States
AJ is available for hire
Hire AJ

AJ ONeal

Verified Expert  in Engineering

Software Developer

Location
Provo, UT, United States
Toptal Member Since
October 22, 2020

AJ is an accomplished senior software engineer with 15 years of experience in applying cutting-edge technologies. He has worked on projects for Apple, Intel, and Sonos, and he specializes in APIs, IoT, authentication, and network protocols, such as OpenID Connect (OIDC) and Multicast DNS (mDNS). AJ also has a decade of experience in Go and Node.js, he is familiar with Rust, and versed in UX (not UI).

Portfolio

Freelance
DevOps, Bash Script, ARM Linux, IoT Security, Rust, REST, HTTPS, DNS...
Big Squid
Go, DevOps, Bash Script, Domo, Redshift, Snowflake, Pandas, Python, Node.js
Daplie, Inc
Go, Bash Script, Advanced Encryption Standard (AES)...

Experience

Availability

Part-time

Preferred Environment

ES5, Vanilla JS, JavaScript 5, REST APIs, Rust, Go, Node.js, Vim Text Editor, MacOS

The most amazing...

...library I've released is Greenlock, the most popular Let's Encrypt library for Node.js. It's used by Mozilla IoT and powers multiple hosting services.

Work Experience

Software Engineering and Product Consultant

2017 - PRESENT
Freelance
  • 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, Go

Senior Go Engineer

2017 - 2018
Big 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.js

Chief Technology Officer

2015 - 2017
Daplie, 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.js

Software Engineering and Product Consultant

2012 - 2015
AJ 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.js

Lead Software Engineer

2010 - 2013
SpotterRF
  • 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

Telebit

https://telebit.io
A network tunnel-over-TLS service for remote access, IoT, and Webhooks. I created a multiplex protocol, the authentication scheme, and built the open-source Node.js client and server applications, as well as the proprietary, standalone Go client and server builds.

PocketID (In Development)

https://pocketid.app
A lightweight, highly secure JWT-based authentication service for rapid development. It features seamless second-factor authentication by default, using passwords only for optional client-side encryption. Focusing an authentication (rather than authorization) has allowed us to create a convenient developer and user experience that doesn't compromise security. For example, the seamless iframe is not susceptible to click-jacking, as new apps cannot gain access to user info without the user granting permission through the second-factor email.

Greenlock

The most popular Let's Encrypt solution for Node.js, which has over 1,000,000 downloads. It's a full suite of modern crypto libraries for Let's Encrypt (ACME, JOSE, and ASN.1), built in both browser and server-side JavaScript, using modern Web Crypto and Node.js crypto, with no external dependencies.

Languages

Go, JavaScript, Bash, Rust, JavaScript 5, ES5, Python, Snowflake, A+, Bash Script

Frameworks

JSON Web Tokens (JWT), Vanilla JS, OAuth 2, AngularJS

Libraries/APIs

Node.js, REST APIs, OpenID, Socket.IO, Pandas

Tools

Let's Encrypt, Vim Text Editor, VPN, Domo

Paradigms

REST, ASN.1, Human-computer Interaction (HCI), DevOps

Platforms

Linux, MacOS, ARM Linux

Storage

JSON, SQLite, PostgreSQL, Redshift, MySQL

Other

OpenID Connect (OIDC), HTTPS, APIs, OAuth, Multicast DNS (mDNS), Transport Layer Security (TLS), DNS, RSA, Elliptic Curve Digital Signature Algorithm (ECDSA), IoT Security, Networks, Transmission Control Protocol (TCP), UDP, TCP/IP, HTTP, Product Engineering Methodology (PEM), JavaScript Object Signing and Encryption (JOSE), JSON Web Key (JWK), ARM SoC, WebSockets, DNS Servers, Proxy Servers, SOCKS5, SSH, Advanced Encryption Standard (AES), Networking, CompTIA Network+ Certification, User Experience (UX), Information Technology, Computer Science, Computer Engineering, Web Crypto, IT, JSON Web Signature (JWS), Full-stack

2008 - 2010

Associate's Degree in Computer Science

Brigham Young University - Provo, UT, USA

2000 - 2002

Technical Vocational Training in Information Technology

Newport News Aviation Academy - Newport News, VA, USA

JUNE 2004 - PRESENT

Network+

CompTIA

JUNE 2004 - PRESENT

Linux+

CompTIA

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring