← Back to blog

Last Helicopter Out of Saigon: An Introvert's Guide to Automating LinkedIn Slop

Here is the situation as I understand it. The value of writing code as a differentiator is collapsing fast. Not slowly, not in ten years, now. I sat down last week to write a Python script and Claude had a working version before I finished describing what I wanted. The script was better than what I would have written. It handled edge cases I would have missed. It took eleven seconds.

This is not a complaint about AI. I use it constantly and I am grateful for it. But I am not confused about what it means. If the hard part of building products was ever the code, it is not anymore. What remains is everything that was never technical to begin with: the ability to frame a narrative, to perform authority, to network, to say the magic words that make other people give you money or a job or a promotion.

The billionaires of the future will skew more toward storytellers than engineers: more Steve Jobs, less Steve Wozniak. The advantage will shift heavily toward those who can work a room, frame a narrative, and make people believe, and they will use AI to generate whatever technical artifact the room requires as proof that they are serious. The gap between "can build things" and "can talk about building things" has collapsed, and the talkers were always going to win that war.

I find this prospect genuinely depressing. I got into technology because I liked building things. I liked that software was one of the few fields where your work spoke for itself, where a working demo trumped a polished deck. That world is shrinking. We are entering a world where the deck is the demo, because anyone can generate the demo, so the only differentiator left is the person presenting it.

So this is my experiment. My Hail Mary. My last helicopter out of Saigon. I built a pipeline that automates my LinkedIn presence, because LinkedIn is the native habitat of the people who are going to inherit the earth, and if I cannot beat them, I can at least build a machine that speaks their language while I focus on whatever remains of actual work.

I am calling it the Authorial Corpus + Slop Pipeline, because I think it is important to be honest about what we are doing here.

What LinkedIn Actually Is

LinkedIn is not a professional network. It is a reputation laundromat. It is the place where people convert the appearance of insight into the appearance of authority, which they then convert into real opportunities. The content on it is almost uniformly terrible, not because the people writing it are stupid, but because the platform's incentive structure rewards exactly the kind of vapid, agreeable, engagement-optimized pablum that fills your feed every morning.

"I'm humbled to announce." "Here are my 7 learnings." "This. So much this."

The people who write this way are not failing. They are winning. They understand that LinkedIn rewards frequency and familiarity over substance, that posting regularly about vaguely professional topics signals "active and engaged" to recruiters and hiring managers, and that almost nobody reads past the second paragraph anyway.

I have always been unable to do this. Every time I try to write a LinkedIn post, my body produces a physical revulsion response, something like what I imagine a vampire feels when holding a crucifix. But the game is the game, and the game is played on LinkedIn, and the people who refuse to play on principle are the ones who end up surprised when nobody returns their messages.

I should be fair, though. LinkedIn outside of the feed is genuinely excellent. The search, the DMs, the ability to identify exactly who works where and message them directly. For introverts, this is transformative. Working the room at a networking event requires a set of social skills that have nothing to do with whether you are good at your job. LinkedIn lets you skip the room entirely and go straight to the person you actually want to talk to. I have gotten more useful conversations out of cold DMs than I ever got out of standing around a hotel ballroom holding back the urge to talk about the Byzantine Empire.

A man at a networking event thinking about the fall of Constantinople
A reticent introvert contemplates the Fall of Constantinople as high-impact professionals thrive in a fast-paced environment.

The platform as a tool is exceptional. The platform as a feed is a Skinner box for careerists. So I built a machine to play the feed game for me, while I keep using the tool.

The Core Insight

Most AI-generated LinkedIn content is bad for a specific, structural reason: it has no voice. The typical workflow is "here is an article, write a LinkedIn post about it," which produces the same anodyne output regardless of who is posting. The AI has no model of the author's actual opinions, intellectual interests, or rhetorical patterns. It writes for a generic professional, and the result reads like it.

The fix is obvious once you state the problem: give the AI a corpus of the author's real writing and ask it not to summarize the article, but to simulate what the author would say about it. The difference is the difference between a press release and a conversation.

Architecture

The system has three components.

1. The Voice Model (The Authorial Corpus)

I have about 30 blog posts on this site covering Syriac Christianity, Zoroastrian cosmology, Mozart's class anxiety, AI game architectures, and the political theology of the Shahnameh. These are not LinkedIn content. They are long-form essays where I actually say what I think, in the way I naturally think it.

The pipeline reads all of them and feeds them as context to Claude. This is not fine-tuning. It is just context: "here is how this person writes, what they care about, how they argue, what rhetorical moves they make." The model infers the rest.

What matters is that the corpus is opinionated. A bio or resume tells the AI your job title. A corpus of real writing tells it how you think. The AI absorbs worldview, not keywords. This is why the pipeline works and "write me a LinkedIn post" does not.

2. The Signal

The pipeline scans Hacker News for the top stories, then uses Claude to filter for stories that match the author's intellectual profile. Not every HN story deserves a post. The filter asks: does this story have a structural insight? A decoder-ring angle? A connection to something the author has demonstrated opinions about?

This is the step that elevates the output from slop to kibble. Most LinkedIn AI content is bad not because the writing is poor (it is, but that is fixable) but because the topic selection is generic. When you let the AI also choose the topics, you get "5 things I learned about leadership this week." When you curate the signal with a profile-aware filter, you get posts about things you would actually talk about at dinner.

The input does not have to be HN. It can be a URL, a tweet, a Slack thread, or just a topic. HN is just a convenient, high-quality signal source with a free API.

3. The Generation

For each selected story, the pipeline:

  1. Fetches the article content
  2. Sends it to Claude along with the voice corpus and a detailed style prompt
  3. Gets back three things: a factual summary, an analysis of how the author would think about it, and a draft LinkedIn post

The prompt encodes specific constraints about what the voice does and does not do. In my case: structuralist explanations over moralizing, bold thesis sentences, specific evidence, no therapeutic language, no empty calls to action. The output reads like something I would actually write, because the constraints are derived from things I actually wrote.

Output

The pipeline writes to three places:

  • Markdown file with all generated posts, summaries, and analyses
  • RSS feed (so you can subscribe to your own slop, which is a sentence I never expected to write)
  • JSON cache so it does not regenerate posts for stories it has already processed

The workflow: run the script, review the 3 generated posts, copy the one closest to what you would actually say, edit for 2 minutes, post. Total time: under 5 minutes, versus the 30-45 minutes it takes to write a decent LinkedIn post from scratch, if you are the kind of person who cannot bring yourself to post something mediocre.

On a cron, it can run fully autonomously. Scan HN, pick the best story, generate the post, commit to the RSS feed. Zero human touch. Maximum slop. I am not sure whether this is an achievement or a confession.

Sample Output

Here are three actual posts the pipeline generated from a single run. These are unedited. The pipeline scanned Hacker News, picked three stories it thought I would have opinions about, and produced these.

On Spanish legislation as a Git repo

Someone put all of Spanish law into a Git repository. Every statute is a Markdown file. Every amendment is a commit. You can run git diff on the 2011 budget reform and see exactly what changed in the constitution, character by character.

The obvious reaction is "cute hack." The more interesting reaction is: this is what legal text has always been, and the existing publication infrastructure just made it impossible to see.

Legislation is fundamentally a versioned document. It has a canonical text, a history of patches, and a current HEAD. The BOE -- Spain's official gazette -- publishes each reform as a standalone document rather than a delta, because that's how print publishing works. The tooling ossified around the medium, and the medium is a 500-year-old pamphlet.

What Git exposes is the gap between what the information actually is and how institutions choose to store it. The same gap exists in most regulatory domains: SEC filings, municipal code, contract law. The data has structure. The structure is just deliberately or accidentally obscured.

The reason this matters now is agents. If you want an AI to reason about what a law currently says, when it changed, and what the legislative intent was, you need the text in a format that supports those queries. Markdown plus Git is not the final answer. But it's much closer than a PDF scanned from a 1987 gazette.

On training a transformer on a 1976 minicomputer

A developer trained a single-layer, single-head transformer in PDP-11 assembly, loaded via paper tape. The project is a spiritual successor to earlier work training neural nets on an IBM 1130 from 1965.

The interesting insight is not "old hardware can do new tricks." It is what the component list tells you about where the real conceptual work in transformer architecture lives. The jump from a basic neural net to a transformer is architecturally narrow: three additions, all mathematical rather than computational. The hype implies a qualitative leap; this project reveals it was more like a quantitative one.

The reason transformers were not discovered in 1976 was not that the hardware could not run them. It is that nobody had the training data or the research incentive structure that would eventually produce the attention paper. The bottleneck was never the compute. That has real implications for how we think about what the next architectural shift will require.

On Arm releasing its first in-house chip

Arm just ended 35 years of neutrality. That's the story here, and most coverage is burying it.

Arm's entire business model was built on a specific trust relationship: we design the architecture, you build the chips, we collect royalties, we never compete with you. Apple, Nvidia, Amazon, Google all made massive platform bets on Arm precisely because Arm was the Switzerland of semiconductors. You could share roadmap details with them because they had no incentive to use that information against you.

That's now structurally over. Arm is a chip competitor. Every existing licensee has to recalibrate how much they share and how deeply they integrate going forward.

The Meta partnership makes sense as a first move, not because Meta is the most technically credible customer, but because Meta is already hedging everywhere: they buy from Nvidia, they're building their own MTIA silicon, and now they're adding Arm to the mix. For Meta, this is supply chain optionality. For Arm, it's legitimacy.

But the harder question is institutional: can you maintain a licensing business premised on neutrality while also competing in physical silicon? Microsoft tried this with enterprise software and spent a decade dealing with the trust fallout. Amazon is still dealing with it on the marketplace side. Arm is not the first to attempt this pivot, and the pattern is not encouraging for their existing licensees.

The chip is interesting. The channel conflict is the actual story.

These are not perfect. Some of them run long, some of them try slightly too hard. But they sound like me, and that is the point. They do not sound like "5 lessons I learned about leadership." They sound like a person with opinions who read something and had a reaction to it. The voice model is doing most of the heavy lifting.

The Authenticity Question (Which I Am Not Going to Resolve)

Is a post "yours" if an AI drafted it from your writing and your intellectual profile?

I think the honest answer is: more yours than most of what humans write on LinkedIn anyway. The median LinkedIn post is already a performance of a self that does not exist. At least this performance is derived from a self that does.

But I want to be clear about what is happening here. I am automating the production of content for a platform I dislike, in a format I find distasteful, because the professional world has decided that this is how you signal competence. I am not pretending this is noble. It is an adaptation to an environment I did not choose and cannot change.

The Actual Lesson

Building this clarified something I had been thinking about in vaguer terms. The reason AI-generated content feels hollow is almost never a model capability problem. It is an input problem. If you give the model nothing to work with except a topic and a platform, it will produce generic output because generic is the maximum-likelihood completion when the prompt carries no personality.

The fix is not better prompts. It is better context. Give the model real writing by a real person with real opinions, and the output snaps into focus. Show, don't tell, works for AI the same way it works for writing workshops.

But here is the dark corollary: this means the advantage goes to people who have a corpus. People who have written things, who have published opinions, who have a body of work the AI can learn from. If you have spent your career building things quietly and never writing about them, you have no corpus, and the AI cannot simulate you, and you are at a disadvantage relative to someone who spent that same time blogging about their "journey."

The talkers have always had an advantage over the builders. AI just made the advantage permanent. The corpus is the moat, and the corpus is made of words, not code.

The Code

About 1,200 lines of Python, no dependencies beyond stdlib and Claude Code CLI. It has since grown to include Telegram-based approval workflows, Buffer scheduling, multi-brand support, and industry feed scanning.

The full pipeline is open source: github.com/Christian-Sidak/slopify

python3 linkedin_slop.py                    # scan HN, generate 3 posts
python3 linkedin_slop.py --topic "..."      # generate about a specific topic/URL
python3 linkedin_slop.py --list             # show cached posts
python3 linkedin_slop.py --brand <name>     # use a different brand profile
python3 linkedin_slop.py --buffer-setup     # configure Buffer for LinkedIn posting

If you want to use it, you will need to replace my blog corpus with your own writing. Copy brands.example.json to brands.json, point voice_source_dir at your writing, and adjust the style rules. The more opinionated your corpus, the better the output. If you do not have a corpus, I suppose that is its own kind of lesson.

While I still can, I am ducking and covering. I suggest you do the same.


You might also like:

Enjoyed this post?

Emails only when I publish. No spam.