
SideHub
Founder
A cockpit to drive your AI coding agents (Claude Code, Codex, Gemini CLI) on your own machines, from any browser.
LinesEntrepreneurAI
- Context
- A cockpit to drive your AI coding agents (Claude Code, Codex, Gemini CLI) on your own machines, with tasks, multi-agent workflows and a shared memory.
- My role
- Founder: designed and built the whole platform, in .NET 10 and Angular.
- Result
- 3 TikTok videos a day, made and published by agents with no human input
Drive your agents from anywhere
SideHub started from a very personal need. My AI agents ran on a VPS, on my Mac or elsewhere, and I wanted to drive them without going back to the machine.
You install a lightweight agent on your machine, a self-contained .NET binary with no dependencies, connected to SideHub over WebSocket. From any browser, even on your phone, you start and follow Claude Code, Codex, Gemini CLI or plain shell sessions on your real repositories, with live streaming and remote permission approvals. The code stays on the machine. SideHub only receives statuses, results and session output.
From tasks to workflows
The tool then became my task manager. Each task can be linked to an agent, which handles it in the background while I do something else.
A task can also be linked to a workflow. A workflow chains several agents, each with its own role and provider. For example, an architect designs the plan with Claude, a developer implements it with Codex and a QA agent reviews it with Gemini. Workflows can be scheduled and run on their own, without approving every action.
A memory to talk to each other
For several agents to work together, they needed a shared place. So I built an internal memory inspired by Notion. Agents create pages and databases (stored in SQLite) to leave their specs, reports and decisions. The next agent reads what the previous one wrote, and the work isn’t lost when a session ends. You can also query this memory in plain language.

Proof by TikTok
To show what all this can do, I automated a TikTok channel for fun, @electrochoc.mind. Agents create the videos and publish them, with no input from me. The videos are no masterpieces, and that isn’t the point. It’s a proof of concept that puts agents, scheduled tasks and the shared memory to work together, end to end.
The “Generate new video real” workflow runs three times a day, around 7am, noon and 6pm UTC. A run takes 15 to 17 minutes, with no human approval at all. It chains five steps, each handed to an agent with a time limit, and each one leaves its output in the memory. The first two run on Codex, the other three on Claude, the workflow’s default agent.

- Ideation (10 min): the agent reads the editorial guidelines (style, banned phrasings, themes, library of allowed videos) and queries the channel’s SQLite database. It finds the last 60 posts, TikTok stats, overused verbs and neglected personas there. It suggests three ideas, written backwards: the final action first, then the tension, then the hook.
- Selection and polish (5 min): a second agent acts as the judge. It runs each idea through three consistency tests (every pronoun points to something specific, the logic “because tension and hook, therefore action” holds up, the action is a concrete gesture and not an image). If the best idea fails, it moves on to the next one.
- Video generation (30 min): one ElevenLabs voice per act, picked to fit the persona (with OpenAI as a fallback), a Pexels background video and a Jamendo music track. The vertical 1080×1920 edit is put together with HyperFrames, which turns HTML into MP4 inside Docker.
- Auto validation (5 min): checks the format with ffprobe, the caption, the consistency of the text and repetitions against the database. A video that fails is never published.
- Finalize (10 min): writes the metadata the publisher needs and cleans up the run folder.
At any time, I can open an agent’s terminal remotely to see what it did on a step.

Publishing was moved out of the workflow, because Claude’s auto mode could block the upload. A shell script triggered by a system timer picks the latest validated video and runs the editorial check again. It then publishes it through the Zernio API and records it in the SQLite database and in the memory. Each video goes out about an hour after it was made.
I also use SideHub every day for my own projects, for example to drive my Stremio extension.