Skip to content
Miloš Vasić

// tier: vasic-util-secondary · order 22

Courses-Creator productionlicense: UNVERIFIED

GoTypeScriptReactElectronReact NativePostgreSQLPythonLLM providers (OpenAI, Anthropic, Ollama)TTS (Bark, SpeechT5)MCPDocker ComposenginxPrometheusGrafana

Source

Courses-Creator — generation pipeline Content in Course out Optional-AI: basic ↔ enhanced path selected by provider keys · one backend, three clients (desktop / mobile / web) Markdown source course outline LLM enrichment OpenAI · Anthropic · Ollama TTS + music Bark · SpeechT5 Video assembly render + mux Publish
// architecture

Markdown in, professional video course out — AI-enhanced, multi-platform.

Transforms markdown into engaging video courses. A Go processing engine enriches content via multiple LLM providers, generates narration (Bark/SpeechT5 TTS) and music, and delivers to Electron desktop, React Native mobile, and React web players, with full Docker deployment and monitoring.

Courses-Creator is a toolkit that converts markdown scripts into professional video courses with AI-powered enhancements: multi-LLM content enrichment (OpenAI/Anthropic/Ollama), high-quality TTS and background music, and desktop, mobile, and web players — all Docker-deployed with Prometheus/Grafana monitoring.

Producing a video course is normally a small production studio's worth of work: scripting, recording narration, sourcing music, editing, encoding, and then building players for every platform learners might use. Courses-Creator compresses that entire chain into a single input — a markdown script — and a single command. At its center is a Go core-processor that runs a full video/audio pipeline: it enhances the written content through multiple LLM providers (OpenAI, Anthropic, and local Ollama), synthesizes natural narration with text-to-speech engines (Bark, SpeechT5), layers background music, and assembles the pieces into finished course videos. The author's job stays at the level of ideas and words; the system does the voicing, scoring, and production. And because a course is only useful if people can watch it, delivery is multi-platform by design: an Electron desktop creator app, a React Native mobile player, and a React web player, all fed by the same REST API and background job system — one backend, three first-class clients, no reimplementation per surface.

Crucially, this is production infrastructure, not a demo reel. The backend carries PostgreSQL persistence, background job processing so long TTS/video renders never block the API, MCP server implementations for tool-augmented enhancement, Prometheus metrics, JWT authentication, and an nginx reverse proxy — and the whole thing ships as a Docker Compose deployment with Grafana/Prometheus monitoring profiles you can stand up in one step. The AI is an enhancement layer, not a dependency: every LLM provider is optional, so the pipeline runs with zero API keys for basic operation and lights up premium enrichment the moment keys are supplied. That single decision makes the same tool viable for a hobbyist working offline on a laptop and for an enterprise wiring in its provider of choice — and the whole media pipeline underneath is covered by unit, integration, and e2e tests rather than taken on faith.

Origin story

Producing course videos manually is slow: writing, narrating, scoring, and editing each take effort and specialist tools. Courses-Creator collapses that into a markdown-driven pipeline so a single source script becomes a produced course, with AI filling the gaps humans would otherwise fill by hand.

Why it changes the game

It turns course production from a specialist, multi-tool craft into a repeatable software pipeline: authoring, AI enrichment, narration and music generation, and multi-platform playback all live in one deployable stack. The graceful degradation to no-API-key operation is the quiet superpower — the same codebase serves a budget-conscious solo creator and an enterprise with a premium provider contract, with nothing to rewrite in between.

Where the novelty lives

Hard problems, honest solutions

The stack, and why

Note: the public README quick-start uses a placeholder your-org clone URL.