Jul 18

83% faster Hasura GraphQL response time with Stellate's GraphQL Edge Cache at InnerSpace

Learn about how we helped InnerSpace improve their GraphQL API’s p95 response times by 83%. Or take a few minutes to get set up with Stellate’s GraphQL Edge Cache. Got time for both? Lucky us!

Google Maps. Garmin. Between those two powerhouses, there’s practically nowhere on this planet that you can’t get to, right? Whether it's the Himalayas or the hottest restaurant across town, just punch in the address, a route pops up, and off you go.

But what if you’re standing in the entrance way of The Met, where tens of thousands of objects are on view at any given time in the Museum's two-million-square-foot building? You’ve been handed a paper map marking locations of exhibits, but that’s all. Wouldn’t it be nice to know the best routes to take to each, and the best times to go, to avoid lineups and crowds?

Enter InnerSpace. InnerSpace helps people with the science of space. Folks like Matt MacGillivray, founder and VP of R&D, geek out on how people behave wandering about interior quarters, and how to make that space — whether it’s inside a museum, hospital, underground garage or a multi-level office building — more effective. While camping in Yosemite makes for a wonderful vacation, MacGillivray points out that in reality, “We spend 80 to 90% of our time indoors.” What he wants to know about that time is, “Where do people go? Where do they get lost? Where do they get stuck? Where and what entrances do they typically enter from?”  

By capturing data about these points, InnerSpace helps business owners move people more effectively. After all, time equals money. The more slowly people enter a building, for example, the less time they’re spending doing actual work. So how do we get people into the office more comfortably, and how do we get them working more productively, more happily? Given that the world has spent the past two years in a lockdown that’s ground a lot of businesses to a standstill and forced them to consider greater personal safety measures, InnerSpace’s application couldn’t be more timely, particularly for offices.

Locating Everyone’s Inherent Value

How does it work? “We track people, anonymously, moving through a space,” MacGillivray explains. “Everybody carries a phone with them, or a laptop, a tablet, some kind of WiFi-enabled device. Your phone's always sending little pings. We consume this raw data and aggregate it so it’s anonymized for GDPR and privacy purposes.”

However, like the confused museum-goers they help, InnerSpace needed their own wayfinding towards more efficient data delivery, which Stellate facilitated. MacGillivray explains of their architecture, “We have a ridiculous pipeline that processes all of that location data in real time which eventually ends up in Timescale – a Postgres extension for time series data. We then use Hasura to create a GraphQL API from that database, which powers our business intelligence dashboard and is how our customers access the data.

Unfortunately, some of InnerSpace’s GraphQL queries are really slow, taking 12 seconds or longer (p95) because they’re aggregating across weeks’ or months’ worth of data.

Stellate’s GraphQL Edge Cache Augments Hasura Performance by 80%

Twenty-four hours after finding Stellate’s GraphQL Edge Cache, which came about due to Googling “hasura caching”, InnerSpace had already integrated it in their platform and deployed it to their staging environment to see how it would speed up queries in a production environment.

“Within a week, we had it live in production for all our users,” MacGillivray said. “For 80% of our queries, performance went up significantly: our GraphQL API’s overall p95 response time has decreased by over 10 seconds!

That’s the kind of sightline that allows InnerSpace to rest assured, knowing that their customers may orient and navigate themselves easily and efficiently in any space, without their queries over-taxing InnerSpace’s infrastructure.