Astir Labs/ work
[ Work ]

AI systems
that work
while you sleep.

A section-by-section look at what Astir Labs has shipped — agentic workflows that run before the team logs on, enrichment pipelines that return contactable lists, content engines that turn a link into a finished asset, and full-stack platforms with an AI layer at the core.

Every case study lists its stack, so this doubles as a map of the tools in daily use.

Case studies
24
Categories
5
Tools in rotation
75+
Status
In production
[ Platform & Engineering ]

Platform & Engineering

Production systems — agents that run themselves, self-deploying workers, and full-stack products with an AI layer at the core.

01.01

Paste a Link, Get a Branded Video

A brand drops in a YouTube URL and gets back a finished vertical video it can post that day — captions, context and commentary cards, branded close, all in its own voice. The work happens overnight with nobody at the keyboard, and nothing publishes without approval. Not quite right? Reply with a note and it returns a new version.

Input
One URL
Output
1080×1920 MP4
Operator
None
Publishing
Human-gated
Stack
  • Claude Agent SDK (headless + session resume)
  • Remotion
  • Whisper
  • Montreal Forced Aligner
  • yt-dlp
  • ffmpeg
  • Supabase Storage
  • postgres-js queue
  • Docker
  • systemd
01 INPUTYouTube linkPASTED BY BRAND02 UNDERSTANDWord-level alignWHISPER + MFAMine momentsAGAINST RUBRIC03 BRANDVoice + tonePER-BRAND PERSONACards + captionsSONIC LOGO CLOSE04 DELIVERReady to postAPPROVAL QUEUEReply to refineV1 → V2 → V3Produced overnight with nobody at the keyboard. Nothing publishes unapproved.
Output
Ready to post1:47
THE PART EVERYONELEAVES OUT

A ready-to-post vertical video, on brand and on voice

1080×1920 · word-accurate captions · context + commentary cards · sonic close

01.02

Branded Landing Page Factory

A full landing page — designed, written, built and live on its own URL — from a single Slack message, in three to five minutes. Days of manual work collapse into the time it takes to read the result. The brand is encoded rather than described, so every page clears a binary fidelity check before it ships itself.

Palette
12 locked hex
Checklist
15 binary items
Time to live
3–5 min
Stack
  • Claude Code Skills
  • Claude in Slack
  • Vercel
  • GitHub App
  • gh CLI
landing-skill · autonomous ship
@claude build a landing for X
read canonical example from repo
apply brand canon · 12 hex · voice rules
scan banned-words → 0 hits
check brand fidelity 15/15
git commit → push
gh pr create → pr merge
curl <domain>/<slug> → HTTP 200
Human steps
1 message
HTML written
0 lines
Output
yourbrand.com/new-campaign200

Your campaign, live in five minutes.

Written, designed, built and deployed from one Slack message.

Get startedLearn more

A live, on-brand landing page at its own URL

Palette locked · voice rules passed · 15/15 fidelity · HTTP 200 verified

01.03

Approval → Landing Auto-Deploy

When a creator's experience is approved, a live preview page ships on its own public URL within five minutes — interactive video preview, a peek-inside section, an impact card — with nobody at the keyboard. Partial data still yields a meaningful page, and duplicate landings are impossible by design. Every approval becomes a shareable link.

Stack
  • Claude Code Routines (API trigger)
  • Anthropic API
  • Supabase Edge Functions
  • Vercel
  • Deno
  • Slack Webhooks
01 EVENTExperienceapprovedIN APP02 DISPATCHEdge FunctionPOST → TRIGGER03 BUILDHeadless routineLANDING SKILLIdempotency checkNO DUPLICATES04 LIVEPublic URL< 5 MINEvery new experience gets a shareable URL with nobody at the keyboard.
Output
preview/<experience-slug>200

Take a peek inside.

Interactive 3-step preview built from the experience's own media.

Get startedLearn more

A shareable public page, live within five minutes of approval

Video preview block · peek-inside section · impact card

01.04

Live Clinical Listener

Streams a clinician–patient conversation through a privacy-minded proxy into medical-grade speech-to-text, then turns the transcript into live coaching prompts and a post-visit retention-risk score — all inside each clinic's isolated Docker stack. Real-time clinical guidance without leaking PHI or provider keys to the client.

Stack
  • Deepgram
  • OpenAI
  • WebSocket
  • Node.js
  • JWT
  • Docker
01 CAPTURELive conversationAUDIO STREAM02 PROXYPHI-minded relayJWT · KEYS SERVER-SIDE03 TRANSCRIBEMedical STTDEEPGRAM04 OUTPUTLive coachingIN-VISITRetention riskPOST-VISITIsolated Docker stack per clinic. No keys reach the browser.
Output
Clinical Listenerlive

Coaching prompt

Patient raised cost twice — address affordability before closing the visit.

Live in-visit guidance, and a retention-risk score after

PHI stays server-side · isolated stack per clinic

[ Sales & Outreach ]

Sales & Outreach

The pipeline runs itself overnight — qualification, prep, follow-up and reporting arrive finished.

02.01

Meeting Prep Engine

The moment a call is booked, parallel sub-agents research the contact across the web and drop a designed one-pager into the Slack thread — background, qualification, and the open triggers worth raising. Reps walk in fully prepped without anyone spending twenty minutes digging beforehand.

Stack
  • Cal.com API
  • Zapier
  • Perplexity
  • Slack
  • PDF Generation
#sales-prep
P
Prep EngineApp

Call booked — Thu 14:00

Brief ready: Acme Corp · VP Ops

Fit: strong · 2 open triggers

acme-brief.pdf · 1 page

Open briefAdd to invite
Output

Meeting Brief — Acme Corp

VP Ops · Thu 14:00

A designed one-page brief, in the thread before the call

Parallel web research · qualification baked in · 1 page

02.02

Weekly Follow-Up Net

Sweeps for warm repliers who got the calendar link but never booked, checks each against the live calendar so nobody gets chased twice, and surfaces a prioritized nudge list every Monday. The gap between interested and booked closes on a schedule instead of whenever someone happens to remember.

Stack
  • Cal.com API
  • Slack
  • Claude Routines
01 SWEEPWarm repliersGOT THE LINK02 VERIFYLive calendarBOOKED? NO03 RANKPriority nudgelistWEEKLY04 DELIVERSlackACTIONABLEThe gap between interested and booked, closed on a schedule.
Output
F
Follow-Up NetAppMon 08:00

6 warm leads never booked

Verified against the live calendar — none of these are on it.

Ordered by how warm the reply was.

Open nudge list

A prioritized nudge list, every Monday

Warm repliers who got the link but never booked

02.03

Campaign Performance Report

A CEO-ready PDF showing each campaign's funnel from invites through connected, replied and booked, with conversion at every step and a keep-or-kill recommendation. Outreach data scattered across tools becomes one page somebody can make a decision from, without asking anyone to pull numbers.

Stack
  • Meet Alfred API
  • Cal.com API
  • PDF Generation
STAGEVOLUMEInvites sentCAMPAIGN REACH100%ConnectedACCEPTED62%RepliedENGAGED28%BookedMEETING SET9%Per campaign · conversion at each step · keep / kill
Output

Campaign Performance — Q3

Funnel · conversion · keep or kill

A CEO-ready PDF, one decision per campaign

Invites → connected → replied → booked, with a recommendation

[ Lead Gen & Enrichment ]

Lead Gen & Enrichment

Sourcing, validation and enrichment pipelines that return a contactable list, not a raw scrape.

03.01

9-Stage ICP Qualification

A nine-stage pipeline that sources, validates and ranks leads against a precise ICP — vertical, ownership structure, headcount caps — with every gate applied automatically. What comes out is a clean, campaign-ready list somebody can start working the same day, not a raw scrape to sift through.

Stack
  • Perplexity
  • Apollo
  • Prospeo
  • Apify
STAGEVOLUMESourceSTAGE 01–02100%Vertical matchSTAGE 03–0471%Ownership checkSTAGE 05–06 · PE ROLLUP44%Headcount capSTAGE 0726%Rank & validateSTAGE 08–0914%Campaign-ready output — nine gates, no manual review
Output
CompanyVerticalOwnerRank
Meridian GrpIntelFounderA
Halden SysIntelFamilyA
CorvusAdjacentFounderB

A campaign-ready list, ranked against a precise ICP

Nine gates · PE-rollup and headcount screens applied

03.02

LinkedIn → Verified Email Waterfall

A list of LinkedIn URLs goes in and verified work emails come out, at roughly three cents each. Each source in the waterfall only pays when the one before it comes up empty, so cost stays low while coverage stays high. Profile links become a contactable pipeline at about an 89% hit rate.

Verified hit rate
~89%
Cost per email
~$0.03
Stack
  • Apollo API
  • Prospeo API
  • Apify
  • Hunter
01 INPUTLinkedIn URLsPROFILE LIST02 WATERFALLApolloSOURCE 1ProspeoSOURCE 2HunterSOURCE 303 VERIFYDeliverability~89% HIT04 OUTPUTVerified emails~$0.03 EACHEach source only pays when the one before it comes up empty.
Output
NameWork emailSourceStatus
M. Chenm.chen@…ApolloVerified
J. Okaforj.okafor@…ProspeoVerified
R. Vidalr.vidal@…HunterVerified

A contactable list of verified work emails

~89% hit rate · ~$0.03 per verified email

03.03

Creator Discovery Engines

Sources creators nobody on the team had heard of across YouTube, Airbnb and Eventbrite, classifies each for brand fit, dedupes against the existing pipeline and enriches emails into a ready CSV. It runs continuously, so the outreach list widens on its own instead of going stale between campaigns.

Stack
  • YouTube Data API
  • Firecrawl
  • Apify
  • Hunter
01 SOURCESYouTubeDATA APIAirbnbFIRECRAWLEventbriteAPIFY02 CLASSIFYOn-brand fitSCORED03 DEDUPEAgainst pipelineNO REPEATS04 OUTPUTEnriched CSVOUTREACH-READYRuns continuously — the pipeline widens on its own.
Output
CreatorPlatformFitEmail
@wildkitchenYouTubeStrongFound
Casa LupinaAirbnbStrongFound
Night MarketEventbriteMediumFound

An outreach-ready CSV of on-brand creators

Classified for fit · deduped against pipeline · emails enriched

03.04

Community Seeding Research

Give it a product, a persona and a city and it ranks the Reddit, Facebook and Meetup communities most worth seeding — then drafts a post for each one in that community's register. A go-to-market distribution plan per launch, with no ad spend and nothing left to guesswork about where to show up.

Stack
  • Web Search
  • WebFetch
01 INPUTProduct · persona· city3 FIELDS02 RESEARCHRedditSUBREDDITSFacebookGROUPSMeetupLOCAL03 RANKFit + reachSCORED04 OUTPUTSeeding planPOST PER COMMUNITYA distribution plan per launch. Zero ad spend.
03.05

Organizers-Events B2B Sourcing

A two-lane motion that finds companies already running events and frames the product two ways — as live engagement, and as consented first-party data capture — keeping a master list per lane. It opens a repeatable B2B channel alongside creator outreach, with a different pitch for each kind of buyer.

Stack
  • Apify
  • Clay
  • Apollo
01 DISCOVERCompanies runningeventsAPIFY02 LANESEngagementLANE AEarned dataLANE B03 ENRICHClay + ApolloCONTACTS04 OUTPUTMaster list APER LANEMaster list BPER LANEA repeatable B2B channel alongside creator outreach.
[ Content & Video ]

Content & Video

Link in, finished asset out — transcription, moment-finding, frame-accurate editing and generation.

04.01

The Corporate Report Video Producer

A dense analyst PDF goes in; a broadcast-format branded film comes out. It lifts the brand straight from the document, picks the scenes, writes every line of on-screen copy, and shows the numbers rather than captioning them — stats count up, bars rank, trend lines draw themselves. No designer, no editor, no After Effects project.

Templates
11 typed
Drop accuracy
±0.25s
New client
1 brand profile
After Effects
none
Stack
  • Claude Code Skills
  • Remotion v4
  • fal.ai (FLUX realism · Lyria 3 Pro)
  • ElevenLabs
  • PyMuPDF + Pillow
  • ffmpeg
  • Next.js
report-producer · measured, not eyeballed
brand wordmark @600dpi → alpha-key vs page
brand CTA from link annotations · 4 tokens
scenes 11 selected · story-signal → template
copy within per-template char limits
plates 1 per scene · lower-left third clear
drift ken burns anchored to plate run
music ffmpeg cut 00:02.14 · RMS onset 00:09.61
musicStartSec = 7.47 → drop on title cut
pace targetDurationSec → ends with the bed
out 1920×1080 · elevenlabs sting on outro
Designer
none
Editor
none
Turnaround
an afternoon
Output
1920×10802:14
VC FINANCING — Q3 FLASH REPORT

A broadcast-format branded film, from a dense analyst PDF

11 typed templates · native charts in brand tokens · drop on the title cut

04.02

The Synthetic Cast

A full production pipeline for video with no cast, no crew and no shoot day. Each character is generated once then locked, so the same person shows up recognizably in every scene. Shots are approved as stills before filming, and an editing layer decides what to hold and what to cut — so the result has an editor's rhythm, not a machine's.

Stack
  • Claude Code Skills
  • fal.ai (FLUX · Instant Character)
  • Veo 3.1
  • Seedance 2.0
  • Grok Imagine
  • Remotion
  • ffmpeg
  • Node.js
01 CASTCharacter cardFACE · WARDROBELocked onceREUSED EVERY SCENE02 STAGEStills approvedBEFORE FILMING03 FILMVeo 3.1MODEL PICKSeedance 2.0MODEL PICKGrok ImagineMODEL PICK04 CUT30s branded arcEDITOR'S RHYTHMPhone-shot look, cool-to-warm turn, captions that carry it sound-off.
Output
No shoot day0:30
SHE ALMOSTDIDN'T COME

A finished 30-second spot with a cast that does not exist

Locked characters · phone-shot look · captions carry it sound-off

04.03

YouTube → Social Video Engine

One YouTube link in, a finished sixty-second vertical clip out. It transcribes the video, ranks the most shareable moments against a rubric, and renders an on-brand cut — no scrubbing, no timeline, no editor in the loop. A full link-to-video pipeline, since spun out as a standalone product of its own.

Stack
  • yt-dlp
  • Whisper
  • Remotion
  • Fal.ai
01 INPUTYouTube linkONE URL02 UNDERSTANDDownloadYT-DLPTranscribeWHISPER03 SELECTShareable momentsRANKED04 RENDER60s verticalREMOTIONOne link in. A finished, on-brand clip out.
Output
From one link1:02
THE ONE THINGTHEY GOT RIGHT

A finished vertical clip, from a single YouTube URL

Transcribed · moments ranked · rendered on brand

04.04

Frame-Accurate AI Video Editor

A raw talk becomes a broadcast-clean vertical clip with zero manual scrubbing. Forced alignment finds the exact word boundary for every cut, so filler disappears between segments and each bite starts on the precise syllable. The precision of a human editor, driven entirely by alignment data rather than a careful eye.

Stack
  • Whisper
  • Montreal Forced Aligner
  • Remotion
  • ffmpeg
  • yt-dlp
frame-accurate-edit · run
asr whisper → word-level timestamps
align montreal forced aligner
├─ boundary 00:04:12.418 “because”
└─ boundary 00:05:01.902 “system”
cut filler removed ×7 (um / uh)
trim bite starts on syllable onset
render remotion composition + sonic logo
out 60s vertical · broadcast-clean
Manual scrubbing
0
Cut precision
word boundary
Output
Broadcast-clean1:00
CUT ON THESYLLABLE

A clip cut to the word boundary, with no manual scrubbing

Filler removed between segments · bites start on syllable onset

04.05

TikTok / Instagram Intelligence Inbox

Drop any TikTok or Instagram link and it comes back either a summary of that one video or a full strategic read on the whole channel — hook, format, cadence, retention — posted straight to Slack. A scroll-and-forget feed becomes a searchable insight bank the team can actually cite in a meeting.

Stack
  • yt-dlp
  • Whisper
  • Slack
  • Apify
#intel
I
Intelligence InboxApp

Link received — tiktok.com/@…

Hook: pattern interrupt at 0:02

Format: talking head + b-roll overlay

Channel posts 4×/wk · 61% retention

Single summaryFull channel analysis
Output
Intelligence Inboxnow

Channel analysis ready

Hook lands at 0:02 · posts 4×/wk · 61% retention. Saved to the insight bank.

An insight bank entry, from a link you would have forgotten

Single-video summary or full strategic channel analysis

04.06

Voice Memo → CEO Summary

Forward a voice memo to Slack and it returns transcribed and distilled into a CEO-style summary — or whatever shape the memo itself asked for. Think out loud on a walk, get back a structured brief you can send. Capture stops being the bottleneck between having an idea and doing something with it.

Stack
  • Whisper
  • Google Drive API
  • Zapier
  • Slack
01 CAPTUREVoice memoON THE GO02 ROUTEDrive + ZapierAUTO-FILED03 PROCESSTranscribeWHISPERRead the askIN-MEMO INSTRUCTION04 RETURNCEO summaryTO SLACKThe memo says what it wants to become.
Output
V
Voice MemoApp08:14

CEO summary — 6 min memo

Three decisions, two open questions, one ask for Travis.

Structured to what the memo itself asked for.

Open full brief

A structured brief back in Slack, minutes after the memo

Transcribed · distilled · shaped by the instruction in the note

04.07

AI Video Generation Pipeline

Character-consistent AI video scenes through a chained model pipeline: a reference image becomes a locked character, then motion. The same face carries across every scene, so a sequence holds together instead of drifting between shots. On-brand video without a shoot, a location or a call sheet.

Stack
  • Fal.ai (Veo 3.1 / FLUX)
  • Remotion
01 SEEDReference imageFLUX02 IDENTITYConsistentcharacterLOCKED03 MOTIONScene generationVEO 3.104 ASSEMBLEOn-brand cutREMOTIONCharacter consistency across scenes, without a shoot.
[ Ops & Intelligence ]

Ops & Intelligence

Quiet infrastructure — archives that stay searchable and meetings that never drop an action item.

05.01

Zoom Backup & Cleanup

Backs up recordings, transcripts and AI summaries to Drive with smart per-company routing, then reclaims Zoom storage by clearing the originals — archive first, delete second, never the other way round. The result is a permanent searchable archive and a storage bill that stops climbing.

Stack
  • Zoom API
  • Google Drive API
01 SOURCERecordingsZOOMTranscriptsZOOMAI summariesZOOM02 ROUTEPer-companySMART ROUTING03 ARCHIVEGoogle DriveSEARCHABLE04 RECLAIMClear originalsSTORAGE FREEDArchive first, delete second — never the other way round.
05.02

Meeting Tasks Extractor

Pulls the AI summary from the weekly all-team call, extracts next steps by assignee and files them into a shared task canvas before anyone has closed their laptop. Nothing said in the meeting quietly evaporates, and nobody has to spend the hour taking notes instead of contributing to the conversation.

Stack
  • Zoom API
  • Slack Canvas API
#all-team
T
Tasks ExtractorApp

Weekly all-team — summary parsed

Artis → ship work.astirlabs.ai

Ops → confirm Zoom storage reclaim

Filed to shared canvas · 9 items

Open canvas
Output
OwnerNext stepDue
ArtisShip the work pageFri
OpsConfirm Zoom reclaimWed
TravisReview opps listMon

A shared task canvas, filed by assignee

Pulled from the all-team call summary · nothing dropped

[ Stack ]

Everything in rotation.

Every tool that appears across the work above, in one place.

  • Anthropic API
  • Apify
  • Apollo
  • Apollo API
  • Cal.com API
  • Claude Agent SDK (headless + session resume)
  • Claude Code Routines (API trigger)
  • Claude Code Skills
  • Claude in Slack
  • Claude Routines
  • Claude Skills
  • Claude tool-calling
  • Clay
  • Custom ICP Qualification Engine
  • Deepgram
  • Deno
  • Docker
  • ElevenLabs
  • Fal.ai
  • fal.ai (custom FLUX LoRA · LTX)
  • fal.ai (FLUX · Instant Character)
  • fal.ai (FLUX realism · Lyria 3 Pro)
  • Fal.ai (Veo 3.1 / FLUX)
  • ffmpeg
  • Firecrawl
  • Gemini image models
  • gh CLI
  • GitHub App
  • Google Drive API
  • GPT-4o-mini
  • Grok Imagine
  • Hunter
  • JWT
  • Meet Alfred API
  • Montreal Forced Aligner
  • Next.js
  • Node.js
  • OpenAI
  • OpenAI Embeddings
  • PDF Generation
  • Perplexity
  • Perplexity API
  • postgres-js queue
  • Prospeo
  • Prospeo API
  • PyMuPDF + Pillow
  • Python
  • React 18 + TypeScript
  • Recipe Contract v1.1
  • Remotion
  • Remotion v4
  • Seedance 2.0
  • Slack
  • Slack API
  • Slack Canvas API
  • Slack Webhooks
  • Stripe
  • Supabase (Postgres · RLS · Auth · Edge Functions)
  • Supabase Edge Functions
  • Supabase Postgres
  • Supabase Storage
  • systemd
  • TanStack Query
  • TanStack Start
  • Veo 3.1
  • Vercel
  • Vite
  • Web Search
  • WebFetch
  • WebSocket
  • Whisper
  • YouTube Data API
  • yt-dlp
  • Zapier
  • Zoom API
[ Get started ]

Book your free AI consultation.

Tell us where the manual work is. We'll tell you what can run without you.

Get in touch ↗