DEV Community

Cover image for Introducing Sailhouse, the easiest way to send events ⛵️
Ed Stephinson
Ed Stephinson

Posted on • Originally published at sailhouse.dev

Introducing Sailhouse, the easiest way to send events ⛵️

Yes it's out, yes people are using it, but now it's time for it to say hello! 👋

Introducing, Sailhouse ⛵️!

Our mission and objectives

Sailhouse is pub sub on easy mode. No infra, no clusters, no regions, no sizing. Just events, topics and subscriptions.

Event-driven applications are a proven winner, Sailhouse is about making it as simple as possible to build them. With an intuitive CLI, powerful dashboard and slick integrations — you focus on building apps, we handle the plumbing.

It's all quite simple really — making complex, reliable, and performant applications as easy to build as possible.

Yes yes, big dreams, whatever.

The Sailhouse team

Sailhouse is being built by people with experience, and passion, for developer tooling. With experience at industry/category-defining developer-focused companies such as Netlify, we know how to build a strong offering.

  • Ed Stephinson, founder, tech lead of composable tooling at Netlify
  • Salma Alam-Naylor, advisor, former DX at Netlify, soon to be somewhere exciting 👀

Where are we now?

It’s a feature packed launch, but we’re in a great place to innovate.

You can use the CLI or dashboard to manage your whole events system. From creating topics in a flash with sailhouse topics create or managing the Stripe integration from the dashboard, it’s tooling focused on usecases, not implementation detail.

We’re focusing on our free-to-use beta. This is capped at 200 events a month (soft limit, with increasingly snarky emails the more you go over), while we fine tune what we’ve got.

It can handle scale too, there was one 24 hour period processing over 40,000 events without us even noticing.

We’ve got native SDKs for both Go and TypeScript (plus JavaScript, fear not), with more on the way.

What’s in store for the next 12 months

At a high level, here are our objectives for the next 12 months.

  • Rollout Sailhouse from Beta -> Stable
  • Build useful features, grounded in real-world uses
    • Integrations are a key part of this
  • Introduce more SDKs
  • Focus on stability and performance
  • Rollout to more edge locations
  • Most importantly, build a rich, diverse and engaged community

Is Sailhouse Open Source?

Yes, kinda.

It's probable the core will always remain closed. That's both a business and practical decision. However, much like how Sentry have some of their services open-source, we may follow that route.

Go get started, like now, go!

Our docs are open source! If you'd like to contribute, PRs and issues are actively welcomed. We're also building a community on discord for more real-time interaction. Otherwise, our trusty GitHub Discussions board is the place to raise feature requests and more.

Top comments (3)

Collapse
 
michaeltharrington profile image
Michael Tharrington

Awesome! This sounds really cool.

Congrats on the launch! ⛵️

Collapse
 
jacktt profile image
Jack

It's simple, but clients have to pull instead of subscribing. I don't think it's a pub-sub model.

By the way, your Golang SDK looks subpar. I'd like to contribute, but I need some discussion beforehand.

Collapse
 
estephinson profile image
Ed Stephinson • Edited

It's simple, but clients have to pull instead of subscribing. I don't think it's a pub-sub model.

If clients were pulling straight from a topic, I'd agree, but they pull from a subscription entity of the topic, so it fits the model there. I have considered doing a websocket implementation too, but there wasn't a value-add there worth the overhead.

Alongside, there are push subscriptions on offer, which deliver events via a POST request to a given endpoint.

The separation of the publishing from the subscription logic makes it a pub-sub approach!

By the way, your Golang SDK looks subpar. I'd like to contribute, but I need some discussion beforehand.

Oh definitely! It was a case of kicking it out the door and working on it from there. It's usable (most of the events tracked so far have been sent with the Go SDK).

I'd love to have your contributions though, and I massively appreciate what you've done so far.