Craig Taverner is a Principal Software Engineer and entrepreneur with 16+ years building database, search and GIS systems, now focusing on geo-spatial analytics at Elastic. He co-founded AmanziTel, pioneered smartphone-enabled customer experience management, and later led the Cypher query engine team at Neo4j before working on cloud orchestration for Aura. His work spans core database internals, spatial libraries and vector-tile/GeoJSON support in Elasticsearch, reflecting deep hands-on expertise in graph databases and spatial data. Comfortable moving between startups and large enterprises across Europe, Asia and the US, he combines research-grade scientific training (MSc and PhD-level study in theoretical chemistry) with practical product and engineering leadership. A long-time open-source contributor, Craig has made notable commits to Neo4j core and Neo4j Spatial as well as Elasticsearch, often touching low-level runtime and parsing logic. He’s equally at home designing algorithms, shipping production systems and mentoring teams that solve hard spatial and telecoms problems.
16 years of coding experience
25 years of employment as a software developer
PhD Theoretical Chemistry, PhD Theoretical Chemistry at University of the Witwatersrand
Neo4j Spatial is a library of utilities for Neo4j that faciliates the enabling of spatial operations on data. In particular you can add spatial indexes to already located data, and perform spatial operations on the data like searching for data within specified regions or within a specified distance of a point of interest.
Role in this project:
Back-end Developer & Database Engineer
Contributions:33 releases, 6 reviews, 453 commits in 11 years 10 months
Contributions summary:Craig's commits primarily involve modifying the core logic and data structures within the Neo4j Spatial library. They focused on adding comments, fixing imports, and making minor adjustments to classes like `GeometryUtils` and `Layer`. A significant portion of their work appears to focus on internal database functionalities. Furthermore, they introduced new features such as supporting unit tests for shapefile importer and started writing a new OSM importer based on StaX.
Contributions:1169 commits, 399 PRs, 392 pushes in 7 years 8 months
Contributions summary:Craig's commits primarily focused on merging code from a remote tracking branch and introducing new functionality related to the system's internal workings. They modified code related to the interpreted runtime, including community expression converters and the construction of registered pipes. These changes suggest a focus on core database functionality and the processing of queries within the Neo4j system.
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.