Skip to main content

Case study · SaaS / AI content automation

LinkGenAI-written LinkedIn posts in your voice, scheduled and published for you

LinkGen is a LinkedIn content web app built by DanixSoft: it learns a professional's voice during onboarding, writes posts with matching images, plans a weekly content calendar, and publishes to their own LinkedIn profile through LinkedIn's official APIs, either after review or automatically.

AI-written LinkedIn posts in the member's own voice, image suggestions, one-time scheduling and a recurring weekly content calendar, with review-first or automatic publishing to their own profile.

What problem does LinkGen solve?

Professionals know they should post on LinkedIn regularly, but writing in their own voice every week, finding an image and remembering to publish at a good time is the part that never gets done.

How does LinkGen work?

A detailed onboarding captures profession, audience, goals, tone, format preferences and a voice sample, and every post is written from that profile. Posts go out through LinkedIn's official Posts and Images APIs from a database-driven scheduler: Supabase pg_cron calls a claim-based worker that locks due posts, retries with backoff, and never automatically retries a publish that may already have reached LinkedIn.

What we built

  • Detailed onboarding: profession, industry, audience, goals, tone, content types, length, emoji and hashtag style, language, voice sample, posting frequency, time zone and approval mode
  • AI post generation with editing, regeneration, rewrites, a LinkedIn-style preview and drafts
  • Image suggestions from free libraries (Pexels, Unsplash and Openverse), with replace or upload
  • One-time scheduling and a recurring daily or weekly content calendar with per-day topics, formats and times
  • Review-before-publish or automatic publishing to the member's own LinkedIn profile
  • A dashboard and month calendar with reschedule and cancel, and an execution log of every run

What is LinkGen built with?

Application
Next.js 16 (App Router, Server Actions), React 19, TypeScript, Tailwind CSS v4
AI
Groq (openai/gpt-oss-120b) for writing and rewriting posts
Data
Supabase Postgres with row-level security and Auth (shared DanixSoft sign-in)
Integrations
LinkedIn official APIs (Sign In with LinkedIn using OpenID Connect, Share on LinkedIn, Posts and Images APIs), Pexels, Unsplash, Openverse
Operations
Supabase pg_cron and pg_net scheduler calling a claim-based worker, with retries, backoff and an execution log
Quality
Vitest unit tests

Engineering challenges

  • A claim-based worker (FOR UPDATE SKIP LOCKED) so overlapping scheduler runs can never publish the same post twice
  • LinkedIn tokens sealed with AES-256-GCM in a table no browser-facing role can read
  • A database trigger so only the server can mark a post as published
  • Row-level security on every table, and Vitest tests for scheduling, retries and generation

Next step

Have a similar problem to solve?

A free 30-minute discovery call, then a written scope and a fixed-price quote — before you commit to anything.