Mohak Garg
Back to projects
Personal Project
2026

LinkedIn Content Agent: AI-Powered Personal Branding

Fully automated pipeline that generates Claude AI-written LinkedIn drafts from a Google Sheet, sends them via Telegram for approval, then auto-posts with AI-generated images to LinkedIn — on a daily cron schedule.

Product Manager & Engineer — System Design, Prompt Engineering, API Integration, Automation

Next.js
Claude AI (Anthropic)
Google Sheets API
Telegram Bot API
LinkedIn API
Vercel Cron
30+ min/day
Manual time saved
3
Draft options/day
5
Integrations
1-tap approve
Human touchpoints
The Problem

Maintaining a consistent LinkedIn presence as a PM requires daily content creation — but writing, reviewing, and posting quality content manually takes 30+ minutes a day. Generic AI tools produce bland, corporate-sounding posts that don't reflect a real voice or perspective.

The Solution

Built a fully automated Next.js + Claude AI pipeline: reads topic notes from Google Sheets, generates 3 tailored post drafts (story, insight, conversation-starter) using a custom PM voice prompt, delivers them to Telegram for one-tap approval, generates a matching image via AI, and posts directly to LinkedIn — all on a daily cron schedule.

Product Artifacts

GitHub
Source code
View

Case Study

Context
  • Consistent LinkedIn posting is a known PM career accelerant — but the activation energy for daily content is high. Most people start, then stop within 2 weeks.
  • Generic AI tools (ChatGPT, Jasper) produce content that sounds like everyone else: buzzword-heavy, vague, and clearly AI-written. They don't have context about your voice, expertise, or target audience.
  • The real friction isn't ideation — it's the gap between having a rough thought and turning it into something worth posting. That's where most people drop off.
  • Target: a system that does the heavy lifting daily, surfaces polished options, and gets out of the way — requiring only one human decision: which post to use.
Decision
  • Used Google Sheets as the content queue — low friction for adding raw notes, no custom UI to build, easy to batch ideas in advance.
  • Designed a custom Claude system prompt to enforce a specific voice: PM with ML background, conversational, no em-dashes or buzzwords, under 180 words, ends with a question.
  • Generated 3 draft types per run (story, insight, conversation-starter) so there's always a best fit for the day's mood and context.
  • Telegram as the approval interface — one-tap selection from phone, no login required, fits into a morning routine in under 30 seconds.
  • Vercel Cron for scheduling — zero infrastructure overhead, runs daily at a fixed time, logs visible in dashboard.
Execution
  • Google Sheets integration reads the first 'unused' row by status column, pulls topic, raw notes, target audience, angle, and CTA fields.
  • Claude API (claude-sonnet-4-6) generates 3 drafts using a detailed system prompt that encodes Mohak's voice, rules, and post structure.
  • Telegram bot delivers formatted drafts with recommended flag highlighted — user replies with post number to select.
  • On selection, generates a matching AI image via image API, registers and uploads it to LinkedIn's media asset endpoint, then publishes the post.
  • Google Sheet row is updated to 'used' with timestamp and published text to prevent re-use and track history.
Outcome
  • Reduces daily LinkedIn content effort from 30+ minutes to a single Telegram tap.
  • Consistent voice and quality across posts — system prompt encodes years of PM perspective, not generic AI tone.
  • Full audit trail in Google Sheets: every post drafted, selected, and published is logged with date and text.
  • End-to-end automation from idea to published post with exactly one human decision point.
Learnings
  • The prompt is the product. The entire quality difference between bland AI posts and genuine-sounding ones lives in the system prompt — getting it right took more iteration than the code.
  • Approval friction matters. Telegram was the right choice over email or a web UI because it's already open in the morning. Reducing steps from 3 to 1 dramatically increases follow-through.
  • Google Sheets as a database is underrated for personal automation — it's the fastest possible content queue with zero schema setup and full visibility.
  • Designing for yourself is a great forcing function: you immediately feel every rough edge in the UX because you're the daily user.