Eric Peterson, Developer in Culpeper, United States
Eric is available for hire
Hire Eric

Eric Peterson

Verified Expert  in Engineering

Authorization Developer

Location
Culpeper, United States
Toptal Member Since
June 29, 2017

From payments to maps to real-time updates, ambitious UI/UX, and those ubiquitous QR codes, Eric has built it for startups and enterprises. And he won't get stuck where many engineers make time-wasting mistakes: geospatial data, simple logins for everyone (you too, enterprise SSO), in-app search, time zones, email deliverability, user permissions, and other stuff you shouldn't have to worry about. Eric is proactive and happy to communicate at any level of technical (or non-technical) detail.

Portfolio

UrbanSim
TypeScript, PostGIS, Auth0, Google Cloud, Mapbox, Google Cloud Platform (GCP)...
MeetElise
TypeScript, Spring, OAuth 2, Auth0, PostgreSQL, React, Java, GraphQL...
Cognosante
Amazon Web Services (AWS), GraphQL, Apollo, React, PostgreSQL, Express.js...

Experience

Availability

Part-time

Preferred Environment

React, PostgreSQL, TypeScript

The most amazing...

...thing I've built is an interactive data visualization to help doctors prescribe the most effective antibiotics based on their hospital's data.

Work Experience

Full-stack Developer | Tech Lead

2022 - 2022
UrbanSim
  • Led development and documentation for an app to query and visualize geospatial data. Team members said the five pages of engineering documentation were succinct and helpful in gaining worker confidence and quick contributions.
  • Built an integration between two services, Auth0 (login) and Streamlit (data science UI development), enabling data scientists to rapidly develop an app that let clients use their corporate login, without needing help from software developers.
  • Fixed bugs quickly in a legacy application authored by employees no longer with the company.
Technologies: TypeScript, PostGIS, Auth0, Google Cloud, Mapbox, Google Cloud Platform (GCP), Material UI, Automated Testing, JSX, NPM, HTML5, Docker, Git, API Integration, Python, Full-stack, REST APIs, CI/CD Pipelines, Jest, Architecture, APIs, Web Development, Mapbox SDK, Python 3, Front-end, GitHub, JSON

Senior Front-end Engineer

2020 - 2021
MeetElise
  • Merged two fragmented UI repositories into a single app and added many production concerns, including HTTPS, code-splitting, request tracing, code linting, a graceful fallback UI, and tracking for uncaught exceptions.
  • Merged the login from two fragmented apps with some emails and hashed passwords in a PostgreSQL database, and some in AWS Cognito, into Auth0 with a "trickle migration" so no users experienced interruptions or had their passwords reset.
  • Mentored two new front-end hires, both of whom were able to get up and run and open pull requests within their first two days. One said he learned more in one code review from me than he had in the last year at a previous company.
  • Refactored a legacy React app, taking it from 20,000 production and test code lines with 15% branch coverage to 13,000 production and test code lines with 79% branch coverage, without a complete rewrite and without bringing the app down to end-users.
  • Implemented relationship-based access control (ReBAC) appropriate for B2B SaaS, with an authorization model including internal admins, tenant organizations, parent-child resources, and client users with various roles.
  • Built an embeddable UI widget with telemetry and consumer-grade animations, with a total bundle size under 10kb minified and gzipped size.
  • Built client onboarding tools in Retool and trained customer success to continue creating their tools, reduced onboarding time in half, and freed the small engineering team from internal tools to focus on client-facing features.
  • Added OpenAPI 3.0 schema to API and automatically generated and published SDK when the schema changed.
Technologies: TypeScript, Spring, OAuth 2, Auth0, PostgreSQL, React, Java, GraphQL, Authorization, Bootstrap, Amazon S3 (AWS S3), Prisma, CSS, Automated Testing, JSX, NPM, HTML5, Git, API Integration, Redux, Full-stack, Azure, REST APIs, CI/CD Pipelines, Jest, Spring Boot, APIs, Web Development, AWS Lambda, Front-end, GitHub, JSON

Full-stack Developer

2017 - 2020
Cognosante
  • Developed modern web applications for healthcare providers and hospital administrators. Integrated modern technology and paradigms like serverless, React, and OpenID with legacy healthcare systems.
  • Fixed race conditions and other tricky bugs so things could "just work" in all browsers.
  • Mentored team members in the new SharePoint Framework, which emphasizes React, TypeScript, and modern DevOps practices. Brought an intranet used by 1,700+ people into the present.
  • Presented at a developer brown-bag session, showing how to use debugging tools on front- and back-end code simultaneously.
  • Trained a team on how to write unit tests for a React application.
Technologies: Amazon Web Services (AWS), GraphQL, Apollo, React, PostgreSQL, Express.js, Bootstrap, Amazon S3 (AWS S3), CSS, React Redux, JSX, NPM, HTML5, Git, API Integration, Charting, JavaScript Charting, Redux, Full-stack, REST APIs, Jest, APIs, Web Development, AWS Lambda, NoSQL, Front-end, GitHub, JSON

Full-stack Developer

2015 - 2017
The Sanford Guide
  • Reduced the odds that the human race will be wiped out from super-bacteria by designing and building an interactive data visualization to help hospitals use antibiotics effectively, currently used by clinical decision-makers around the globe.
  • Mentored team members in Node.js and led the creation of an OAuth 2.0 and REST API server for secure authentication and interaction from the web and mobile apps.
  • Maintained six Android applications from a single codebase with the ability to roll out new features quickly for some or all apps.
  • Hacked Google Sheets into a CMS, which resulted in getting hugs from a medical doctor who no longer had to play the "Which email has the latest version of the Spreadsheet?" game.
  • Performed many roles traditionally fulfilled by IT operations (due to the company's small size)—including server provisioning and hardening, round-the-clock emergency resolution, and database administration.
  • Happily communicated technical concepts and their business impact to non-technical management in plain English.
Technologies: Python, WordPress, Plone, PHP, Android, React, Node.js, JavaScript, Java, Express.js, Bootstrap, Amazon S3 (AWS S3), CSS, React Redux, JSX, NPM, HTML5, Git, Charting, JavaScript Charting, Redux, Full-stack, REST APIs, CI/CD Pipelines, MySQL, Architecture, APIs, Web Development, Mobile, Front-end, GitHub, JSON

SAP Developer

2012 - 2015
Babcock & Wilcox Enterprises
  • Developed and maintained business applications used daily by project management, warehouse management, accounting, and human resources.
  • Refactored a complex timekeeping application to eliminate 16 hours per week of manual accounting work.
  • Built great relationships by collaborating with the end-users.
Technologies: JavaScript, ABAP, SAP

Safety Shuttles

https://app.safetyshuttles.com/oceanside
A progressive web app for shuttle van riders to buy passes and catch a ride to local breweries. This app includes a full SaaS platform for managers of a shuttle van or bus to sell tours, edit routes, and manage drivers.

I was the sole developer and wrote the rider UI (installable as an app), as well as the manager portal, payment processing integration, QR code passes emailed to riders, and driver app to scan QR passes and provide real-time bus location.

The link shows the rider app with a real-time shuttle location and a link to buy tickets. The UI is very simple and if I had more time to spend on it, it would have been even simpler.

Share Memorial

https://sharememorial.com/
This is a data/map visualization project to view all US traffic fatalities (since 2001) using public data. I used a Jamstack architecture so this does not need a back end. The data is compiled by the US government and pre-processed by me into static files loaded by the UI.

ABAP Logger

https://github.com/epeterson320/ABAP-Logger
ABAP Logger is a library I open-sourced back when I was doing enterprise application development on SAP's platform. It's now the third most-starred ABAP project on GitHub.

Codeck | Web

https://codeck.ericp.co
An interactive pop-cryptography app that allows a user to encode and decode a short message into and from a deck of cards.

Technologies: D3.js, Webpack, HTML, Sass, Jest (for unit testing), originally CircleCI for continuous integration and deployment to GitHub Pages, now Netlify for CI and hosting.

The code is available at GitHub.com/epeterson320/codeck.

Triangle Calculator | Web

https://triangle-calculator.ericp.co/
A small web application that was written in React to solve a triangle based on incomplete data and display the shape of the triangle to the user.

Technologies I used: React, Webpack, Redux, Sass, Jest (for unit testing) originally CircleCI for continuous integration and deployment, now Netlify for CI and hosting.

The code is available at GitHub.com/epeterson320/triangle-calculator.

JavaScript Library Class Definition

https://github.com/epeterson320/codeck
This project serves as an excellent, concise illustration of defining a library class in JavaScript, codeck.js. The encoding and decoding processes are compartmentalized into different files, while the user interface code is housed in separate, dedicated data. A singular, compact class facilitates the interaction between these two components. This class delineates the internal contract between them, streamlining their interaction.

A representative sample of my work that exemplifies the public interface's definition for encoding and decoding text strings to and from a permutation of an ordered set, represented as an array, is available in the GitHub link mentioned above.

Occam's Flashlight | Android

https://github.com/epeterson320/flashlight
Deliberately not much to look at, I wanted to try out a CI workflow for Android, where as soon as I push code to source control, it's automatically tested against a suite of unit and integration tests.

I wanted to do this with a small app since for this project I was more concerned with process than results. The app itself is what I ended up naming "the simplest possible flashlight."

Antimicrobial Therapy, Inc. | Android Apps

https://play.google.com/store/apps/details?id=com.sanfordguide.amt
These are a family of Android apps that help doctors and hospitals make good decisions at the point of care. They're content-heavy and contain interactive features and tools that aren't possible in an eBook format.

Work done:
• Rolled all of the apps into one codebase with shared core features.
• Corrected concurrency errors, bringing app launch from three seconds to 0.2 seconds.
• Optimized a slow SQLite, full-text search query to be blazing fast.
• Added additional features requested by customers.

Languages

TypeScript, CSS, HTML, JavaScript, Google Apps Script, HTML5, Java, ABAP, GraphQL, PHP, Python, Scala, Python 3

Frameworks

Express.js, OAuth 2, Material UI, Redux, Jest, Plone, React Native, Selenium, Bootstrap, Spring, Akka, NestJS, Deck.gl, Spring Boot

Libraries/APIs

Node.js, React, React Redux, JavaScript Charting, REST APIs, D3.js, Stripe, Google Maps, Stripe API

Tools

React Apollo, Auth0, JSX, NPM, Git, GitHub, SendGrid, Prisma

Paradigms

Automated Testing, Functional Programming, Functional Reactive Programming, Actor Model, Jamstack

Storage

Amazon S3 (AWS S3), JSON, NoSQL, PostgreSQL, PostGIS, Google Cloud, Cloud Firestore, MySQL

Other

Writing & Editing, Authorization, Full-stack, API Integration, Charting, CI/CD Pipelines, Architecture, APIs, Web Development, Front-end, Apollo Server, Mapbox SDK, SAP, Apollo, Engineering, QR Codes, Geolocation

Platforms

Amazon Web Services (AWS), Android, Mapbox, Docker, AWS Lambda, WordPress, Azure, Google Cloud Platform (GCP), Mobile

2007 - 2011

Bachelor's Degree in Industrial and Systems Engineering

Liberty University - Lynchburg, VA, USA

AUGUST 2015 - PRESENT

Reactive Programming in Scala

École Polytechnique Fédérale de Lausanne

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