Edition No. 3 · 28 Aug 2026
Twelve repositories for the gap between a demo and a signup
Static sites, docs, landing pages, and free voice for drafts.
This is the linked edition, republished at your request. It replaces the first No. 3 published earlier the same day (old version) and adds a link index, an official website for every project, inline links throughout, and a Sources & directions appendix.
Edition 2 built the machine that turns one recording into a week of content. This one asks the harder question: when someone finally arrives, what do they see, and where do they land? Seven entries serve marketing, four sharpen the products, one keeps the whole stack from falling over. Every repository below was opened and checked on GitHub that afternoon.
This edition, in numbers
| Repos | 12 |
| Hidden gems (<3k stars) | 3 |
| Marketing / product | 8 / 4 |
| New to the ledger | 5 |
| Repeats | 0 |
| Links checked | 24 |
If you only do three things
- Record one real Grasppy demo with Cap (01). Grasppy is close to impossible to explain in a sentence and obvious in fifteen seconds of video. Cap's cursor-follow zoom makes a solo founder's screencast look funded, and the share link tells you who actually watched it. The single highest-return afternoon on the page.
- Put a real content site in front of the app with Astro (04). Your React SPA cannot rank — that is structural, not a tuning problem. Astro ships static HTML that Google and the AI crawlers can read, and it is where your
/llms.txt, your blog and any programmatic SEO pages belong. - Draft your Russian narration with edge-tts (03). Free, no key, no GPU, genuinely good Russian voices. Draft every video in both languages at zero cost and spend your ElevenLabs budget only on the cuts you actually publish.
Every link in one place
| # | Repository | Official site | Stars | Licence |
|---|---|---|---|---|
| 01 | CapSoftware/Cap | cap.so | 21.3k | AGPL-3.0 |
| 02 | simonw/shot-scraper 💎 | shot-scraper.datasette.io | 2.5k | Apache-2.0 |
| 03 | rany2/edge-tts | pypi.org/project/edge-tts | 11.7k | GPL-3.0 |
| 04 | withastro/astro | astro.build | 61.7k | MIT |
| 05 | getfider/fider | fider.io | 4.4k | AGPL-3.0 |
| 06 | growthbook/growthbook | growthbook.io | 8.1k | MIT + Enterprise |
| 07 | sns-sdks/python-youtube 💎 | sns-sdks.github.io/python-youtube | 352 | MIT |
| 08 | coollabsio/coolify | coolify.io | 60.9k | Apache-2.0 |
| 09 | docling-project/docling | docling-project.github.io/docling | 65.6k | MIT |
| 10 | MaartenGr/BERTopic | maartengr.github.io/BERTopic | 7.7k | MIT |
| 11 | reaviz/reagraph 💎 | reagraph.dev | 1.1k | Apache-2.0 |
| 12 | blue-yonder/tsfresh | tsfresh.readthedocs.io | 9.2k | MIT |
Show the thing, then give it somewhere to land
Twelve repositories, checked and reviewed. Every version verified against the GitHub API and dated.
21.9k stars · AGPL-3.0 · cap-v0.5.9 (2026-08-11)
Open-source Loom with automatic cursor-follow zoom — an amateur screencast that looks funded.
▶Repo detailsthe review · specs · pros & cons · install
What it is
A desktop screen recorder that captures your screen and webcam and produces a shareable link, in the mould of Loom. Its distinguishing trick is automatic zoom: it follows your cursor and pushes in on whatever you are clicking, without you editing a single keyframe.
Why it matters
Everything else in your marketing depends on someone understanding Grasppy, and the drill-into-a-subtopic idea is exactly the sort of thing that lands in a video and dies in a paragraph. You already own Camtasia, so this is not about replacing your editing suite — it is about the twenty other recordings you will never open Camtasia for: a reply to a support question, a feature teaser, a clip for a cold email. The auto-zoom removes the exact step that makes those feel cheap, and because the share link reports who watched and how far, a demo becomes a measurable marketing asset rather than a file.
- Cursor-follow zoom is genuinely automatic — the polish costs you no editing time
- Share links carry view analytics, so a demo becomes a number and not just a file
- Self-hostable if you ever want the videos on your own Hetzner box instead of theirs
- Overlaps SnagIt and Camtasia — you are adding a fourth recorder, not replacing three
- AGPL-3.0 on the main app. Fine as a tool you use; read it before embedding anything
- The cloud tier is where the sharing lives; self-hosting the sharing half is real work
Later it can run self-hosted alongside your other containers (see Coolify, 08) so demo links live on your own domain.
Standalone tool on your Mac to begin with — nothing touches Grasppy's code.
2.6k stars · Apache-2.0 · 1.11 (2026-07-12)
One YAML file regenerates every screenshot on the site — and since v1.10 it records WebM demo clips too.
▶Repo detailsthe review · specs · pros & cons · install
What it is
A command-line tool that drives a headless browser to take screenshots of web pages, from a single URL or from a YAML file describing dozens of shots. Version 1.10 added video recording, so the same file can also produce short WebM clips of a scripted interaction.
Why it matters
Every marketing site quietly rots: you ship a UI change and the screenshots on your landing page, your docs and your README are suddenly of software that no longer exists. Nobody hand-fixes twenty screenshots, so they simply stay wrong, and a stale screenshot reads as an abandoned product to a first-time visitor. Describe the shots once in a YAML file and regenerating all of them is one command — which means it can run automatically whenever you deploy. It is also the cheapest way to get bilingual assets: point the same shot list at ?lang=ru and you have a complete Russian screenshot set for free.
- Apache-2.0, pure Python — drops into the venv beside FastAPI with no new runtime
- Runs unattended in CI, so screenshots refresh on every deploy instead of never
- Can log in first and shoot authenticated pages — which is where Grasppy's good screens are
- Needs Playwright plus a headless Chromium download — a few hundred MB before the first shot
- Chromium is memory-hungry; run it on your Mac or in CI, not on the VPS serving users
- Getting a login-protected shot right takes a fiddly first hour of scripting
source venv/bin/activate pip install shot-scraper shot-scraper install # downloads headless Chromium, once shot-scraper multi shots.yml # regenerate every screenshot
11.9k stars · GPL-3.0 · 7.2.8 (2026-03-22)
Free Microsoft neural TTS with strong Russian voices and word-boundary timings — no key, no GPU, no cost.
▶Repo detailsthe review · specs · pros & cons · install
What it is
A small Python package that reaches Microsoft Edge's online text-to-speech service without needing Edge, Windows or an API key. It returns MP3 audio plus word-boundary timings, and ships both a command-line tool and a Python API.
Why it matters
You already pay ElevenLabs for voiceover, which is the right call for the version that goes on the channel. The problem is that paying per draft is what stops you from drafting: you write the script once, narrate it once, and never test a second phrasing of the intro. This makes the draft free. Narrate every version, listen back, cut the boring thirty seconds, and only then spend ElevenLabs credit on the final cut — and do the same for the Russian edition, where the Microsoft voices are unusually good.
- Genuinely free, no account, no key, no GPU — it runs on anything
- Russian voices are excellent, which is the half of your channel that is harder to serve
- Word-boundary timings come free, so subtitles line up without a second pass
- It talks to an undocumented Microsoft endpoint. That is a grey area for commercial use, and it can break without notice
- GPL-3.0 — keep it as an external command-line step, never import it into Grasppy or ScalpingMate
- Less expressive than ElevenLabs. Fine for drafts and tutorials, thinner for a polished brand video
source venv/bin/activate
pip install edge-tts
edge-tts --list-voices | grep ru-RU
edge-tts --voice ru-RU-SvetlanaNeural --file script_ru.txt \
--write-media draft_ru.mp3 --write-subtitles draft_ru.vtt62.4k stars · MIT · astro@7.3.1 (2026-09-03)
Static, content-first web framework — the part of the site that can actually rank, because the React SPA cannot.
▶Repo detailsthe review · specs · pros & cons · install
What it is
A web framework built for content-driven sites. It renders pages to plain static HTML by default and ships no JavaScript unless a component genuinely needs it, so pages arrive fast and complete.
Why it matters
This is the structural fix for the problem Unlighthouse (Edition 2) will report and cannot solve. A React single-page app hands a crawler an empty shell and a pile of JavaScript; Google sometimes copes, AI crawlers frequently do not, and Core Web Vitals suffer either way — on exactly the marketing pages that most need to rank. Astro flips it: your blog, your landing pages, your Russian-language pages and your /llms.txt become static HTML at the edge of your domain, while the app itself stays React and unchanged at /app. It is also where programmatic SEO becomes possible — one template plus a list of use cases generates a hundred real, indexable pages.
- MIT, enormous community — Claude Code writes correct Astro on the first attempt
- Static output is cheap to host and near-impossible to make slow
- You can embed React components where you genuinely need interactivity, so nothing is thrown away
- A second front-end codebase to maintain beside the React app — real ongoing cost
- Keeping one visual identity across two builds takes discipline, or the site looks stitched together
- v7 is in beta; start on v6 and do not chase the upgrade mid-project
npm create astro@latest marketing-site cd marketing-site npm run dev # preview at localhost:4321 npm run build # static HTML into ./dist
4.5k stars · AGPL-3.0 · v0.36.1 (2026-07-03)
Self-hosted public feedback board — a roadmap that builds trust, and user language that doubles as keyword research.
▶Repo detailsthe review · specs · pros & cons · install
What it is
A self-hosted feedback board: users post ideas, vote on each other's, and you mark items planned, started or completed. It is one Go binary against a PostgreSQL database, in the same shape as Listmonk from Edition 2.
Why it matters
Two payoffs, and the second is the one people miss. The obvious one: a solo founder's product looks abandoned until there is visible evidence that someone is steering it, and a public board with dated, completed items is that evidence. The subtler one: the posts are your users describing your product in their own words, unprompted. That is the exact vocabulary you should be feeding into OpenSEO (Edition 2) as keyword seeds, and the exact phrasing your landing page should be using instead of yours. Be honest about timing though — an empty board is worse than no board, so this waits until you have a steady trickle of users.
- Single Go binary plus your existing Postgres — near-zero added maintenance
- Voting tells you what to build next, with evidence rather than instinct
- Public boards get indexed, so user-written pages accumulate on your domain
- Search indexing and moderation tooling sit behind a paid Pro key even when you self-host — check this first
- Premature without users; a board with three posts signals the opposite of what you want
- AGPL-3.0, and it is a public-facing service — read the terms before modifying it
That is the exact vocabulary you should be feeding into OpenSEO (Edition 2) as keyword seeds, and the exact phrasing your landing page should be using instead of yours.
Docker container on the VPS with its own database inside your existing PostgreSQL, served at feedback.yourdomain.com .
8.3k stars · MIT core + commercial enterprise directories · v5.0.1 (2026-08-19)
Self-hosted feature flags and A/B tests — flags are worth it today, experiments only once traffic exists.
▶Repo detailsthe review · specs · pros & cons · install
What it is
A self-hosted platform for feature flags and A/B experiments, with a statistics engine that reads results directly from your own data warehouse. It has SDKs for React and Python among two dozen others.
Why it matters
I want to be straight with you about this one, because it is the entry most likely to waste your time if you take it at face value. The experimentation half is not yet useful: reaching statistical significance on a landing-page test needs thousands of visitors, and running underpowered tests is worse than running none because you will act on noise. The flag half, though, is worth it today — shipping a half-finished Grasppy feature behind a flag that only you can see means you stop maintaining long-lived branches, and turning a broken feature off becomes a toggle rather than a redeploy at midnight. Install it for the flags, get the habit, and let the experiments become useful later.
- Flags alone justify it — safer releases, no long-lived branches, instant rollback
- Reads from your own Postgres, so the numbers stay where your data already is
- First-class React and Python SDKs, matching your stack exactly
- Heaviest install here: it wants MongoDB alongside the Postgres you already run
- The experiment engine is useless below a few thousand visitors — do not let it flatter you
- Open core: some directories carry an enterprise licence, so check before relying on a feature
Docker Compose on the VPS with its own MongoDB, plus the JavaScript SDK in the React build and the Python SDK in FastAPI.
353 stars · MIT · v0.9.9 (2026-04-17)
Clean typed Python wrapper for the YouTube Data API — competitor catalogues, weekly deltas and description chores in a cron job.
▶Repo detailsthe review · specs · pros & cons · install
What it is
A clean, typed Python wrapper around the YouTube Data API. It covers channels, playlists, videos, comments and search, handles OAuth, and returns proper objects instead of raw dictionaries.
Why it matters
YouTube Studio tells you about today. It is poor at telling you about trends, useless for tracking anyone else, and it cannot do a chore across forty videos at once. With this, three jobs become scripts you write once with Claude Code and forget: pull every video from the five channels teaching similar tools and diff it weekly, so a competitor's new topic arrives as a notification rather than a discovery three months late; snapshot your own titles, views and descriptions into PostgreSQL nightly, so you can see which bilingual pairing outperforms; and rewrite the link block in every description in one pass when a URL changes.
- MIT, pure Python, typed — installs into your FastAPI venv with no dependency fight
- Turns competitor research into a scheduled job instead of an afternoon of tab-hopping
- Steady, unglamorous maintenance and clear documentation
- Data API only. Click-through rate and retention live behind the separate Analytics API — the two numbers you most want
- The 10,000-unit daily quota is a real ceiling; a careless search loop burns it before lunch
- Google Cloud project plus OAuth consent screen is a genuinely tedious first hour
source venv/bin/activate pip install python-youtube
61.5k stars · Apache-2.0 · v4.3.17 (2026-09-04)
Self-hosted Heroku for the Hetzner box — push-to-deploy, automatic HTTPS, scheduled Postgres backups from a UI.
▶Repo detailsthe review · specs · pros & cons · install
What it is
A self-hosted platform-as-a-service you install on your own server: push-to-deploy from Git, automatic HTTPS certificates, environment variables, logs and scheduled database backups, all from a web interface.
Why it matters
This is the wildcard, and it is here because of arithmetic. Across three editions the radar has now suggested a dozen self-hosted services, and each one you install is another container to renew a certificate for, another database to remember to back up, another thing that fails silently at 3am. That burden lands entirely on one person who would rather be doing marketing. Coolify collapses it into one screen — deploys, TLS, logs and, crucially, scheduled Postgres backups you configure once. The honest caveat is that it becomes a single point of failure, so do not migrate Grasppy into it first. Put the next thing you deploy behind it, live with it for a fortnight, and move the important things only once you trust it.
- Scheduled database and volume backups from a UI — the thing solo founders skip until it hurts
- Automatic HTTPS renewal across every service, which removes a whole category of outage
- Apache-2.0 with a large, active community and frequent releases
- Wants around 2GB of RAM for itself — real money on a Hetzner box already running two apps
- Becomes a single point of failure: if Coolify breaks, everything it manages is harder to reach
- PHP/Laravel is another runtime in your life, even though you never write any of it
Install on the VPS with the one-line script from coolify.io.
66.1k stars · MIT · v2.126.0 (2026-09-04)
IBM's document parser — PDF, DOCX, PPTX, XLSX, EPUB and more into structured Markdown, locally on CPU.
▶Repo detailsthe review · specs · pros & cons · install
What it is
A document parser from IBM Research, now under the LF AI & Data Foundation, that converts PDF, DOCX, PPTX, XLSX, HTML and images into clean structured Markdown. It preserves reading order, headings and table structure, and runs locally on CPU.
Why it matters
Grasppy's pitch already says "chat, discussion or document", but the document half only becomes real when someone can drop a 90-page PDF on the page and get a map back. That is the moment the addressable audience changes shape: not just people with long AI conversations, but anyone holding a research report, a contract, a set of meeting minutes or a textbook chapter. Docling is the shortest credible path there, and because it runs on CPU locally, no document ever leaves your VPS — a real selling point for anyone considering pasting something confidential. Its Markdown output feeds straight into Chonkie (Edition 2).
- MIT and local — no per-page API fee and no document leaving your server
- Keeps tables and headings intact, which is exactly what a subtopic map depends on
- Enormous, very active project with institutional backing behind it
- First run downloads several hundred MB of layout and table models — plan the disk and the cold start
- A long scanned PDF takes minutes on CPU. This must be a background job with a progress indicator, never a request
- Fast-moving version numbers; pin the version or an upgrade will change your output shape
Its Markdown output feeds straight into Chonkie (Edition 2).
source venv/bin/activate pip install docling docling my-document.pdf --to md # first run downloads the models
7.8k stars · MIT · v0.17.4 (2025-12-03)
The standard way to turn a long thread into named subtopics with a parent/child hierarchy and a timeline view.
▶Repo detailsthe review · specs · pros & cons · install
What it is
A topic-modelling library that embeds documents, clusters them, and labels each cluster with the words that distinguish it. It supports hierarchical topics, topics over time, and swapping in your own embedding model.
Why it matters
This is the economic counterweight to GraphRAG from Edition 1. GraphRAG produces a beautiful nested hierarchy and charges you thousands of LLM calls per document to do it — fine as a premium tier and ruinous as the default path for a free trial. BERTopic reaches a comparable structure by clustering embeddings, so the marginal cost of mapping a conversation is CPU time rather than API spend. Its hierarchical mode gives you the parent/child structure the drill-in UI needs, and its topics-over-time view is close to a feature in itself. Pair it with model2vec (Edition 1) as the embedding backend and the whole thing fits comfortably on the Hetzner box.
- MIT, mature, and by far the best-documented library in this space
- Hierarchical topics map directly onto Grasppy's drill-in interaction
- Pluggable embeddings, so model2vec keeps it inside your RAM budget
- Default settings are memory-hungry — the UMAP and HDBSCAN steps will bite on a small VPS
- Clustering is non-deterministic, so the same chat can produce a slightly different map twice. Users notice
- The outlier bucket (topic
-1) can swallow a lot of text; you must handle it in the UI
source venv/bin/activate pip install bertopic
1.1k stars · Apache-2.0 · npm v4.32.0 (2026-06-25); no GitHub releases
WebGL 2D/3D graph canvas for React with clustering — the zoomed-out constellation view that hands off to React Flow.
▶Repo detailsthe review · specs · pros & cons · install
What it is
A React graph-visualisation library that renders nodes and edges in WebGL, with fifteen or more built-in layouts, clustering, path-finding and both 2D and 3D modes. It is built for graphs too large to draw as HTML elements.
Why it matters
React Flow from Edition 1 is the right canvas for Grasppy's detail view, and it starts to struggle somewhere past a thousand or two visible nodes because every node is a real DOM element. A 500-message thread with nested subtopics reaches that. Reagraph is the answer to that specific ceiling rather than a replacement: WebGL draws the whole constellation at once, the user picks a cluster, and you hand off to React Flow for the readable drill-in. Worth noting that the repository ships a CLAUDE.md, which means Claude Code has maintainer-written guidance for it.
- WebGL handles node counts that make DOM-based canvases stutter
- Clustering and fifteen layouts built in — no hand-rolled force simulation
- Apache-2.0, and the repo carries a CLAUDE.md for Claude Code to follow
- Small team, 1.1k stars — real bus-factor risk for something load-bearing in your UI
- Releases ship to npm without matching GitHub release notes; pin the version and read the changelog
- WebGL nodes are not React components, so you cannot reuse your existing card UI inside them
npm install reagraph
9.3k stars · MIT · v0.21.2 (2026-05-31)
Extracts 700+ statistical features from price windows and filters them by significance — indicators without inventing them.
▶Repo detailsthe review · specs · pros & cons · install
What it is
A library that extracts hundreds of statistical features from time-series windows — trends, autocorrelations, entropy, peak counts and far more — then runs hypothesis tests to discard the ones with no relationship to your target.
Why it matters
ScalpingMate's real problem is not building strategies, it is the search space. Hand-picking indicator combinations means you test the twenty ideas you happened to think of, and your 2%-a-month target then depends on your imagination rather than on the data. This inverts it: cut three years of EURUSD into windows, label each by what price did next, extract everything, and let the statistical filter tell you which properties actually carry signal. It complements STUMPY from Edition 1 rather than competing — STUMPY finds shapes that repeat, tsfresh finds properties that predict — and whatever survives either search should go straight to backtesting.py (Edition 2) before you believe a word of it.
- MIT, so nothing stops you shipping it inside a commercial ScalpingMate
- The significance filter is the point — it is feature selection, not just feature generation
- Outputs a plain pandas table that drops straight into any model or backtester
- The full feature set on a million bars will exhaust a small VPS. Start with
MinimalFCParameters - Survivors are correlations, not edges — plenty will evaporate once you subtract spread and slippage
- Many extracted features are effectively uninterpretable, which makes trusting a live signal harder
Feed those into a strategy and judge it in backtesting.py.
source venv/bin/activate pip install tsfresh
Checked, and left out
Nothing to show for this edition. Recording the repositories that were checked and rejected began with Edition No. 4, and every edition from there on has the list.