Show HN: Local Masonry Video Player – Pinterest UI, Prompt Search, Mobile Stream

1 pointsposted 7 hours ago
by choumei

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!