PostPilotLive
AI Social Media Manager for Student Orgs
- React
- Node.js
- Google Calendar API
- Claude API
- Instagram Graph API
Overview & Problem
Small organizations already run their schedule out of Google Calendar — but turning each event into a timely social post is manual, repetitive, and easy to forget. PostPilot closes that loop.
What I Built
Google Calendar integration over OAuth that pulls each event's title, time, location, and description as the source for every post.
Caption generation through the Claude API: four to five platform-specific drafts per event, each with hashtags, suggested timing, and a visual idea.
A React frontend for connecting accounts, previewing and editing drafts, approving them into a content queue, and publishing approved Instagram posts through the Meta Graph API.
Architecture
PostPilot treats the calendar as the source of truth. Events come in from Google Calendar over OAuth, the Claude API expands each one into platform-specific drafts, and a person reviews, edits, and approves them. Approved posts land in a content queue, and Instagram posts publish from there in one click through the Meta Graph API. The backend is a set of Vercel serverless functions for OAuth, generation, and publishing.
See it in action
Key Technical Decisions & Tradeoffs
Publishing is user-triggered: a draft only reaches Instagram after someone approves it and publishes it from the content queue, so the review step can't be skipped. Post timing is generated as a suggestion for that person, not executed by a scheduler.
Rather than blasting one identical message everywhere, PostPilot generates platform-specific copy from each event's metadata — tuned to the length, tone, and formatting each network expects. The dashboard's preview-and-override step keeps a human in the loop, so generated copy can be corrected before it publishes instead of reading like automated spam.
Results
Deployed at postpilot.company with Google Calendar sync, Claude-generated drafts, an approval queue, and one-click Instagram publishing.
Publishing currently targets Instagram only. Drafts for other platforms can be generated and approved, but they are not posted.