Foursquare Intersections logo
Data & Tech

Q&A with Foursquare: Improving Communications with Pilgrim SDK

Written by Foursquare on Nov 06, 2019 - Read time: 5 min - Read Later

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 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.


Follow Foursquare

Q&A with Foursquare: Improving Communications with Pilgrim SDK

Read Later

Pardot response heading