Task-Based Social Media Workspace for Creators
Feed-free social workspace that turns comments, DMs, and posts into a finite task queue—a Hootsuite alternative for creators and agencies.
A freelance social manager opens Instagram to reply to three product comments. Twenty minutes later she is six posts deep in a creator she does not even work for, the comments are still unread, and the client Slack ping that started the session is buried. She bills the hour. The work that needed doing was three replies. The feed stole the rest. That leak is the job. Hootsuite, Buffer, Sprout Social, and Metricool were built to keep you in social media: column streams, live inboxes that never empty, dashboards that reward more posting, more monitoring, more time. The product thesis of the category is engagement volume. The people who get paid to be online need the opposite: a finite list of work, a clock, and a way to leave. A scheduled post that turns into an algorithm rabbit hole is not a feature gap. It is the architecture of every incumbent dashboard.
Built for Creators, Marketers, Freelancers.
Suggested stack: Next.js (App Router) + Vercel, Supabase (Auth + Postgres), Official platform APIs only, Claude (Haiku or Sonnet) via the Vercel AI SDK, Inngest or Vercel Cron, Stripe Billing. Weekend scope: about 12 hours.
The Problem
A freelance social manager opens Instagram to reply to three product comments. Twenty minutes later she is six posts deep in a creator she does not even work for, the comments are…
The Solution
A web app that connects Instagram, X, LinkedIn, and Facebook Page accounts and refuses to render a feed. Mentions, comments awaiting reply, unread DMs, and posts that are due to…
Market Research
The social media management software market is projected around $39.1B by 2026 at a 19.7% CAGR, with longer-range forecasts stretching past $160B in the early 2030s (Fortune…
Competitive Landscape
Buffer — Best UX in the creator/SMB band. Scheduling, light inbox, per-channel pricing. Still a growth product: more posting, more channels. No attention budgets, no…
Business Model
Trial ($0, 14 days) — 3 brands, full queue, time tracking, Claude drafts. Card-complete email on day 12.
Recommended Tech Stack
Next.js (App Router) + Vercel — Dashboard, OAuth callback routes, Edge-friendly webhooks. One repo; Bolt can scaffold the shell, Cursor/Claude fill the queue state machine.
AI Prompts to Build This
Copy these build prompts into Claude, Cursor, or your AI coding tool. Create a free account to unlock the full research behind them.
1. Project Setup
Build the weekend MVP of "Dispatchr": a social media workspace with no feed. Comments, DMs and mentions become a finite queue of cards, each brand has a daily attention budget and working hours, and an empty queue ends the session. Stack: Next.js (App Router), TypeScript, Tailwind, Supabase (Postgres, Row Level Security, Auth with email magic link), the Anthropic API for a draft reply and a spam check. Cards come in by CSV import or by adding one by hand this weekend. Deploy on Vercel. Tables (Row Level Security on, each user reads only their own brands and cards): - brands(id, user_id, name, platform, voice_notes, attention_budget_minutes, access_start, access_end, timezone) - queue_items(id, brand_id, type, external_ref, status, snippet, author_handle, received_at, ai_draft, cluster) type is comment, dm or mention; status is todo, in_progress, done or snoozed - task_sessions(id, item_id, opened_at, closed_at, seconds_on_task) Screens: /login, /queue (three columns, no infinite scroll), /brands, /week. Env vars (names only): NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY, SUPABASE_SERVICE_ROLE_KEY (server only), ANTHROPIC_API_KEY. Do not build: billing, plans or trials, Meta, X or LinkedIn connections, scheduled posts, a timeline or explore view of any kind, the Sunday email, a job queue. Done when: npm run dev starts, you can sign in, and the three tables exist with Row Level Security on.
2. Core Feature
Build the one feature that proves Dispatchr: a queue that locks when the budget or the working hours run out. 1. Import a CSV with columns brand, type, author_handle, snippet, received_at, or add a card by hand. Upsert by external_ref so a re-import adds nothing twice. 2. /queue shows three columns: To do, In progress, Done. There is no scrolling feed, no suggested content and no "while you're here". 3. Opening a card sets it to in_progress, inserts a task_sessions row and starts a visible timer for that brand. Closing it sets closed_at and seconds_on_task and moves it to Done. 4. Before opening, check two things in the brand's timezone: the minutes already spent today are under attention_budget_minutes, and the time is inside access_start to access_end. If either fails, refuse to open the card and show a locked screen with the next time it opens. 5. Send the card text and the brand's voice_notes to the Anthropic API with a strict JSON schema { draft: string, cluster: "actionable" | "spam" | "duplicate", confidence: number from 0 to 1 }. Show the draft in the card. Group spam and duplicates under a collapsed Review later row. 6. When the To do column is empty, show an end-of-session screen with the minutes spent today and a line from the brand sheet. 7. /week shows minutes per brand and cards cleared for the last 7 days, computed from task_sessions. Rules: the timer counts only while a card is open. Snoozing a card takes it out of the count until tomorrow. Empty state: with no cards, show the import box and the expected columns. Done when: an import creates cards, opening one starts a timer, closing it logs the seconds, a brand over budget or outside its hours shows the locked screen, and an empty queue shows the end-of-session screen.3. Landing Page
Build a one-page landing site for Dispatchr, a social media workspace with an off switch. Hero: "Social media work with an off switch." Sub: "Comments, DMs and mentions as a queue. No feed. When the list is empty, you leave." One button: Join the waitlist. Sections: a dark mock of three unread comment cards (not a timeline), the problem (20 minutes lost to a quick reply), how it works in four steps (import, queue, budget, week), and an FAQ on which networks connect (import first, connections after platform review), whether limiting feed time hurts results (lead with output per minute) and data retention. Waitlist: store the email in a waitlist table in Supabase. No other service. Style: Geist, a near-black background, one aubergine accent, two warm neutrals. Done when: the page renders on a phone and a submitted email appears in the waitlist table.
4. Branding Package
Use a design or image tool for this one. A coding agent cannot draw a logo. Brand for Dispatchr: a wordmark and an icon made of three stacked cards, not a bird or a megaphone. Colors: near-black, one aubergine and two warm neutrals. Type: Geist for the interface, IBM Plex Mono for timers and minute counts. Deliverables: wordmark, icon, six icons (comment, dm, mention, snooze, timer, lock), a one-page brand sheet with three voice rules (never shame people for being online, always show minutes next to cards, never say grow your following), and three empty-queue lines under 80 characters each. Done when: each deliverable is saved in one folder and each empty-queue line is under 80 characters.