How Kilterset Solves Business Challenges with Slack Apps and Heroku

December 11, 2024
Pete Nicholls

Our mission at Kilterset is a simple one: innovate to solve real business problems, delivering tailored solutions that truly make a difference to our customers and our partners. Through our nearly 15-year history as a company, we’ve built expertise in creating business-focused Slack apps, leveraging Slack’s unique ability to serve as a virtual office where teams connect and get work done.

Of course, building great apps is only part of our story. Just as important is how we bring those apps to life and ensure they run seamlessly. And that’s where Heroku comes in. Heroku has been key to our ability to prototype rapidly and scale for production.

In this post, we’ll share how we combine the familiarity of Slack with the simplicity of Heroku to build tools that create real impact for our customers. Are you interested in why we’re so Slack-centric? Perhaps you’re seeking inspiration for your own development process. Either way, we hope this glimpse into our workflow sparks new ideas.

Shaping Slack into the Ultimate Virtual Office

At Kilterset, Slack isn’t just a tool—it’s where we work. Our team is distributed across the USA, Canada, Australia, and New Zealand. Naturally, Slack serves as our virtual office. It’s the first thing we open in the morning, cup of coffee in hand. It’s the place where we share updates and ask questions. It’s where we connect on a personal level with one another.

Without a physical office, Slack fills that role. It’s where our culture lives and thrives.

When you think about a physical office, you imagine an environment that supports productivity and comfort: ergonomic chairs, a good espresso machine, or even some potted plants to liven up the space. We see Slack in the same way. We’re always thinking about how to make it engaging, efficient, and enjoyable for our team.

If Slack was this central to our team culture, we were certain other teams saw Slack the same way. That’s why we build Slack apps to help not just our team, but also our customers’ and partners’ teams too. Whether it’s helping teams feel more connected or streamlining workflows, we consider the role of Slack in everything we build.

Leveraging Slack for Impactful Solutions

Building apps at Kilterset starts with a simple question: How can we solve real business problems while meeting users where they already are? Slack offers the ideal platform for this. It brings a known user experience and integrates smoothly into everyday workflows. There’s no steep learning curve or complex rollout process to our apps. Sometimes, rollout is as simple as adding an app to a channel and letting it go to work.

Focus on what matters

Choosing to build Slack apps aligns with what we call the 80-20 Rule of Slack.

Delivering 80% of the value of typical solutions with just 20% of the effort.

When building custom web apps, dev teams get bogged down by decisions about UI frameworks or front-end stacks. They can get lost in the design complexities. On the other hand, Slack apps let us focus on the core problem. The UI and interaction patterns are already defined, so we can prototype and build faster. Instead of debating over a calendar picker or debugging a form, we can spend our time solving the challenges that matter most to our users.

Constraints are guardrails

Slack’s constraints—working within messages, modals, and threads—aren’t limitations; they’re guardrails that shape how we approach problem-solving. By using Slack’s UI components and designing for interactions within channels, we’re pushed to think creatively as we hunt for straightforward solutions to complex needs.

Instead of asking, “Should we build this in React?” we ask, “How can we get the outcome we want within the constraints of Slack’s framework?” Shifting our mindset in this way removes the distraction of endless options and brings clarity to the design process. It channels our thinking toward innovative answers so we can deliver value quickly.

Build for stickiness

So, when we consider introducing a new employee-focused tool, we think about how it can work with Slack. Slack meets you where you are. It aggregates attention in a unique way, and we find that solutions deployed there often have higher engagement and stickiness than you would expect when compared to a new application.

Take Knowledge Bot, for example. Companies need to make sure that their employees undergo security awareness training. But annual full-day trainings are too disruptive, and you have low confidence that employees will retain what they’ve learned until the next go. KnowledgeBot meets employees where they’re at—in Slack—by giving them periodic multi-choice quiz questions to keep their security knowledge current. It’s fun and engaging, and it’s more effective.

We also built Check-in Chicken, a Slack app that streamlines the one-on-one preparation process between managers and their reports. By automating the collection of responses for important questions prior to a one-on-one, Check-in Chicken provides a non-intrusive and reliable way to handle this critical management task.

These apps aren’t just useful; they’re sticky, because they fit naturally into existing workflows.

Of course, Slack isn’t the solution for every use case. It’s not designed for things like video editing or spreadsheet-heavy workflows. But with tasks like approvals, reminders, reporting, and integrating information from other tools, Slack’s strengths shine. That’s why it’s the cornerstone of how we solve problems at Kilterset.

Technical Foundation: The Stack Behind Our Apps

What’s the tech stack that supports the work we do at Kilterset? At the core of our development process is Slack’s Bolt framework for JavaScript and TypeScript. Within the framework, we use Socket Mode for development and HTTP for production. For persistence, Postgres is our go-to database, ensuring our apps handle data reliably and scale smoothly.

When it comes to bringing it all together, Heroku plays a pivotal role. On day one of any new project, we set up a complete Heroku pipeline:

A pre-production app environment

  • A production app environment
  • A Heroku Postgres add-on
  • Heroku CI enabled, connected to GitHub

We set our main branch to auto-deploy to the pre-production environment. Following our continuous delivery model, we prompt releases to production when we’re ready—either with one click in the Heroku dashboard or via a CLI command.

Leaning on Heroku for this part of our flow is natural to us. It helps us set a cadence where we’re comfortable shipping to production multiple times a day. Oh, and what happens if we break production? We simply heroku rollback and recover.

Heroku gives us the speed and flexibility to match our fast-paced development cycles. Rapid prototyping is effortless. When we come up with a new idea for a Slack app, we can go from concept to a working deployment by that afternoon.

The Heroku Advantage for Our Workflow

From our earliest days at Kilterset (before we were even Kilterset), Heroku has been a cornerstone of how we build, deploy, and scale our Slack apps. Its managed infrastructure takes the complexity out of our workflow, letting us focus on what matters most: delivering impactful solutions for our users.

Outside of Kilterset, many of us have had the experience of managing our own servers. We know how time-consuming and costly that can be. By using Heroku, we’ve recaptured that time to focus on solving user problems and shipping features that drive value.

Closing Thoughts

At Kilterset, our focus on simplicity drives our ability to innovate. By working within Slack’s familiar interface and leveraging Heroku’s hassle-free infrastructure, we’re freed up to focus on delivering genuine value to our users.

Constraints aren’t limitations—they’re opportunities. Slack’s structured environment challenges us to think creatively as we build intuitive and impactful solutions. Coupling that with Heroku’s ease of use allows us to build quickly and deploy reliably.

For teams and developers, our approach offers a reminder: success isn’t always about complexity. Sometimes, the best solutions are born from focusing on the essentials and using the right tools to amplify your efforts. We hope our story inspires you to reflect on your own processes and find new ways to create meaningful, effective solutions.

LEARN MORE

Let’s talk

Contact Us

Stories & insights

read the blog