Q&A with Foursquare: improving communications with Pilgrim SDK

Osman Rana Unsplash

From helping travelers navigate the bustling markets of Seoul, to suggesting nearby activities for users to wait out the rain, Foursquare’s Pilgrim SDK provides virtually limitless opportunities for developers to plug into the real world, and power any type of contextual app feature using location.

With so many great ways for developers to use Pilgrim, we decided to share some expert advice from one of our employees. We talked to Zack Gilbert-Kreiling, a senior client solutions engineer at Foursquare, about what he would build using our developer-friendly location SDK. And to learn more about how Zack ended up at Foursquare, check out his previous post about building a “Great Outdoors” app here.

What would you build with our superpower, Pilgrim SDK?

I’m a big fan of finding ways to improve communication with my colleagues. After all, the more effectively you can connect with your team, the better you’ll be at working together. For instance, I’ve come to love and embrace Slack’s emoji status icons, which instantly lets your peers know your work availability. So, naturally, as an avid Slack icon user, I wondered how I could take my status to another level.

With Pilgrim SDK’s location capabilities, it was easy. By building a simple Pilgrim iOS/Android app, I can now have my Slack status icons update automatically—reflecting not only my current work availability, but also my current location. For example, when I’m at home, my Slack status changes to a “🏡” emoji, whereas if I’m at our Chicago office, it updates to a Chicago flag icon. And, if I’m at our NYC office, my status changes to a little Statue of Liberty icon.

It’s a great, simple, and subtle way to let people know if I’m currently working or not. And with Pilgrim SDK, it was easy. I threw together a basic Sinatra app, coded in Ruby, and powered it with a Pilgrim webhook. When there’s an event in the app — such as when my location changes — the app parses that event’s webhook and sends an automatic update to my work and family Slack accounts to change my status icon.

For now, I have it set to update my basic work and home status; but, I’m hoping to start using Pilgrim’s new commuting state feature—one of three available User States— to let my peers on Slack know when I’m on my way to work. As you can see with Pilgrim SDK, it’s really easy to spin up any kind of update. Who knows what I’ll add next? Maybe I’ll include an icon to show when I’m traveling “✈️?”

For now, the feature is a fun, simple way to improve communication with my team.

What’s your favorite Pilgrim SDK feature and why?

The webhook integration—where Pilgrim lets you deliver any user visit or geofence event to a URL of your choice—is super powerful. The feature allows you to accept Pilgrim events on your own server, instead of just the device; as a result, the server can handle events in the background. This not only helps you cut down on the load for user devices, such as for tasks that don’t necessarily affect their immediate experience, but also lets you use the programming language of your choice.

What tips do you have for independent developers about Pilgrim SDK?

I recommend that developers use a webhook logging tool like pipedream.com to ensure that your Pilgrim setup is working properly. The tool will also help you confirm that you’re correctly recording user visits and geofence events. Once that step is handled, you can write your own webhook parser to handle user data.

*Build contextual app experiences with location using Pilgrim SDK. Create a free account and start building today. And for some feature or app thought-starters, check out our ongoing Q&A series about development ideas.

Have you built something cool with Pilgrim SDK? Submit it to this form and you may be featured on Intersections.*

More on data

The benefits of using geospatial data in analytics

Learn More

How location intelligence leads to powerful data solutions

Learn More

History of Pilgrim SDK

Learn More

Let us show you how you can take advantage of Movement SDK

Click here to arrange a meeting