Pinned

the sort of ai-powered tool video editors actually want

8/31/25

via lucas harger

“I use them as tools; I employ them for very specific things and they do that thing very well; so I have my little arsenal/toolkit of these AI service

who out there is building a video editing tool that optimizes for manipulation rather than generation


I think an under-looked aspect of the ai creative tool landscape is a focus on identification & manipulation > generation

when creating - taking photos, editing video, writing, etc - part of the fun (+ source of ideation / creative direction) is the process of sifting through the materials. the 50,293 photos in my camera roll, the 32 hours of footage in my timeline, the turns of phrase I like and save.

where ai can help

(1) at scale, certain workflows a need to be implemented to organize the chaos and enable easier referencing and

the essence of editing is ~molding~ raw material, not generating it. i think an under-looked potential of ai lies in tech that empowers manipulation rather than creation; upscaling, compositing, speech enhancement, stem separation - technical interventions that let editors shape their footage with greater speed and precision; while keeping them close to the source material



timeline scrubbing is part of the process; but functionality like “take me to x gesture” removes the bottleneck friction to allow smoother creative friction


bottleneck friction = roundabout workflows that don’t add to the creative process, just distract from it


creative friction = the creative process itself



new test

import * as React from "react"; import type { Override } from "framer";

// e.g. /notes-app/my-post -> "my-post"

function getCurrentSlugFromPath(): string {

const parts = window.location.pathname.split("/").filter(Boolean);

return decodeURIComponent(parts[parts.length - 1] || "");

}


// Works for absolute or relative hrefs ("/notes-app/foo")

function extractSlugFromUrl(url?: string): string {

if (!url) return "";

try {

const base = url.startsWith("http") ? undefined : window.location.origin;

const u = new URL(url, base);

const parts = u.pathname.split("/").filter(Boolean);

return decodeURIComponent(parts[parts.length - 1] || "");

} catch {

const parts = url.split("?")[0].split("#")[0].split("/").filter(Boolean);

return decodeURIComponent(parts[parts.length - 1] || "");

}

}


/**

  • Attach to the List Item instance inside the CMS list.

  • It will try props.slug if present, otherwise derive from props.link/props.href.

  • Keep variants named "Default" and "Active".

    */

    export function noteItemActive(props: { slug?: string; link?: any; href?: string }): Override {

    const [currentSlug, setCurrentSlug] = React.useState(getCurrentSlugFromPath());

React.useEffect(() => {

const onPop = () => setCurrentSlug(getCurrentSlugFromPath());

window.addEventListener("popstate", onPop);

return () => window.removeEventListener("popstate", onPop);

}, []);


const itemSlug =

props.slug ||

extractSlugFromUrl(typeof props.link === "string" ? props.link : props.link?.href || props.href);


const isActive = !!itemSlug && itemSlug === currentSlug;

return isActive ? { variant: "Active" } : { variant: "Default" };

}


Pinned

the sort of ai-powered tool video editors actually want

8/31/25

via lucas harger

“I use them as tools; I employ them for very specific things and they do that thing very well; so I have my little arsenal/toolkit of these AI service

who out there is building a video editing tool that optimizes for manipulation rather than generation


I think an under-looked aspect of the ai creative tool landscape is a focus on identification & manipulation > generation

when creating - taking photos, editing video, writing, etc - part of the fun (+ source of ideation / creative direction) is the process of sifting through the materials. the 50,293 photos in my camera roll, the 32 hours of footage in my timeline, the turns of phrase I like and save.

where ai can help

(1) at scale, certain workflows a need to be implemented to organize the chaos and enable easier referencing and

the essence of editing is ~molding~ raw material, not generating it. i think an under-looked potential of ai lies in tech that empowers manipulation rather than creation; upscaling, compositing, speech enhancement, stem separation - technical interventions that let editors shape their footage with greater speed and precision; while keeping them close to the source material



timeline scrubbing is part of the process; but functionality like “take me to x gesture” removes the bottleneck friction to allow smoother creative friction


bottleneck friction = roundabout workflows that don’t add to the creative process, just distract from it


creative friction = the creative process itself



new test

import * as React from "react"; import type { Override } from "framer";

// e.g. /notes-app/my-post -> "my-post"

function getCurrentSlugFromPath(): string {

const parts = window.location.pathname.split("/").filter(Boolean);

return decodeURIComponent(parts[parts.length - 1] || "");

}


// Works for absolute or relative hrefs ("/notes-app/foo")

function extractSlugFromUrl(url?: string): string {

if (!url) return "";

try {

const base = url.startsWith("http") ? undefined : window.location.origin;

const u = new URL(url, base);

const parts = u.pathname.split("/").filter(Boolean);

return decodeURIComponent(parts[parts.length - 1] || "");

} catch {

const parts = url.split("?")[0].split("#")[0].split("/").filter(Boolean);

return decodeURIComponent(parts[parts.length - 1] || "");

}

}


/**

  • Attach to the List Item instance inside the CMS list.

  • It will try props.slug if present, otherwise derive from props.link/props.href.

  • Keep variants named "Default" and "Active".

    */

    export function noteItemActive(props: { slug?: string; link?: any; href?: string }): Override {

    const [currentSlug, setCurrentSlug] = React.useState(getCurrentSlugFromPath());

React.useEffect(() => {

const onPop = () => setCurrentSlug(getCurrentSlugFromPath());

window.addEventListener("popstate", onPop);

return () => window.removeEventListener("popstate", onPop);

}, []);


const itemSlug =

props.slug ||

extractSlugFromUrl(typeof props.link === "string" ? props.link : props.link?.href || props.href);


const isActive = !!itemSlug && itemSlug === currentSlug;

return isActive ? { variant: "Active" } : { variant: "Default" };

}


August 27, 2025

this is a note test

Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?”