CTO + Co-founder at @inngest - We’re making it easier for every developer to ship durable functions with zero new infrastructure. Prev: CTO @buffer, @timezoneio
We released step.run in 2022 to enable any developer to build reliable, async systems:
This simple primitive has enabled countless teams to ship complex products faster than ever before, without touching infrastructure.
Today is a huge milestone in that journey:
Big news.
We’re excited to announce our $21m Series A!
Inngest now powers 30B monthly executions, helping product teams build reliable products efficiently, at scale.
As AI moves to production, the need for fast, durable workflows is essential.
Read the announcement post👇
Killer example of context engineering with the benefit of orchestration to bring it all together. Check out the project this weekend (repo linked in the blog post)
Everybody talks about Context Engineering principles but few show how it works 🕳️
Let’s build an AI Research Assistant and see how Context Engineering helps make it more reliable and accurate 👇
Unbreakable workflows meet best-in-class observability. 🤝🔗☁️
@Inngest, a durable workflow orchestration platform, helps developers build scalable products, like AI workflows, agents, & e-commerce stores, without the complexity of managing infrastructure.
Unbreakable workflows meet best-in-class observability. 🤝🔗☁️
@Inngest, a durable workflow orchestration platform, helps developers build scalable products, like AI workflows, agents, & e-commerce stores, without the complexity of managing infrastructure.
Paul, co-founder of @cubic_dev_ , shared a take that’ll change how you think about AI models
👇
✅ Models know better than you which context they need
✅ Fewer tools win
✅ Expect failures: embrace observability and durability from day one
Detroit-style pizza has landed at DTW!
Buddy’s Pizza is now open in the McNamara Terminal!
Grab a slice of that crispy-cornered, square-cut goodness just steps from Gate A8.
#DTWnonstop
AI agent orchestration has the same reliability challenges as any async workflow. How do you handle retries? Manage state? Debug errors?
Join @Hiteshdotcom and I on Fri Oct 31 @ 12pm ET for a live session on the practical side of building durable agents: x.com/Hiteshdotcom
📣 We're hiring an Engineering Manager at @Buffer! 📣
Fully remote. Four-day work weeks.
If you've been looking for a team that cares about both shipping great work and treating people well, apply here 👉 buffer.com/journey/2101ed90-…
Explicit >>> magic, and the difference between `𝚜𝚝𝚎𝚙.𝚛𝚞𝚗()` and "𝚞𝚜𝚎 𝚠𝚘𝚛𝚔𝚏𝚕𝚘𝚠" is huge.
We shipped implicit IDs when we created the 𝚜𝚝𝚎𝚙.𝚛𝚞𝚗 API in 2022. Switched to explicit APIs within months. Here's why:
→ No magic compilation. What you write is what you run. With directives, what you write *isn't* what you run.
→ Steps = explicit code transactions
→ Steps = easy unit test and mock
→ Steps = far more powerful API (`𝚜𝚝𝚎𝚙.𝚠𝚊𝚒𝚝𝙵𝚘𝚛𝙴𝚟𝚎𝚗𝚝`, `𝚜𝚝𝚎𝚙.𝚒𝚗𝚟𝚘𝚔𝚎`, etc.)
→ Steps = easy change management
→ Steps = language agnostic: switch from TS → Go and pick up where you left off
→ Explicit functions = insanely powerful flow control
→ Explicit functions = fan out
In other words, one compiles your code into routes you never wrote. The other gives you typed functions that do exactly what they say. Here's a deep dive:
now we're getting a bunch of "if you don't like directives it's because you're not smart" posts
ok if we're gonna go there then let's go there
you babies think building software means doing create next app every 2 weeks on another dumbass side project you'll never finish and cramming 234 calls to 56 saas services
but some people work on other types of software where their backend runs as a standalone service running on node or bun or something else
there's a wide range of ways how this code gets compiled and run in production and they're all valid
providing a library type feature that requires a compiler means it has to support every single configuration of this
this is more to maintain, more opportunity for bugs, and undeniably more complexity
so choosing to use this new workflows library is now a much heavier choice - across all our projects i don't have a single dependency that works this way
effect manages to completely change js semantics and doesn't ask you to do this
and to illustrate my point if i wanted to use this library today i can't because all our stuff runs on bun and they need to ship some bun plugin that calls rust transforms
all so we can add a new kind of function coloring that's going to run into awkward apis for heavier work (which you haven't considered because remember you're a baby)
i'm not saying this library is bad it still looks pretty good and a lot people will find value out of it
but fuck off with the you're dumb if you don't like it shit
100% of our fastest growing customers are using flow control like this to scale. It’s 2 loc instead of mixing queue infra with business logic into a spaghetti mess.
Are you building an AI feature or product? ✨
Here’s a 2 liner that could save you money 💸
By combining Inngest’s RateLimit and Priority, prevent bad actors to overuse your tokens and prioritize paying users over free ones:
Ever since I launched my first droplet 12 years ago, I've loved the simple, yet powerful approach that @digitalocean takes with their cloud. It's inspired our work at @inngest and I'm stoked to bring the two together today by joining the DO marketplace 👏
We are thrilled to announce that Inngest is joining the DigitalOcean Marketplace ⚡
By teaming up Inngest with @digitalocean, you can now grow from zero to millions of users faster than ever before!
A thread 🧵👇