Live Portfolio Project

Bluesky
Automated

AI-powered social media automation that researches trending topics and posts to Bluesky โ€” completely hands-free.

โ–ฒNext.js 16๐Ÿค–Gemini AIโšกSupabase๐Ÿฆ‹AT Protocol๐Ÿ”„Vercel Cron๐Ÿ“TypeScript

How It Works

The automated pipeline from topic research to published post

๐Ÿ“Topic Input
๐Ÿค–Gemini AI
๐Ÿ”Google Search
โœจPost Generation
๐Ÿฆ‹Bluesky

Step 1 of 5: Topic Input

Live Automated Feeds

Real posts generated by AI and published to Bluesky

๐Ÿ€

NBA News

@im-isaiah

Automated via Gemini AI + Vercel Cron

๐Ÿ’ป

Tech & AI News

@wrld-trends

Automated via Gemini AI + Vercel Cron

Technical Highlights

Key implementation details and architecture decisions

Google Search Grounding

Gemini AI uses real-time Google Search to research trending topics before generating posts.

tools: [{ googleSearch: {} }]

Scheduled Automation

Vercel Cron jobs trigger posting flows automatically, with configurable schedules per account.

Promise.allSettled([nbaFlow, techFlow])

Multi-Account Support

Manage multiple Bluesky accounts with independent posting flows and customized AI prompts.

credentials: { identifier, password }

Duplicate Prevention

Fetches last 48h of posts to ensure AI generates fresh, non-repetitive content every time.

const recentPosts = await getRecentPosts(48)

Supabase Persistence

All posts and AI logs stored in PostgreSQL for analytics, history viewing, and debugging.

await saveAiLog({ flow_type, prompt, response })

Rich Text Facets

Automatic detection and rendering of hashtags, mentions, and links using AT Protocol standards.

await richText.detectFacets(agent)