The authors of this article worked with Neo4j, a graph database, to improve the performance of their company's data management. They chose Neo4j for its ability to handle complex relationships and large volumes of time-sensitive information. The team learned about graph data modeling, indexing, and query optimization techniques to enhance performance. They implemented a time-based versioned model using Neo4j's native support for dates and times, which allowed them to keep an audit trail of changes to the model. The authors also created indexes on key properties, parameterized their Cypher queries, and used the Cost planner to optimize their queries. They found that these techniques significantly improved query execution times, reducing database hits by up to 90%. The team also discussed the challenges of working with the Neo4j team from Australia, including logistical issues and limited external speculation about upcoming features. Additionally, they shared their experience with integrating Neo4j with Java 8 and Spring Boot, implementing a custom migration tool called Flygraph. Overall, the authors found that working with Neo4j was an rewarding experience, despite its challenges and limitations.