
I have a problem that I suspect others reading this share: my content is spread across too many places, and I have no coherent picture of what’s actually working.
I post on Mastodon, Bluesky and LinkedIn. I write a weekly blog post. I have two newsletters — one monthly, one “when I leave somewhere.” I have been experimenting with posting videos. I try to regularly share other people’s work when I find something interesting. Each platform has its own analytics, its own quirks, its own definition of “engagement.” None of them talk to each other. My interest in being a social media manager is pretty minimal, I care less about “reach” than impact. But also – I’m in a building phase right now and I need to share and talk about it to get traction.
Eventually it occurred to me that I was asking the wrong question. The question isn’t “how should I social media”; it’s: what would be an effective use of ~10 minutes a week + Claude to materially improve this problem.
The trouble with social media analytics
The data exists. LinkedIn will tell you your impressions. Bluesky will tell you your likes. Buttondown will tell you your open rate. But none of it is useful in isolation, and the mental overhead of checking five dashboards and trying to synthesize them in my head means it basically never happens. I’m busy moving onto the next thing, and the things that actually interest me. I also hate most of the social media advice out there – it feels fake and weird. I don’t want to post videos of myself twice a day. I do want to know, of the things I do do, what works best and what I can learn from it.
What I wanted was a weekly ritual where I could look at everything together and ask: what’s actually landing? What’s not? What should I write about next week?
The bottleneck isn’t Claude’s ability to analyse this – it’s amalgamating the data for Claude in the first place.
One caveat: this assumes you’re already publishing regularly. If you’re starting from scratch, there’s no data to analyse — come back when you’ve got a few months of content out in the world.
What I built
social-brain is a Python CLI that:
- Pulls data from as many services as possible including: Buffer, Mastodon, Bluesky, Buttondown, Jetpack (WordPress stats), Vercel Analytics and Amazon (for book sales), and Google Search Console.
- For the unfriendly services — LinkedIn and Substack — it reads a CSV export you drop in a folder.
- Pulls future posts from relevant services (for me: blog, Buttondown and Buffer) so it won’t suggest things you’ve already done.
- To improve display and suggestions, there is a dashboard that Claude can reuse (no need to regenerate each time), and specific prompts aimed at concrete advice that builds on your existing content, and your specific goal (configurable).
- Runs locally, so no sending off all your credentials to yet another service that is also more likely to be rate-limited on some of the undocumented requests or scraping.
- Produces a prompt that you can put into your friendly Claude tab. This generates the dashboard and a markdown report: what worked, what didn’t, cross-platform patterns, and five content suggestions for next week
The idea is that you start with a larger import (~3 months) to give it something to work with, and then it builds on that over time — collecting weekly snapshots and maintaining a spreadsheet of your history.
I built it with Claude Code. The initial tool took a few hours, then high on the power of vibe coding, I spent about 2 days (amidst other things) turning it into something really cool.
On building with Claude Code
Before I started building, I spent time thinking about the problem and what I actually wanted. I used Claude chat to help me refine my thinking and options to be clear about what I wanted. Then I fed that prompt into Claude Code.
The initial build prompt was maybe 600 words. It produced working collectors for four platforms, graceful error handling (if one collector fails the rest continue), CLI flags, a pre-commit hook that checks you haven’t accidentally staged your API keys, and a README with step-by-step setup instructions including curl commands for getting OAuth tokens.
Then came testing and follow ups. Realizing that I needed time-frame options (a big import then incremental additions). Refining the system prompt. Fixing a miss with the LinkedIn Import. Adding attachment types to posts. Adding Vercel Analytics for a second site (DRI Your Career) and the available data from Amazon for my book. Adding future posts, persistence so the history builds over time, and website data from Google Search Console. The report structure solidified into something consistent: What Worked, What Didn’t, Cross-Platform Patterns, Next Week Suggestions, and a Metrics Summary table.
I picked this to create firstly because I wanted something, but secondly because given the way the industry is shifting, AI-assisted development is a competence I need to build. I think it also illustrates what’s straightforward and what’s not – what I have here is a tool that any other developer can set up quickly, but it’s completely unusable for a normal person. But still – it’s a tool I wouldn’t have bothered to build six months ago.
The ten-minute question
Can I get useful information about my content in under ten minutes a week?
Last week: No.
This week: Yes. LinkedIn export is annoying but quick. The script doesn’t take long. Reading the report – and acting on it! – is the main thing.
The suggestions seem reasonable, and what I like is that they are grounded in what I’m actually sharing – not generic advice. Week one was fine but generic. By week three or four, the suggestions were building on patterns Claude had actually observed across months of data rather than guessing from a single snapshot. Once I’d put everything in and iterated, I got it to put together some social media guidelines for me and save them in memory (so it can refer to them across conversations) based on how I actually post combined with what works – and what doesn’t. Here’s its high level takeaway:
You write like a person who has thought carefully about something and has a view. Not a brand. Not a thought leader. A person. The posts that work are the ones where that’s most obvious — and the ones that don’t are almost always the ones where you slipped into promotion mode.
The through-line in your best content: name the system, then explain why it matters. “Performance reviews are capitalism’s scorecard.” “You can’t be the servant of people you have power over.” “The job description has been sent to dev/null.” These land because they’re not tips — they’re a diagnosis.
The gap between your highest and lowest performers isn’t topic — it’s whether you’re writing as yourself or as someone promoting a thing. The servant leadership post and the Buttondown endorsement are both essentially “here is my view and why it’s correct” and they both land. The course promo posts are the same ideas dressed up as sales and they don’t.
Real talk, but honestly – helpful. It also encouraged me on the personal posts which I’ve been more reticent to do lately. Good job, Social Media Manager Claude. Here’s to owning my opinion more, and continuing to learn how to be more effective.
So what does Claude need to be a useful social media manager? The data, a bit of context about what you’re trying to do, and about ten minutes of your time. The insight quality isn’t magic — it’s just what happens when you actually look at everything in one place, which you weren’t doing before. The history spreadsheet means it gets better the longer you use it – without paying more, or giving more of your data away.
The code is at github.com/catehstn/social-brain if you want to run it yourself. You’ll need to add all the connecting info, but I put checks in to ensure that everything stays local. WordPress was by far the most annoying of the legitimate connections, and Vercel was an absolute pain. But if you run into anything Claude can surely help!
DRI Your Career
An 8-week course to take ownership of your career with clarity, confidence, and intention.
Enroll Now →