Back to selected work

Project notebook / 01

AI Video Editor.

Turning a folder of travel photos and clips into a short video story, with local analysis, reviewable edits, and private rendering.

CategoryAI & creativity
Project statusIn progress
My rolePersonal project
Next.jsReactTypeScriptFastAPIPythonRedis / RQFFmpegOllama
AI Video Editor workspace showing the six-stage trip pipeline before a project is selected.
Actual application interface in a fresh workspace. No personal photos, videos, or credentials are shown.View full size

The idea

A trip often ends with a folder full of photos and clips, but a watchable story takes more than putting every file on a timeline. Similar moments compete for attention, formats differ, and the useful part of a clip may be only a few seconds long.

AI Video Editor is my personal project for turning that collection into a short, reviewable video. It combines media analysis with explicit editorial choices, keeping source files and rendered outputs under the user’s control.

The workflow

The interface follows six stages: Import → Analyze → Curate → Review → Render → Ready. Local files are the primary path. A Google Photos Picker integration is also present in the project.

Analysis provides technical quality signals and conservative duplicate grouping. Optional local visual analysis adds scene evidence. Curation assigns story beats and prepares landscape and vertical plans. The user can review selections, pin or exclude moments, adjust ordering and trims, and approve the plan before rendering.

The screenshot shows the actual application before a project is selected. It deliberately contains no private travel media and does not imply that a render is in progress.

Behind the build

The build spans the React review interface, a Python project API, shared timeline structures, and an isolated rendering worker. The API maintains project state and edit decisions; Redis and RQ carry render jobs; FFmpeg performs the media assembly.

This separation gives the interface a durable view of progress while heavier processing happens outside the request that started it. The worker checks that sources belong to the project and are staged and scanned before rendering approved plans.

Engineering decisions

Local analysis is the default. Optional Ollama-based visual analysis is distinct from the simpler quality heuristics. A quality score alone is not a claim that the system understands a memory or can always choose the best moment.

Review comes before rendering. Selection changes invalidate earlier approvals, so a changed plan must be reviewed again. This keeps the user in control of a creative result.

Audio has an explicit policy. The code supports user-provided soundtracks, original locally generated score presets, manual selection, and no soundtrack. This avoids making a cloud music service a requirement for the workflow.

Current state and next steps

The repository documents a working local-file baseline from upload through review, rendering, preview, and download. This portfolio pass checked the interface and implementation structure; it did not repeat the source project’s full rendering acceptance suite.

Remaining work includes broader phone/HDR coverage, multi-frame video semantics, larger-album benchmarks, stronger resume/cancel behavior, and more listening and portrait-fixture review. The project is presented as an ongoing local application, with no public live demo or production-scale claims.

The pieces behind the experience

How it fits together

  1. 01

    Review workspace

    Next.js and React organize import, project status, selection review, and output controls.

  2. 02

    Project and analysis API

    FastAPI handles project records and media decisions; optional local Ollama analysis adds bounded visual evidence.

  3. 03

    Render queue

    Redis and RQ separate media-processing jobs from interactive project requests.

  4. 04

    Private video output

    An FFmpeg worker assembles approved timelines, then validates rendered files for local preview and download.

The whole collection

Back to the notebook.

See all projects