{"id":51058707,"url":"https://github.com/leonleerl/lets-video","last_synced_at":"2026-06-22T23:31:11.446Z","repository":{"id":357378715,"uuid":"1234693919","full_name":"leonleerl/lets-video","owner":"leonleerl","description":"AWS-native self-hosted video streaming platform with HLS, CloudFront, Terraform, Docker, and AI-ready workflows.","archived":false,"fork":false,"pushed_at":"2026-06-08T09:23:35.000Z","size":242,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-08T11:10:34.239Z","etag":null,"topics":["ai-agent","aws","docker","langgraph","nextjs","postgresql","prisma","rag","react","shadcn-ui","tailwindcss","terraform","typescript","video-player"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leonleerl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-10T14:19:07.000Z","updated_at":"2026-06-08T09:24:11.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/leonleerl/lets-video","commit_stats":null,"previous_names":["leonleerl/lets-video"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/leonleerl/lets-video","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leonleerl%2Flets-video","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leonleerl%2Flets-video/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leonleerl%2Flets-video/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leonleerl%2Flets-video/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leonleerl","download_url":"https://codeload.github.com/leonleerl/lets-video/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leonleerl%2Flets-video/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34669839,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-22T02:00:06.391Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agent","aws","docker","langgraph","nextjs","postgresql","prisma","rag","react","shadcn-ui","tailwindcss","terraform","typescript","video-player"],"created_at":"2026-06-22T23:31:09.878Z","updated_at":"2026-06-22T23:31:11.439Z","avatar_url":"https://github.com/leonleerl.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LetsVideo\n\n### AI-Powered Family Memory Platform\n\nLetsVideo is a private family video platform designed for families living across different countries and regions.\n\nThe project was inspired by a real-world problem. My family members live in China, Australia, and Japan. Sharing videos across different messaging platforms such as WeChat, LINE, WhatsApp, and Messenger is often inconvenient. Family memories become fragmented across multiple applications, making them difficult to organise, search, and revisit over time.\n\nLetsVideo aims to solve this problem by providing a dedicated family space where loved ones can upload, share, preserve, and rediscover their memories through videos.\n\nIn the future, LetsVideo will evolve into an AI-powered family memory platform that not only stores videos but also understands, organises, and tells the stories behind those memories.\n\n---\n\n# Vision\n\nPreserve family memories across borders.\n\nLetsVideo helps families:\n\n* Share private videos securely\n* Organise memories automatically\n* Search memories naturally\n* Build family timelines\n* Rediscover meaningful moments\n* Preserve family stories for future generations\n\n---\n\n# Problem Statement\n\nModern families are increasingly distributed across different countries.\n\nA typical family may use:\n\n* WeChat (China)\n* LINE (Japan)\n* WhatsApp (Australia)\n* Google Photos\n* iCloud Photos\n\nAs a result:\n\n* Videos are scattered across multiple platforms\n* Important memories become difficult to find\n* Family history becomes fragmented\n* Valuable moments are often forgotten\n\nLetsVideo provides a centralised and private space dedicated to family memories.\n\n---\n\n# Core Features\n\n## Family Spaces\n\nCreate a private family space and invite family members.\n\nExamples:\n\n* Lee Family\n* Tanaka Family\n* Smith Family\n\nEach family has its own private video library.\n\n---\n\n## Video Sharing\n\nFamily members can:\n\n* Upload videos\n* Browse videos\n* Watch videos together\n* Search videos\n* Organise videos\n\n---\n\n## Memory Timeline\n\nAutomatically organise memories by:\n\n* Year\n* Month\n* Event\n* Family member\n\nHelping families revisit important moments through time.\n\n---\n\n# AI Agent Roadmap\n\nThe long-term goal of LetsVideo is to become an AI-powered Family Memory Agent.\n\n## Memory Understanding Agent\n\nWhen a video is uploaded, the AI Agent can:\n\n* Understand the video content\n* Generate memory descriptions\n* Identify important events\n* Generate searchable metadata\n* Create meaningful tags\n\nExample:\n\nVideo:\n\nBirthday Party.mp4\n\nGenerated Memory:\n\n\"Tom celebrated her 5th birthday with her family at Hong Kong Disneyland.\"\n\n---\n\n## Memory Organisation Agent\n\nAutomatically categorise memories into:\n\n* Travel\n* Birthday\n* School\n* Holiday\n* Family Gathering\n* Wedding\n\nNo manual organisation required.\n\n---\n\n## Memory Search Agent\n\nUsers can ask questions such as:\n\n* When was Tom's first trip to South Korea?\n* Show me all birthday videos from 2025.\n* Find videos taken in Singapore.\n\nThe AI Agent searches memories and returns relevant results.\n\n---\n\n## Family Story Agent\n\nGenerate:\n\n* Annual family reviews\n* Family timelines\n* Growth stories\n* Memory summaries\n\nExample:\n\n\"Summarise our family's 2026 memories.\"\n\n---\n\n## Memory Documentary Agent\n\nFuture versions will help generate:\n\n* Family documentaries\n* Growth journey videos\n* Event highlight reels\n* Narrated memory collections\n\n---\n\n# Technology Stack\n\n## Frontend\n\n* Next.js\n* TypeScript\n* Tailwind CSS\n\n## Backend\n\n* Python\n* FastAPI\n\n## AI\n\n* OpenAI API\n* LangGraph\n* LangChain\n\n## Database\n\n* PostgreSQL\n* pgvector\n\n## Cloud\n\n* AWS S3\n* AWS RDS\n* AWS ECS\n\n---\n\n# Project Goals\n\nThis project is being built to explore and learn:\n\n* AI Agents\n* Function Calling\n* Retrieval-Augmented Generation (RAG)\n* LangGraph Workflows\n* Semantic Search\n* Video Metadata Understanding\n* Cloud-Native Architecture\n* Full-Stack AI Development\n\n---\n\n# Current Status\n\n🚧 Early Development\n\nThe first milestone focuses on:\n\n* Family spaces\n* Video upload\n* Video playback\n* Video sharing\n\nAI-powered memory understanding and search capabilities will be introduced in future releases.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleonleerl%2Flets-video","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleonleerl%2Flets-video","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleonleerl%2Flets-video/lists"}