Case Study

LinkedIn on Autopilot — Zero Daily Involvement

A full-stack Windows desktop app that plans, writes, publishes, and engages on LinkedIn autonomously — so the founder never has to.

For a consulting firm selling expertise, LinkedIn is the primary channel for authority-building and inbound leads. But managing it well — daily posts, thoughtful comments on target accounts, performance tracking — is a part-time job in itself. Lets Viz built LV LinkedIn OS: a production Windows desktop app (Electron + React + FastAPI) that automates the complete LinkedIn lifecycle. Playwright connects to the founder's real browser session via CDP — human-like automation with no bot signals. Four autonomous loops. Zero daily involvement required.

B2B SaaS / Data & Analytics · Internal — Lets Viz Technologies·ElectronReactFastAPIPythonSQLitePlaywrightClaude CLIOpenAI
in

LV LinkedIn

Lets Viz Technologies

System Online
Dashboard
inLinkedIn
Content Studio
Intelligence
Content Pipeline
Auto-Engage
Comments
Settings
LV LinkedIn OS
FileEditViewHelp

Engagement Activity

14

Comments Made

45% WoW

49

This Week

228

Total Comments

14

Profiles Engaged

43.2% WoW

0

Visited Today

Content Pipeline

78 total posts
CalendarKanbanListEvergreen
Ideas0

Empty

Drafts45

** Clinical labs run 500+ tests daily — the case for real-time LIS-to-Power BI pipelines

Image

** AI automation is processing lab results faster — reporting layer is a 24-hour lag

Image
Scheduled5

Who's accountable when your automated financial report is wrong — the AI or the analyst?

Image

From experimenting with AI to measurable ROI in BI

Image

Recent Comments

View all →
MM

Michael Merlin

@Michael the point about budgets creating clarity rather than restriction is underrated...

yesterday

MR

Matthew Robinson

@Matthew that Glassdoor angle is wild, turning a bad review into a CEO deal is the kind...

yesterday

BK

Basia Kubicka

@Basia the ‘make a plan first’ tip is so underrated, stopped a few painful rewrites...

yesterday

CY

Celeste Yamile

@Celeste the batching one is so real, that 15 min to get into flow state is exactly...

yesterday

JB

Jacobrokeach

@Jacobrokeach the ‘does this number change what we do next’ filter at every layer...

yesterday

Quick Actions

Draft a Post
Browse Leads
Run Engagement
inOpen LinkedIn
At a glance

Results That Speak for Themselves

4

Autonomous workflows: plan, publish, engage, leads

0

Daily involvement required from the founder

8

App pages — dashboard to auto-engage to lead pipeline

100%

Human-like browser automation — real session, no bot detection

From challenge to outcome

The Problem & Our Approach

A Founder Cannot Also Be a Full-Time LinkedIn Manager

For a consulting firm selling expertise, LinkedIn is the primary channel for authority-building and inbound leads. But managing it well — daily posts, thoughtful comments on target accounts, connection outreach, performance tracking — is a part-time job in itself. LinkedIn cannot be a side task for a founder who is also the delivery lead. It needs its own system — or it does not get done.

  • No consistent publishing cadence — posts written when there was bandwidth. Weeks passed without content. No idea pipeline, no scheduling system, no way to write at scale without consuming billable hours.
  • Engagement was manual or absent — building authority requires commenting on the right posts consistently. Doing this manually across dozens of target profiles every week was not sustainable.
  • Lead generation had no system — potential clients existed in LinkedIn search results but there was no pipeline for finding, qualifying, and nurturing them through to a conversation.
  • No feedback loop — no visibility into which posts drove profile views, which engagement targets converted, or what content resonated with the BI and analytics audience.

A Full-Stack Desktop App That Runs LinkedIn for You

Lets Viz designed and built LV LinkedIn OS — a production Windows desktop application (Electron + React + FastAPI) that automates the complete LinkedIn lifecycle. A Playwright-powered browser connects to the founder's real LinkedIn session via CDP, enabling human-like automation that operates within normal session behaviour. Every long-running operation runs as a background task with a live polling UI — nothing blocks, nothing times out on navigation.

  • Idea Engine — generates post ideas tailored to the BI/analytics niche. Per-post industry tagging (general, healthcare BI) with matching system prompts and hashtag pools. Feeds the Content Pipeline queue automatically.
  • Content Studio — AI-assisted drafting in the founder's voice via Claude CLI. Produces an image brief; user triggers image generation (OpenAI GPT-Image-2 primary / Gemini fallback) on demand after reviewing text.
  • Publisher — scheduled auto-posting at optimal times. Posts queue with status tracking (ready → publishing → published / failed). Background task with live status poll.
  • Auto-Engage — browses target profiles, scrapes recent posts from /recent-activity/all/, posts AI-generated comments specific to the post content. Human-like timing: log-normal delays, mouse jitter, periodic detours. Auto-rejects inactive profiles (>60 days); skips profiles with no recent posts (>7 days).
  • Performance Scraper — visits each post URL individually to collect impressions (owner-only stat). Drives the Karpathy scoring loop: high-performing post formats get higher queue weight.
  • Lead Pipeline — scrapes LinkedIn search results for potential leads, manages them through a Kanban board (New → Contacted → Replied → Meeting → Converted), feeds qualified leads into connection campaigns with AI-personalized outreach notes.
  • Google Sheets Sync — incremental bidirectional sync. SQLite trigger marks records dirty on change; sync only pushes dirty rows — never full-table overwrites.

What We Achieved

4 autonomous loops in production: content pipeline, scheduled publishing, overnight auto-engagement, lead pipeline
0 daily involvement required — a week's content reviewed and queued in one sitting
Engagement happens overnight — founder wakes to a comment history, not a to-do list
Karpathy scoring loop closes the feedback cycle: scrape impressions → score formats → weight queue toward what works
30+ versioned SQLite migrations — schema evolves without data loss
Platform change caught automatically — LinkedIn's May 2026 timestamp removal detected and handled with no manual intervention
8 app pages covering every LinkedIn workflow: Dashboard, LinkedIn session, Content Studio, Intelligence, Content Pipeline, Auto-Engage, Comments, Settings

Eight Modules — Complete LinkedIn Lifecycle

ModuleWhat It Does
Idea EngineNiche-matched post ideas, per-industry tagging, hashtag pools. Auto-feeds Content Pipeline.
Content StudioClaude CLI drafting in founder voice. Image brief + on-demand GPT-Image-2 generation.
PublisherScheduled auto-posting. Status tracking: ready → publishing → published / failed.
Auto-EngageBrowses targets, scrapes recent posts, posts specific AI comments. Log-normal timing, mouse jitter. Skips stale profiles.
Performance ScraperVisits each post URL for impressions. Feeds Karpathy scoring loop — better formats get higher queue weight.
Feed IntelScrolls feed, ranks top 30 posts by reaction+comment signal. Surfaces in Feed Intel tab.
Lead PipelineLinkedIn search scraper. Kanban board (New → Contacted → Replied → Meeting → Converted). AI outreach notes.
Google Sheets SyncIncremental bidirectional sync via SQLite dirty-flag pattern. No full-table overwrites.
The app behaves like a dedicated LinkedIn manager who starts work at 2 AM, never misses a schedule, and leaves comments that read like a human wrote them.
Lets Viz Team·Internal — LV LinkedIn OS

Human-Like Automation That Does Not Get You Banned

LinkedIn's anti-automation detection is behavioural — it looks for inhuman timing, identical mouse paths, and activity patterns that no real user would produce. LV LinkedIn OS was designed from the ground up to look and behave like a person.

  • Log-normal timing between actions — natural variance, not fixed intervals.
  • Mouse jitter and variable scroll depth on every page navigation.
  • Periodic detours to the home feed and network page every 5–7 profiles.
  • Accepts 1–2 connection requests during detour pauses.
  • CDP connects to the user's live Electron BrowserView — same cookies, same session, same IP as a normal browser.
  • All comments are generated per-post via Claude CLI — specific to the content, not templated.
  • The session looks human because it is human — same browser, same account, same session.

The Feedback Loop That Makes the Content Smarter Over Time

Most LinkedIn automation tools post and forget. LV LinkedIn OS closes the loop: every published post's impressions, reactions, and comments are scraped back into the app and fed into a scoring model that adjusts which content formats get prioritised in the queue. The more the system runs, the better it gets at predicting what performs for this specific audience.

  • Performance scraper visits each post URL individually to collect impressions — an owner-only stat not visible in feed listings.
  • Feed signal score uses a 48-hour recency window and degrades gracefully when the feed_observations table is empty.
  • Repost detection uses /in/ URL slug comparison — first-name matching was too fragile and was replaced.
  • Post age parser checks 'mo' before 'm' in regex to prevent '5 months' matching as '5 minutes' — a subtle but real parsing trap.
  • LinkedIn removed <time datetime> tags from profile Activity previews in May 2026. The app detects this automatically and falls back to full post scrape — logged to ~/.lv-linkedin/backend.log for future DOM-change diagnosis.

The Pattern — Autonomous Presence Management

LV LinkedIn OS is one instance of a broader capability: taking a high-frequency, expertise-dependent workflow and replacing it with an instrumented, agent-driven system that a small team can monitor from a single interface. The same architecture — background tasks, scoring loops, human approval gates, and adaptive feedback — applies wherever expert throughput is the bottleneck.

  • Built for real production use: signed NSIS installer, persistent local SQLite DB at ~/.lv-linkedin/, live session automation, long-running async ops.
  • Adaptive by design: scoring loops and per-post industry tagging mean the system gets better the longer it runs.
  • Platform-resilient: DOM change detection and fallback paths mean a LinkedIn UI update does not silently break the automation.
  • Human-in-the-loop where it matters: every draft is reviewable before publish; every engagement run is logged with full audit trail.
  • If your founder is also your marketing department, something has to change. Lets Viz builds the system that runs it for you.

Discuss a similar B2B SaaS / Data & Analytics project

Lets Viz runs a paid discovery audit ($500–1,000, credited toward the project) to scope your requirements, data model, and architecture before writing a line of code.

From Lets Viz

Helping companies make data-driven decisions to achieve their Goals

Experience superior data analysis with our custom dashboards. Specialising in all tools and technologies, we turn data into visually compelling, actionable insights.

NDA-safe · No obligation · Clear next steps