Marketing & Content
How Techparser Built SuperGrow, an AI LinkedIn Post Generator
Techparser built SuperGrow, an AI LinkedIn post generator: a topic, article or URL becomes one to five posts, each streamed as a live preview.
- Client
- Techparser (live demo)
- Industry
- Marketing & Content
- Timeline
- Live demo
- Team
- 1 senior full-stack engineer
Results
- 1–5 posts
- Variations per request, each a different angle
- 3 modes
- Topic, write-in-your-voice and repurpose
- ~1 s
- Posts start streaming in about a second
The problem
A writer starts from a bare topic, a few of their own past posts, or an article they want to repurpose, and gets one to five LinkedIn-ready posts that stream in as live previews. The tool is only useful if it is fast enough to iterate on and the output looks like what will actually be published. The demo runs behind one shared login, and the repurpose mode fetches web pages that visitors supply, which is a classic route into a server's internal network. No heavyweight AI SDK was wanted.
Each of those constraints is also a risk. Slow or badly formatted output kills iteration. A forgeable session or an unthrottled login would open the demo to anyone. A naive server-side fetch would let a visitor reach internal addresses. And leaking raw provider errors would expose how the system is built.
What Techparser built
- The route asks an interface for a model rather than naming a vendor, and the current provider is called directly over its streaming API with no SDK, so swapping vendors changes one file.
- Topic, write-in-your-voice and repurpose share one prompt builder; voice mode drops the tone setting so the writer's own sample wins, and repurpose builds a post around the single most interesting idea rather than summarising.
- Each of the one to five variations is given a different angle, and any single card can be regenerated or remixed shorter, bolder or warmer without re-running the rest.
- Each post streams in as it is written; problems are reported before streaming starts, and a failure midway keeps what has already arrived.
- Every redirect is followed by hand and re-checked, and internal names, raw IP addresses and anything resolving to a private or cloud-metadata address are refused; size, redirects, content type and time are all capped.
- Sessions are HMAC-signed HTTP-only cookies, credentials are compared in constant time with both fields always checked, and five failed attempts lock an address out for three hours; with no credentials configured, nobody gets in.
- Every input is validated and length-capped so a crafted request cannot inflate the prompt, and provider errors are logged on the server but shown to the user only as temporarily unavailable.
- Each preview cuts at LinkedIn's fold, three lines or 210 characters at a word boundary, and shows characters, words and read time against the 3,000-character limit, with hashtags cleaned into valid tags.
- Unit tests cover sign-in, post parsing, prompt building, rate limiting and the URL safety checks.
Decisions that mattered
Fetching visitor URLs without opening a hole
The repurpose mode fetches any web page a visitor pastes, which is a classic way to reach a server's own internal network. Rather than trust the platform's HTTP client, every redirect is followed by hand and re-checked, and internal names, raw IP addresses and anything resolving to a private or cloud-metadata address are refused. Size, redirects, content type and time are all capped, and when a site blocks bots the user is asked to paste the text instead. The trade-off is more fetch code to own, in exchange for a demo that cannot be turned into a probe of the internal network.
One provider interface, no SDK
Speed and swappability drove the model integration. The route asks an interface for a model instead of naming a vendor, and the current provider is called directly over its streaming API with no heavyweight AI SDK in the way. Swapping vendors changes one file, and the three generation modes, topic, voice and repurpose, share a single prompt builder so behaviour stays consistent. Each post streams in as it is written, which is what makes the tool fast enough to iterate on. The trade-off is maintaining a small provider layer by hand rather than leaning on an SDK that would add weight and hide the stream.
Previews that match what gets published
A post generator is only useful if the output looks like what will actually appear on LinkedIn. Each preview cuts at LinkedIn's see-more fold, three lines or 210 characters at a word boundary, and shows characters, words and read time against the 3,000-character limit, with hashtags cleaned into valid tags. Variations each take a different angle, and any single card can be regenerated or remixed shorter, bolder or warmer without re-running the others. The decision was to model LinkedIn's own display rules in the preview, so a writer iterates against the real thing rather than a rough approximation.
Outcome
SuperGrow is live as a demo at supergrow.techparser.io. A topic, a pasted article or a URL becomes one to five LinkedIn-ready posts that stream in within about a second, each shown as a live LinkedIn preview that a writer can regenerate or remix.
The design is built for fast iteration and safe operation. The model sits behind one interface, so vendors swap in a single file, and posts stream per card so a writer sees results immediately. The repurpose fetch refuses internal and private addresses, so visitor-supplied URLs cannot be turned into a probe of the network. And every preview follows LinkedIn's own fold and character rules, so what the writer sees is what gets published.
Questions about this project
- What technology stack does SuperGrow use?
- SuperGrow is a Next.js and TypeScript app styled with Tailwind CSS. Generation runs on Groq's Llama, called directly over its streaming API through a small provider interface rather than a heavyweight SDK, so the vendor can be swapped in one file. Vitest covers sign-in, prompt building, rate limiting and the URL safety checks.
- How does SuperGrow safely fetch the URLs visitors paste in?
- Fetching an arbitrary visitor URL can be used to reach a server's internal network, so the fetch is locked down. Every redirect is followed by hand and re-checked, and internal names, raw IP addresses and anything resolving to a private or cloud-metadata address are refused. Size, redirects, content type and time are all capped, and when a site blocks bots the user is asked to paste the text instead.
- Can Techparser build an AI content generator like SuperGrow for us?
- Yes. Techparser built SuperGrow end to end: three generation modes, a swappable model behind one interface, per-card streaming, hardened URL fetching and previews that match LinkedIn's own display rules. The same approach fits any AI writing tool where speed, safety and realistic previews matter. Book a call to discuss the content workflow you want to automate.









