Jonathan Calvert, Geospatial Data Developer in Nashville, TN, United States
Jonathan Calvert

Geospatial Data Developer in Nashville, TN, United States

Member since November 15, 2018
Jonathan has over 14 years of professional experience developing software in a variety of languages. He's particularly good with Java and Ruby with a strong focus on APIs and back-end technologies such as queuing systems. He has worked as a tech lead and as a senior engineer with teams from bootstrapped startups and large public companies and in domains such as healthcare, finance, transportation, among others.
Jonathan is now available for hire


  • Braintree
    Go, Amazon SQS, Apache Kafka, Ruby on Rails (RoR)
  • Kit Check
    Tableau, AngularJS, Resque, Celluloid, MySQL, Ruby on Rails (RoR)
  • Curb
    Resque, PostgreSQL, MySQL, Ruby on Rails (RoR)



Nashville, TN, United States



Preferred Environment

Git, Eclipse, Sublime Text, Vim Text Editor, MacOS, Linux

The most amazing...

...algorithm I've worked on was implementing the Frechet distance to match GPS route data.


  • Senior Engineer

    2016 - PRESENT
    • Worked in a scaling and performance team to meet a growing customer demand on the core credit card processing API through code tuning.
    • Developed the infrastructure for offloading persistence through time-critical code paths.
    • Planned and executed zero downtime data store migrations.
    • Mentored junior engineers.
    • Developed a distributed locking store using Etcd.
    Technologies: Go, Amazon SQS, Apache Kafka, Ruby on Rails (RoR)
  • Senior Engineer

    2015 - 2016
    Kit Check
    • Developed robust Rails APIs for AngularJS UI front-end apps, delivering controlled medication tracking software deployed to hundreds of hospitals.
    • Implemented a queuing infrastructure for a two-way integration with onsite hospital HL7 electronic medical record systems.
    • Developed data warehousing and client reporting features to deliver BI value around medication usage.
    • Performance tuned and eliminated defects through the use of debuggers and profilers.
    • Mentored junior engineers.
    Technologies: Tableau, AngularJS, Resque, Celluloid, MySQL, Ruby on Rails (RoR)
  • Senior Engineer | Back-end Architect

    2012 - 2014
    • Developed new, highly tested RESTful APIs in Rails for the flagship mobile booking application.
    • Led the development of internal services using geospatial data for real-time client/provider taxi matching.
    • Introduced the culture of unit testing and code reviews.
    • Bootstrapped the continuous integration for all major applications along with automatic code quality checks.
    • Headed the development of an in-house payment system for mobile applications and in-vehicle credit swipe devices.
    • Introduced the initiatives to decompose monolithic applications into microservices.
    Technologies: Resque, PostgreSQL, MySQL, Ruby on Rails (RoR)
  • Senior Engineer | Team Lead

    2010 - 2012
    • Led an effort to refactor an undocumented PHP portal system with Ruby on Rails in order to integrate with a custom CMS.
    • Evangelized development practices such as service-oriented architecture and unit testing as well as good source control practices.
    • Implemented event-driven, queue-based services for sending millions of emails with complex targeted marketing rules.
    • Standardized a number of Java libraries used for pulling data from remote veterinarian management systems, moving them into a centralized database, and providing standardized object-relational mapping objects around them to improve development time.
    • Mentored junior developers to grow their capabilities and independence.
    Technologies: Akka, OSGi, Apache Camel, SOAP, JRuby, Ruby on Rails (RoR), Hibernate, Java
  • Software Engineer (Junior to Senior)

    2005 - 2010
    Congressional Quarterly
    • Designed and developed advanced legislative search functions to provide a unified interface to over 40 disparate data source products.
    • Refactored and maintained internal fulfillment application which integrated billing functions and customer service notes and provided user access to subscription content.
    • Collaborated closely with editorial team for a complete CQ website redesign and served on the UX steering committee while advocating for emerging UI technologies.
    • Developed the BlackBerry app to streamline mobile access to materials.
    • Migrated an acquired Visual Basic/Access product to a Java Wicket application backed by Oracle to provide analytics into over 50 years of FEC filing data.
    Technologies: jQuery, Oracle, SOAP, JRuby, Ruby on Rails (RoR), Hibernate, Java
  • QA Engineer

    2004 - 2004
    • Developed the automated testing for web-based interfaces for IBM service processors for server administration.
    Technologies: WebSphere, Perl


  • Rider Matching

    At Taxi Magic a core product was our mobile app that would allow a user to request and pay for a taxi, similar to other ride apps like Uber or Lyft. Drivers did not always verify they had the correct person in the vehicle and sometimes users would get in the wrong cab.

    To address this, we needed to assign a confidence value that the rider and driver had successfully met so that we could escalate the issue and be triaged by customer service, and I was asked to come up with a solution.

    We had GPS data from a device installed in the taxi and also GPS data from the user's device all stored in a PostgreSQL database. I implemented a Ruby on Rails based microservice that had a single endpoint that would take the user's ID, a vehicle's ID, and a time range. The service would query GPS data for both the user and the vehicle in that time range and using the Frechet distance algorithm, calculate the area between the two-dimensional linear representations of the reported route. From there, we could then assign a percentage chance that the two were together. Our main app would trigger a job to query this service a few minutes after a driver registered a pickup, and that job would then start workflows based on the result.

  • Multivariate Targeted Email Marketing Campaigns

    At Vetstreet, one of the primary services it was able to provide were highly targeted marketing campaigns acting as an intermediary for pharmaceutical companies while keeping customer data confidentiality. These campaigns would require multiple variations in the offer and language used depending on pet demographics (i.e., owners with two or more bulldogs over the age of seven). In addition, we needed to be able to service requests from multiple distinct business units.

    I designed a singular Java web service that provided both a REST and SOAP interface for consumption by our analysts. Our mail provider ExactTarget required dozens of API calls per address to upload customer data across dimensions and multiple steps which meant significant time cost. In order to provide maximum parallelization, I used the Akka library which provides an actor model of programming. Each step in the creation of a campaign and data upload could then be encapsulated in its own threaded process across multiple servers, and being aware of the dependencies, it could properly cooperate to correct the order and recover in the case of failed API calls. This allowed us to scale up to deliver millions of customized, trackable product rebates per campaign.

  • Legal Text and Document Classification

    While working for Congressional Quarterly, the company had a great deal of incoming data regarding proposed bills, amendments, regulations, and editorial material. With such a deluge of material, one key aspect of legislative intelligence is being able to determine which particular items are relevant to a particular domain as many pieces of legislation impact industries in unintuitive ways.

    I designed and built a system that provided the automatic tagging of documents as a means of both broadly and narrowly classifying their topical relevance. All of our documents were ultimately fed into a MarkLogic XML database which had a means of doing entity extraction—a way of detecting things in document text such as proper nouns (people, places, products). Using this entity extraction, the code was then able to upload entities to Apache Mahout, a Hadoop machine learning library. This would apply naive Bayesian filters, and the code was able to determine the relevant classifications of a given amendment or document. These classifications could then be compared against a body of thousands of documents which had been tagged previously by the editorial staff, allowing us to instantly tag documents and alert clients in areas of interest.


  • Languages

    Java, Ruby, JRuby, Perl, JavaScript, Go
  • Frameworks

    Ruby on Rails (RoR), Sinatra, Celluloid, AngularJS, Hibernate, Apache Camel, OSGi, Akka, Grape
  • Storage

    Redis, PostgreSQL, MySQL
  • Libraries/APIs

    RGeo, EventMachine, Resque, Sidekiq, jQuery
  • Tools

    Amazon SQS, RabbitMQ, ActiveMQ, Kafka Streams, Vim Text Editor, Sublime Text, Git, Tableau, Sumo Logic
  • Paradigms

    Parallel Programming
  • Platforms

    Apache Kafka, Linux, MacOS, Eclipse, Oracle, WebSphere, New Relic
  • Other

    Geospatial Data, SOAP


  • Bachelor of Science Degree in Computer Science
    2000 - 2004
    North Carolina State University - Raleigh, NC, USA

To view more profiles

Join Toptal
Share it with others