Fishstick Labs

Blog

Twenty years building infrastructure. Still learning.

I write about DevOps, SRE, and platform engineering. Sometimes I advise early-stage teams on infrastructure decisions and strategy.


Latest Writing

Fish Stick: A Stateless Incident Management Bot for Slack

I just released Fish Stick, a stateless incident management bot for Slack. I’ve built this bot six+ times at different jobs, so figured it was time to stop recreating it and share it with the world.

The pitch: Most incident management tools are either too simple (basic Slack workflows) or too complex (enterprise platforms with a million knobs). Fish Stick sits in the middle—more powerful than workflows, simpler than enterprise tools.

Fish Stick Demo

Key features:

  • Random channel names (incident_furious_chicken, incident_brave_penguin)
  • Timeline logging with timestamps
  • Threaded team updates to stakeholders
  • Incident commander tracking and handoffs
  • Auto-generated timeline reports from channel history
  • Private incident support
  • Test mode for game days

The interesting part: it’s completely stateless. No database. No web interface. No OAuth flow. For this use case and this niche, Slack as DB is good enough.

All incident data lives in Slack:

  • Incident metadata → channel properties and pinned messages
  • Timeline → messages in the incident channel
  • Summary → pinned message

You can restart the bot anytime without losing anything. This keeps deployment dead simple.

Built it in TypeScript with the Slack Bolt framework. Supports Socket Mode for local dev (no public URL needed) and HTTP mode for production. Takes about 5 minutes to set up if you use the app manifest.

I’ve pared down the features quite a bit from what I have in other versions of the bot to keep things simple, but will be adding back some things like webhooks over time.

It’s MIT licensed. If you run incidents in Slack and want something between “too basic” and “too much,” check it out: github.com/chrisdodds/fishstick

View all posts →

Recent Projects

Multi-Environment AWS Infrastructure

Athletic Tech SaaS Company

The team had outgrown their single environment but needed a path to production (and a major launch) that wouldn't become a maintenance nightmare. Helped them design templated infrastructure, establish observability from the start, and automate deployments across environments. Focus was on making everything maintainable and ensuring the team could own it going forward.

Outcome: A low stress launch, production-ready infrastructure, automated deployments, and a team that knows how it all works.


Contact

Interested in talking? Email contact@fishsticklabs.com

Based in Oklahoma City
LinkedIn: linkedin.com/in/doddschris