← Selected work
Local-first media workflowPublic beta

Videx

A private local video and audio download manager with a guided CLI, browser interface, persistent queue, and no hosted processing backend.

RoleProduct engineer and maintainer
Timeline2025–present
Verified2026-08-11
A visual map of the CLI, local browser app, queue daemon, and loopback service.

The problem

Many download tools force users to choose between approachable interfaces and powerful controls, while cloud-based workflows create unnecessary privacy concerns.

Local-firstno Videx download backend or user databasepublic evidence
80% gateconfigured Python coverage thresholdpublic evidence
One engineCLI and local browser app share queue servicespublic evidence

The constraints shaped the system

  • Media, credentials, queue history, and files must remain on the user’s machine.
  • The CLI and browser UI must share the same validated download plans.
  • A daemon crash must not lose or corrupt queued work.

The engineering decisions

01

SQLite as a process boundary

The queue persists plans, progress, output files, audit events, and cancellation requests across CLI and daemon processes.

A durable local queue gives the browser and CLI one source of truth without adding a hosted service.
02

Loopback-only service

The companion binds to 127.0.0.1, validates Origin, uses a secure local session, and restricts output-file access.

The local network boundary is part of the product’s privacy model, not merely a deployment detail.
03

Shared plans and safe recovery

Validated DownloadPlan objects are serialised into jobs, and running work is reclaimed after a daemon crash.

The queue owns recovery so a terminal closing does not make a user restart the whole workflow.

Architecture

The public Vercel site is documentation only. The installed app starts a loopback service, while the CLI, browser interface, daemon, SQLite queue, yt-dlp, and FFmpeg remain on the user’s machine.

  • Shared validated plans between CLI and UI
  • Forward-only SQLite migrations
  • Output access limited to completed recorded jobs

Testing and release discipline

Network extractors are mocked or served by local fixtures, so required tests never contact media websites. The project documents pytest, Ruff, mypy, and a coverage gate as part of the release workflow.

What I would improve next

The next quality step is a moderated onboarding round with non-technical desktop users, focusing on installation, the local privacy boundary, and queue recovery language.

Orbit

A relationship operating system that turns professional contacts into a queryable, visual, and bilingual workspace.

Read next