Astir Labs/ work
( Work )

What we've built.

Real systems doing real work. Sales desks that start before the team logs in, pipelines that return contactable lists, content engines, and full platforms with AI at the core. Every one lists the stack it runs on.

25 case studies · 5 categories · 79+ tools

( Platform and engineering )

Platform and engineering

Production systems. Agents that run themselves, workers that deploy themselves, and full products with AI 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, a 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
  • 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
THE PART EVERYONE
Ready to post

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 fidelity check before it ships itself.

Palette
12 locked hex
Checklist
15 binary items
Time to live
3–5 min
  • 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-campaignLive

Your campaign, live in five minutes.

Get started

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

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

01.03

Approval to 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.

  • 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>Live

Take a peek inside.

Get started

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 and 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 of it runs inside each clinic's isolated Docker stack. Real-time clinical guidance without leaking PHI or provider keys to the client.

  • 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

Listening

Suggested follow-up

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

PHI stays server-side · isolated stack per clinic

( Sales and outreach )

Sales and outreach

The pipeline runs overnight. Qualification, prep, follow-ups and reports are done before the team logs in.

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.

  • 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

VP Ops · Thu 14:00

Meeting brief: Acme Corp

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.

  • 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 Net

Mon 08:00

6 warm leads never booked

Verified against the live calendar. None of these are on it.

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.

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

Funnel · conversion · keep or kill

Campaign performance, Q3

A CEO-ready PDF, one decision per campaign

Invites → connected → replied → booked, with a recommendation

( Lead generation and enrichment )

Lead generation and enrichment

Sourcing and enrichment pipelines that return a list you can actually contact, not a raw scrape.

03.01

Nine-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.

  • 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 to 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
  • 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.

  • 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 MarketEventbriteGoodFound

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.

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

Seeding plan

12 communities
RF

Remote founders

Reddit

Post drafted
CM

City makers

Meetup

Post drafted
WB

Weekend builders

Facebook group

Post drafted

A ranked seeding plan, with a post drafted for each community

Reddit · Facebook · Meetup · ranked on fit and reach

03.05

Organizers and 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, with a master list per lane. It opens a repeatable B2B channel alongside creator outreach, with a different pitch for each kind of buyer.

  • 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.
Output
CompanyLaneContact
NorthboundEngagementFound
Halcyon LiveEarned dataFound
FieldhouseEngagementFound

Two master lists, one per pitch

Companies already running events · enriched contacts

( Content and video )

Content and video

A link goes in, a finished asset comes out. Transcription, moment-finding, frame-accurate editing and generation.

04.01

The corporate report video producer

A dense analyst PDF goes in and 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
  • 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

VC FINANCING · Q3 FLASH REPORT

1920×1080

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 rather than a machine's.

  • 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
SHE ALMOST
No shoot day

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 to 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.

  • 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
THE ONE THING
From one link

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.

  • 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
becauseumthesystemuhworks

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

Filler removed between segments · bites start on syllable onset

04.05

TikTok and Instagram intelligence inbox

Drop any TikTok or Instagram link and it comes back as 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.

  • 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

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

Single-video summary or full strategic channel analysis

04.06

Voice memo to 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.

  • 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 Memo

08:14

CEO summary, 6 min memo

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

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.

  • Fal.ai (Veo 3.1 / FLUX)
  • Remotion
01 SEEDReference imageFLUX02 IDENTITYConsistentcharacterLOCKED03 MOTIONScene generationVEO 3.104 ASSEMBLEOn-brand cutREMOTIONCharacter consistency across scenes, without a shoot.
Output
Scene 01
Scene 02
Scene 03

Scenes that hold together, with the same face in every one

Reference image → locked character → motion

( Ops and intelligence )

Ops and intelligence

Quiet infrastructure. Archives that stay searchable and meetings that never lose an action item.

05.01

Zoom backup and 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.

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

Archive

Storage freed
MG

Meridian Group

Recordings · transcripts

Archived
HS

Halden Systems

Recordings · summaries

Archived
C

Corvus

Transcripts

Archived

A searchable archive in Drive, filed per company

Archive first, delete second

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.

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

Weekly all-team, summary parsed

Priya → ship the launch page

Ops → confirm Zoom storage reclaim

Filed to shared canvas · 9 items

Open canvas
Output
OwnerNext stepDue
PriyaShip the launch pageFri
OpsConfirm reclaimWed
MarcoReview 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 in 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
  • Exa Neural Search
  • 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
  • Reply.io API
  • Seedance 2.0
  • Slack
  • Slack API
  • Slack Canvas API
  • Slack Lists 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
  • ZeroBounce
  • Zoom API
( Get in touch )

Let's talk.

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

Get in touch