FlowSocial
AI-powered social media campaigns - delegate posting to AI based on context seeds
The Problem
Existing social media scheduling tools weren't sufficient for posting on behalf of multiple brands effectively. I needed something better-so I built it.
The Process
Personal project born from frustration. Started as scheduling tool, evolved to include AI. Built API-first so it could integrate into other apps, then built my own app on top.
The Outcome
Alpha stage, live. Successfully publishes to X and LinkedIn. Campaigns delegate posting to AI based on context 'seeds' and source material.
Design Decisions
| Decision | Why | Engineering Tradeoff |
|---|---|---|
| Cloudflare-native stack | Edge performance, integrated services, cost efficiency | Platform lock-in, some service limitations |
| Queue-based posting | Reliable delivery even with API rate limits | Eventual consistency vs. immediate posting |
| OAuth-first auth | Users connect existing accounts, no new passwords | Multiple OAuth providers to maintain |
STAR Summary
| Situation | Existing social media scheduling tools weren’t sufficient for managing multiple brands. Context switching between UIs, manual work that should be automated, no AI that understood brand voice, developer-hostile APIs. |
| Task | Build what I needed-a social media tool with AI integration, API-first architecture, and multi-brand support. Personal project, fully AI-built. |
| Action | Designed Cloudflare-native stack (D1, R2, Queues, Workers) for edge performance. Built API-first so the tool could integrate elsewhere, then built my own app on top. Added AI campaigns: define context “seeds” and source material, AI generates and posts maintaining brand voice. |
| Result | Alpha stage, live at flowsocial.app. Successfully publishes to X and LinkedIn. Campaigns delegate posting to AI based on context-no more “write 30 posts for the week.” |
Cloudflare-Native Stack
| Service | Purpose | Benefit |
|---|---|---|
| D1 | SQL database | Edge replication, global queueing |
| R2 | Object storage | No egress fees for media |
| Queues | Message delivery | Handles rate limits gracefully |
| Workers | API endpoints | Low latency globally |
| Pages | Frontend hosting | Automatic builds |
Why Cloudflare: Service integration simplified architecture significantly-one platform, one billing, unified developer experience.
Queue-Based Posting
| Step | Action | Handling |
|---|---|---|
| 1 | User schedules post | Message enters queue |
| 2 | Queue processes | Worker attempts delivery |
| 3 | Rate limit hit | Re-queue with backoff |
| 4 | Success | Update status, notify user |
Platform rate limits become invisible to users.
AI Campaigns
| Phase | What Happens |
|---|---|
| Setup | Define context “seeds” (brand voice, topics, style) |
| Source | Provide material (existing content, articles, notes) |
| Cluster | Group social accounts by brand |
| Execute | AI generates and posts daily, maintaining voice |
The Shift: No more “write 30 posts for the week”-set context, review output.
Gallery
Unified social media management - write once, publish everywhere