100+ PROJECTS DELIVERED SINCE 2019HELLO@DATASPECC.COM
HomeWorkSociali.ai
Client build · managed pod

Sociali.ai: a month of social posts, in minutes

Sociali.ai wanted a platform where one marketer could run social media for a hundred brands. A five-person Dataspecc pod (a PM, two full-stack engineers, an AI engineer and QA) built the whole thing: the app, the AI behind it, and the testing that keeps both honest.

AT A GLANCESociali.ai logo
5person pod: PM, 2 full-stack, AI, QA
6social networks published to
~800automated test files
RELATIONSHIP
Client · managed pod, ongoing
POD
PM, 2 full-stack, AI engineer, QA
NETWORKS
Facebook, Instagram, LinkedIn, Threads, TikTok, Google
SCALE
59k+ users, per Sociali.ai
Sociali.ai home: brand profile, AI social media strategy progress, connected channels, all-brands overview and content pipeline
Home: the brand, its connected channels, and every post from idea to published
01

The problem

Agencies and franchise-style organisations manage dozens or hundreds of brands. Each one needs its own voice, calendar and approvals, and posting to every network by hand doesn't scale.

02

What we built

A platform where AI plans a month of content per brand, writes and designs every post, re-brands it for each location, routes it through approval, and publishes on schedule.

03

How we worked

As one managed pod with a single point of accountability. Our PM owns scope and cadence, and QA is built into every release rather than bolted on at the end.

What we built

The platform, piece by piece.

Scoped with the founders and delivered as releases, with testing built into each one.

AI content calendar

A monthly plan for each brand and channel, built from the brand's own website, trends and holidays.

Power Mode

Turn a month of ideas into finished posts in bulk: captions, hashtags and creatives, ready for review.

Built-in design editor

Posts are designed in an embedded editor with AI image, video and voice generation, with no switching to another tool.

One post, every location

Duplicate a campaign across brands and the logo, colours, fonts, images and caption change to match each one.

Approvals and teams

Reviewers and approvers sign off before anything goes live, with digest emails so nothing sits waiting.

AI CMO

A chat-based strategist that studies the brand, agrees a strategy, then produces and checks the calendar itself.

Sociali.ai post composer with AI features menu, generated caption and a live Facebook post preview
Composer: AI caption, image and branded template, with a live preview before review
Engineering highlights

The hard parts, and how we solved them.

The problems that decide whether a product like this ships at all, and what solving each one means for the people using it.

01

AI that checks its own work

Generated posts drift off-brand, and generated images come out with extra fingers and garbled text.

Every step of generation (caption, hashtags, image) is reviewed by a second AI acting as judge, and sent back until it passes. A vision check scores each image for defects before a human ever sees it.

Fewer rejected posts, less human cleanup

02

Re-branding a campaign for a hundred locations

A multi-location business wants one campaign in every location's own branding, not the same post copied a hundred times.

The duplication engine rebuilds each design for every target brand and channel, swapping logo, colours, fonts, images and caption, and checks the design will carry over cleanly first.

One campaign becomes a hundred on-brand posts

03

Posting exactly once, at exactly the right time

Social APIs fail in ambiguous ways. A naive retry double-posts; no retry misses the slot.

Each scheduled post is a durable job that waits for its moment, survives edits and cancellations, and checks the account is still connected before firing. Instagram publishing records each stage, so a retry can never post twice.

No duplicate posts, no silent misses

04

Six flaky APIs, one reliable layer

Facebook, Instagram, LinkedIn, Threads, TikTok and Google each fail, rate-limit and expire tokens differently.

All six go through one shared layer that retries sensibly, stops on permanent errors and backs off when a platform is struggling. Connections are checked on a schedule, so users hear about an expired login before a post fails.

Problems caught before the customer notices

05

Quality measured, not assumed

With AI in the loop, "it worked when we tried it" isn't a release standard.

Around 800 automated test files cover the app and the AI service, with end-to-end browser tests on every pull request. Generated captions, ideas and designs are scored automatically in production, so a model change that lowers quality shows up in the numbers.

Every release tested; AI quality tracked live

Tech stack

What it runs on.

Chosen per layer for the job, with managed services wherever they save the client engineering time.

APP
Next.js logoNext.jsReact 19 logoReact 19TypeScript logoTypeScriptTailwind CSS logoTailwind CSSMantine logoMantineIMG.LY editor logoIMG.LY editor
BACKEND & JOBS
Supabase logoSupabaseInngest logoInngestTinybird logoTinybirdStripe logoStripePostmark logoPostmarkNovu logoNovu
AI SERVICE
Python logoPythonFastAPI logoFastAPILangGraph logoLangGraphGoogle Cloud Run logoGoogle Cloud Run
MODELS
OpenAI logoOpenAIGoogle Gemini logoGoogle GeminiAnthropic Claude logoAnthropic ClaudeOpenRouter logoOpenRouterfal logofalElevenLabs logoElevenLabs
SOCIAL NETWORKS
Facebook logoFacebookInstagram logoInstagramLinkedIn logoLinkedInThreads logoThreadsTikTok logoTikTokGoogle Business Profile logoGoogle Business Profile
QUALITY & OPS
Playwright logoPlaywrightVitest logoVitestpytest logopytestSentry logoSentryVercel logoVercel
Where it is now

Live, with customers.

  • Live, with 59k+ users by Sociali.ai's own count
  • The app and the AI service, both built and run by the same pod
  • 12,000+ commits across the two codebases
  • End-to-end tests on every pull request
Next case study
Over the years, though, we've just developed so much trust… they almost feel like business partners… I hope to be in business with these guys forever.
William Spengler · Founder, Frederick Fox
Frederick Fox logoFrederick FoxClient since 2020 · Ruby

Ruby: the platform a recruitment firm runs on

Commissions, P&L reporting, analytics and AI-generated leads in one internal platform, used by 100+ recruiters at a multi-million-dollar recruitment firm.

100+recruiters using Ruby
6 yrsworking together, since 2020
4back-office jobs Ruby automates
Read the case study
Built by the same bench

Seen something close?
Let's build yours.

Next step

Tell us what you want built. We'll tell you how we'd do it.

Point at the case study closest to your problem, or just describe it. You'll talk to an engineer from the bench that built these, not a salesperson.

  • A written plan and price after the call
  • Your IP and your repo from the first commit
  • Evals, guardrails and an owner from release one
What do you need?
We reply within one business day. No sequences, no drip.