<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/customer-story-eeflvqqvv" -->

---
title: Customer story | daily.dev
description: Ordinal, a social media orchestration platform for B2B teams, scaled to over 1,000 enterprise customers with just two engineers and replaced a five-minute cron...
canonical: https://daily.dev/posts/customer-story-eeflvqqvv
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Customer story | daily.dev
og:description: Ordinal, a social media orchestration platform for B2B teams, scaled to over 1,000 enterprise customers with just two engineers and replaced a five-minute cron...
og:url: https://daily.dev/posts/customer-story-eeflvqqvv
og:image: https://api.daily.dev/og/posts/eefLVqqvV.png
og:image:alt: Customer story
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Customer story

**[Inngest Blog](https://daily.dev/sources/inngest)** · 9 min read · 0 upvotes · 0 comments

## Summary

Ordinal, a social media orchestration platform for B2B teams, scaled to over 1,000 enterprise customers with just two engineers and replaced a five-minute cron job with Inngest's workflow orchestration. The switch let a single event fan out to dedicated publisher functions per channel, each with its own retries and failure handling. Production functions grew to 66, plus 23 failure handlers, while monthly executions reached 1.33 million, up 52% in 30 days. The team ships 360 to 480 deploys a quarter without an infrastructure team.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.inngest.com/customers/ordinal>

## Questions this post answers

### How can a two-person engineering team handle over a million background job executions a month?

Ordinal, a social media orchestration platform, runs 1.33 million monthly executions with only two engineers by using Inngest for workflow orchestration instead of managing infrastructure. Each publishing function uses debounce, singleton locks, and cancel-on-event guards, plus concurrency limits across fourteen sync workers, replacing what would otherwise require a dedicated infrastructure team.

_Teams scaling background jobs without adding headcount can track orchestration patterns like these on daily.dev._

### What techniques prevent a scheduled social media post from publishing twice or not at all?

Ordinal guards every publishing function with three mechanisms: debounce to absorb last-minute edits so a post goes out once in final form, singleton to ensure only one publish per post runs at a time, and cancel-on-event to stop a run mid-flight if the post gets unscheduled. Steps also retry up to four times before triggering a Slack failure alert.

_Developers building reliable scheduling systems can follow patterns like this on daily.dev._

### How did a company scale from a basic cron job to supporting a dozen social media networks without rewriting its scheduler?

Ordinal moved from a five-minute Vercel cron job to Inngest's event-driven model, where each new social network became a new function listening for the same 'post.scheduled' event rather than new scheduler logic. This let the team go from 7 functions to 19 in a single quarter, eventually reaching 66 production functions while publishing to ten networks including Webflow, Threads, and TikTok.

_Engineers planning to add integrations without re-architecting can reference this event-driven scaling approach on daily.dev._

## Similar posts on daily.dev

- [Customer story](https://daily.dev/posts/customer-story-tbuse0jjx) · Inngest Blog · 2 upvotes · 0 comments
- [Reducing Onboarding From 48 Hours to 4: Inside Amazon Key’s Event-Driven Platform](https://daily.dev/posts/reducing-onboarding-from-48-hours-to-4-inside-amazon-key-s-event-driven-platform-vwaza59ha) · InfoQ · 54 upvotes · 0 comments
- [How Monk migrated 100\+ workflows from Inngest to Temporal](https://daily.dev/posts/how-monk-migrated-100-workflows-from-inngest-to-temporal-66qhrgjpj) · Temporal · 1 upvotes · 1 comments
- [Production-grade ingestion with orchestration](https://daily.dev/posts/production-grade-ingestion-with-orchestration-o52cdt61g) · Atlassian · 0 upvotes · 0 comments

---

Tags: [#nextjs](https://daily.dev/tags/nextjs), [#serverless](https://daily.dev/tags/serverless), [#workflow-orchestration](https://daily.dev/tags/workflow-orchestration), [#inngest](https://daily.dev/tags/inngest)

[View this post on daily.dev](https://daily.dev/posts/customer-story-eeflvqqvv)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Customer story","url":"https://daily.dev/posts/customer-story-eeflvqqvv","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/customer-story-eeflvqqvv"},"datePublished":"2026-10-29T17:07:58.165Z","dateModified":"2026-10-29T17:09:45.775Z","description":"Ordinal, a social media orchestration platform for B2B teams, scaled to over 1,000 enterprise customers with just two engineers and replaced a five-minute cron...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/48ad2f3515cb3334dedd565c5e1f66a1?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/48ad2f3515cb3334dedd565c5e1f66a1?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Inngest Blog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Inngest Blog","logo":"https://media.daily.dev/image/upload/s--ieZKUa5y--/c_limit,w_256/f_auto,q_auto/v1789329423/logos/inngest?_a=BAMAMicg0","url":"https://daily.dev/sources/inngest"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/customer-story-eeflvqqvv","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"nextjs,serverless,workflow-orchestration,inngest","timeRequired":"PT9M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Inngest Blog","item":"https://daily.dev/sources/inngest"},{"@type":"ListItem","position":3,"name":"Customer story"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/customer-story-eeflvqqvv#faq","mainEntity":[{"@type":"Question","name":"How can a two-person engineering team handle over a million background job executions a month?","acceptedAnswer":{"@type":"Answer","text":"Ordinal, a social media orchestration platform, runs 1.33 million monthly executions with only two engineers by using Inngest for workflow orchestration instead of managing infrastructure. Each publishing function uses debounce, singleton locks, and cancel-on-event guards, plus concurrency limits across fourteen sync workers, replacing what would otherwise require a dedicated infrastructure team. Teams scaling background jobs without adding headcount can track orchestration patterns like these on daily.dev."}},{"@type":"Question","name":"What techniques prevent a scheduled social media post from publishing twice or not at all?","acceptedAnswer":{"@type":"Answer","text":"Ordinal guards every publishing function with three mechanisms: debounce to absorb last-minute edits so a post goes out once in final form, singleton to ensure only one publish per post runs at a time, and cancel-on-event to stop a run mid-flight if the post gets unscheduled. Steps also retry up to four times before triggering a Slack failure alert. Developers building reliable scheduling systems can follow patterns like this on daily.dev."}},{"@type":"Question","name":"How did a company scale from a basic cron job to supporting a dozen social media networks without rewriting its scheduler?","acceptedAnswer":{"@type":"Answer","text":"Ordinal moved from a five-minute Vercel cron job to Inngest's event-driven model, where each new social network became a new function listening for the same 'post.scheduled' event rather than new scheduler logic. This let the team go from 7 functions to 19 in a single quarter, eventually reaching 66 production functions while publishing to ten networks including Webflow, Threads, and TikTok. Engineers planning to add integrations without re-architecting can reference this event-driven scaling approach on daily.dev."}}]}
```

