1 comments

  • choumei 7 hours ago

    Hello HN,

    I built this desktop app because I needed a better way to view my local video collections. I wanted a Masonry (Pinterest-like) grid for simultaneous playback, but existing tools didn't fit my workflow.

    Key Features:

    Pinterest UI: Visualizes folders of short clips in a dense grid.

    Prompt Search: Filters videos by metadata/prompts (great for AI-generated content).

    Mobile Connect: Hosts a local server to stream videos to my phone without copying files.

    Performance: Electron is known for being heavy and slow. I minimized dependencies to achieve a cold start (ready-to-show) of ~490ms.

    Tech Stack:

    Core: Electron, Vite, React, TypeScript

    Frontend UI: Tailwind CSS, Shadcn UI, Lucide React

    State Management: Zustand, TanStack Query

    Database: better-sqlite3 (SQLite)

    Server: Node.js HTTP Server + SSE (Server-Sent Events)

    Communication: tRPC (Abstracts IPC & HTTP for unified codebase)

    Architecture:

    Frontend: Based on Feature-Sliced Design (FSD).

    Backend: Built on a Layered Architecture using the Repository Pattern, leveraging an internal Event Bus for Event-Driven Architecture (EDA).

    It's open source and runs locally. I'd appreciate any feedback on the code or the concept!