At the frontend, /whereis #everybody? is a Slack app that’s installed in an organization’s Slack workspace. All user interaction with the app is done via Slash Commands.
The app in Slack connects over a secure connection to our dedicated backend services in Amazon Web Services. The backend is a collection of Node.js and Python functions at AWS Lambda and a simple Amazon DynamoDB database encrypted at rest. We run a daily backup too.
For correct functioning, the Slack app requires a small set of permissions governed by named scopes:
commands
to set up the Slash Commands of /whereis #everybody?channels:read
to receive the channel_created
event such that we can determine who is in the channel when a /whereis #channel
is done.users:read
to retrieve basic user data in the workspacechat:write
to return the data the user requestedAdditionally, there’s the static website you’re currently looking at, being served over a secure, TLS-encrypted connection.
In case you’re curious, this website is generated using the Jekyll static site generator and the Hyde theme. The site is securily stored in and served from a Amazon S3 bucket and globally distributed via Amazon CloudFront.
We could tell you some much more about the cool technologies behind the app, and the tools that we’re using to build and deploy and monitor it. At some point, we’ll submit our tech stack to StackShare.