Home / Articles / Blog

Four Open-Source Repos for Builders: TubeLog, cizle, OpenNote and a 60-Screen CRM Template
Open-SourceAI ToolsSaaSMCPDeveloper ToolsLocal-First

Four Open-Source Repos for Builders: TubeLog, cizle, OpenNote and a 60-Screen CRM Template

TubeLog turns YouTube into Markdown, cizle turns a URL into launch videos, OpenNote is a local-first AI notes app with MCP, and crm-saas is a free CRM template. What each does, how to run it, and when to use it.

Shrey Vijayvargiya

Four Open-Source Repos for Builders: TubeLog, cizle, OpenNote and a 60-Screen CRM Template

Primary keyword: open source AI tools for developers. Also targeting: local-first note taking app open source, YouTube transcript to markdown, AI product launch video generator, free CRM SaaS template Next.js, MCP server for notes Claude Desktop.

I keep shipping small tools to solve my own problems with content, launches and customer tracking. Four of them are now public on GitHub under the MIT license: TubeLog, cizle, OpenNote and crm-saas. This post is a short field guide to each one: the problem it solves, what you get, how to run it, and when it is the wrong tool.

Three of the four share a design choice. Your data stays on your machine, and the AI part is optional and bring-your-own-key.

The four repos at a glance

RepoWhat it doesStack notesGitHub
TubeLogArchives YouTube channels as Markdown files, optionally writes AI blogs from transcriptsNode CLI + Hono API + Vite/React dashboardshreyvijayvargiya/tubelog
cizleTurns a SaaS URL or GitHub repo into launch, FAQ, feature and comparison videosLocal studio + markdown prompt library, runs on OpenRoutershreyvijayvargiya/cizle
OpenNoteLocal-first note app with an AI assistant, a 3D note graph and an MCP bridgeNext.js, Tiptap, IndexedDB (Dexie)shreyvijayvargiya/opennote
crm-saasA CRM SaaS UI template with 60+ screens and an in-app AI assistantNext.js (Pages Router), shadcn/ui, Tailwindshreyvijayvargiya/crm-saas

TubeLog: YouTube as a Markdown learning library

TubeLog turns a YouTube channel into a folder of Markdown files you can search, grep and read offline. The idea in one line from the README: the video is the source, the transcript is the raw knowledge, the blog is the lesson, and the filesystem is the database.

You give it a channel or a single video. It fetches metadata and the transcript, then writes one file per video to videos/<channel>/<video-id>.md. Running the sync again does not duplicate files. Videos without captions are skipped, and YouTube Shorts are ignored.

What you get:

  • Local dashboard. A Vite and React UI with channels, videos, blogs, search and a side panel that plays the video next to its transcript.
  • 100 built-in channels across Tech, Programming, Coding, AI, SaaS and News, so an empty library is not a dead end.
  • Optional AI blogs. Pass --ai and TubeLog uses OpenRouter to write an educational post from the transcript. Without that flag nothing calls a model.
  • Extras. Instagram carousels from a transcript, translation, AI voice and dubbing a local video with ffmpeg.
  • Three front doors. The CLI, the HTTP API and the dashboard all call the same core modules, so behavior stays consistent.
bash
git clone https://github.com/shreyvijayvargiya/tubelog.git
cd tubelog
npm install
cp .env.example .env
npm run dev   # http://localhost:3000

Use it when you learn from long videos and want them searchable, or when you write content and need transcripts as research input. Skip it when you need a hosted, multi-user product, because it is built as a local tool. I wrote a longer walkthrough in Tubelog: Turn Any YouTube Channel Into a Markdown Library and AI Blogs.

cizle: launch videos from a URL, grounded in your own site

cizle reads your actual product and writes the video from what it found, instead of inventing claims. Paste a SaaS URL or a GitHub repo and it collects your homepage, llms.txt, blog, FAQ, pricing and docs pages, takes real screenshots with headless Chrome, and has a vision model score the frames. It then builds an evidence-backed brief, writes one to three storyboards, adds a voice-over and renders an MP4 with FFmpeg.

The video types are product showcase, feature highlights, product FAQ, product comparison, glossary explainer and launch teaser. You choose 9:16, 1:1 or 16:9, and audio as voice-over plus music, music only, or silent. Each run also produces burned-in captions, an .srt file and a ready-to-post social caption.

The part I like most is the prompt library. All creative direction is plain Markdown: a laws.md of rules every video follows, one file per video type, and tone files like polished, playful and cinematic. To add a video type you drop a new .md file into prompts/types/, and it shows up in the dashboard dropdown. Prompts are readable, diffable and open to pull requests.

On cost, you pay OpenRouter directly and cizle itself is free. The README estimates roughly $0.10 to $0.15 for a narrated 30-second video, and the dashboard shows an estimate before you generate. Treat those numbers as estimates, since they depend on the models you pick in Settings.

bash
git clone https://github.com/shreyvijayvargiya/cizle.git
cd cizle
npm install
npm run dev   # http://localhost:5173, add your OpenRouter key in Settings

Use it when you are about to launch and need a showcase, a teaser or an FAQ video quickly. It fits well with launching on SaaS directories and Product Hunt, where a short video is often the first thing a visitor sees. Public guides on Product Hunt launch videos generally recommend short, product-first cuts of around 30 to 60 seconds, which is the format cizle targets. Skip it when your product has no public pages or docs, because with nothing to read, the video has nothing to be grounded in.

OpenNote stores every note in your browser's IndexedDB and never talks to a cloud database. There is no Firebase and no Supabase. That puts it in the local-first software camp, where the copy on your device is the primary one and the network is optional.

Features worth knowing about:

  • Tiptap editor with a / slash menu, automatic link detection, tables, images and task lists.
  • Local embeddings. It uses Transformers.js to run vector models in the browser, so the 3D neural map of related notes needs no OpenAI key.
  • MCP bridge. The Model Context Protocol is an open standard Anthropic introduced in late 2024 for connecting AI assistants to tools and data. OpenNote ships a bridge so Claude Desktop can search and read your notes while they stay on your computer. You create a local API key in the app and paste the generated config into claude_desktop_config.json.
  • AI assistant panel. A chat on the right that can read and edit your notes. You bring an OpenRouter key, which stays in your browser and is only sent to openrouter.ai.
  • Reviewable edits. Updates and new notes apply immediately with Keep and Undo buttons. Deletes always ask for confirmation first.
  • Everyday features. Split view for two notes, nested folders with drag and drop, voice dictation, and export to Markdown or HTML.

The assistant reads the live editor, not the database, so text you typed a second ago is included. Tagged notes and selections share a 2,000-token context budget, and long notes are trimmed to a heading outline that the model can expand with a read_note call.

bash
git clone https://github.com/shreyvijayvargiya/opennote.git
cd opennote
npm install
npm run dev   # http://localhost:3000

Use it when you want an AI-capable notes app without handing your notes to a hosted service. Skip it when you need real-time collaboration or sync across devices, since the data lives in one browser. If MCP is new to you, WebMCP, explained through a sweet shop is a gentler introduction.

crm-saas: a CRM UI you can fork

crm-saas is a front-end template with more than 60 production-style screens, not a finished backend. It is built on Next.js with the Pages Router, shadcn/ui, Radix and Tailwind. It has two surfaces: a public agency marketing site at /, and a dense CRM app with sidebar, navbar and AI chat panel at /demo and other routes.

The screens cover sales, operations, finance, marketing, e-commerce, CMS, developer tools and system admin. Kanban boards for leads, tasks and pipeline use dnd-kit, and the charts use Recharts.

Be clear about what it is. There is no database connected at runtime. CRM entities live in React context and are seeded from mock data files, so the app works the moment you run it. To make it real you wire up a backend, and the repo helps with that: Zod schemas in schemas/zod-schemas/, reference SQL in schemas/sql-schemas/, and a data.json describing the expected API shapes. The built-in assistant uses OpenRouter with tool calling against the in-memory CRM snapshot.

bash
git clone https://github.com/shreyvijayvargiya/crm-saas.git
cd crm-saas
npm install
npm run dev   # http://localhost:3002 (port 3002, not 3000)

Use it when you are building a CRM, admin dashboard or internal tool and want a head start on the UI. Skip it when you need working data flows out of the box. For the thinking behind it, read Why I Keep Building CRM Templates and CRM, CMS and admin for businesses.

If your CRM need is narrower, tracking where you have submitted your product, there is a free SaaS Directory CRM on this site, built around the same table-first idea.

What the four repos have in common

  1. Plain files and local data beat hosted databases for personal tools. TubeLog writes Markdown, OpenNote uses IndexedDB, and cizle keeps outputs in data/videos/. You can inspect, back up and delete everything yourself.
  2. AI is bring-your-own-key. All four use OpenRouter for their AI features, so you pick the model and you see the bill. Nothing runs a model unless you ask.
  3. Prompts and config are readable. cizle's creative direction is Markdown. TubeLog's behavior is a config file. When output is off, you edit a file, not a black box.
  4. Each one is small enough to read in an afternoon. That matters if you plan to fork them. The same philosophy shows up in my open-source repository builder and in a small AI agent you can read end to end.

Which one should you start with?

  • You watch a lot of YouTube to learn → TubeLog.
  • You are launching a product this week → cizle.
  • You want private notes that Claude can search → OpenNote.
  • You are building a CRM or admin dashboard → crm-saas.

Frequently asked questions

Are these free to use? Yes. All four are MIT licensed. You only pay for the AI model usage you trigger through your own OpenRouter key, and TubeLog, OpenNote and crm-saas work without AI for their non-AI features. cizle needs a model, since writing and voicing the video is the product.

Do I need an OpenRouter key? Only for AI features: TubeLog's --ai blogs, cizle's script and voice generation, and the chat assistants in OpenNote and crm-saas. Keys stay in your .env or your browser, depending on the app.

Can I run these on a server? They are designed as local tools. You can deploy some of them, but treat that as your own adaptation rather than the intended setup.

Where do I report bugs or send pull requests? On each repo's GitHub issues page. cizle in particular welcomes prompt-library pull requests, since prompts are just Markdown files.

Try them and tell me what breaks

Star the repos you find useful, open an issue when something fails on your machine, and send a pull request if you fix it. The best feedback so far has come from people running these on setups I never tested. For more tools, launch lists and builder write-ups, browse the full blog index, the monthly magazine and the SaaS directories list.

Cheers Shrey

External Links (13)

Explore topics

More in

Weekly letter

Subscribe to iHateReading

Our once-a-week newsletter on programming, jobs, AI, and building products online.

Our once a week newsletter on Programming, Jobs, AI, and Business