Edition No. 3 · 28 Aug 2026

Show the thing, then give it somewhere to land

Repo Radar No. 3. Show the thing, then give it somewhere to land.

Edition 2 built the machine that turns one recording into a week of content.

By Genn·12 repositories·11 min read

Refreshed on 12 October 2026. The repositories are the ones first published; any that are no longer maintained are left out.

Friday, 28 August 2026. Twelve repositories about showing software to people and giving them somewhere to arrive. Every figure below was read again on 12 October 2026, and every entry was rewritten from what was found that day.

All twelve are still maintained. None is archived, none has been renamed, and the newest code in the whole set landed two days before this rewrite.

Three things worth knowing

- One entry's version claim had gone stale, and it is corrected here. This edition first described Astro as version 6 with version 7 in testing. Version 7 has shipped: the package registry gives 7.3.8 as the current release. Nothing else in the twelve had a wrong version. - Two repositories could not be checked the usual way. The mirror this report uses for code dates refused getfider/fider and sns-sdks/python-youtube on five attempts between them, so no code date was obtained for either. Both have a release inside the last six months, both pages load, and neither is called dormant here. - One release date is from today. docling-project/docling published version 2.138.0 on the morning of this rewrite, which makes it the fastest-moving project in the set by a wide margin.

If you only do three things

  1. rany2/edge-tts (#3) — two minutes. One command turns a text file into spoken audio with a subtitle file beside it. No account, no key, no payment.
  2. docling-project/docling (#9) — twenty minutes, on a document you have already failed to copy text out of once. It reads PDFs, Word files, slides and spreadsheets and writes clean text with the tables intact.
  3. CapSoftware/Cap (#1) — one afternoon. Record the screen, let it zoom in on the pointer by itself, and send the link to somebody who has never seen the software.

Show the thing, then give it somewhere to land

Twelve repositories, checked and reviewed. Every version verified against the GitHub API and dated.

Cap: screen recordings you can send. Records the screen and camera, then gives you a link.

21.9k stars · AGPL-3.0 · cap-v0.5.9 (2026-08-11) · Track this in Scout · Share this tool

Open-source Loom with automatic cursor-follow zoom — an amateur screencast that looks funded.

▶Repo detailsthe review · specs · pros & cons · install

What it does

It records the screen, the camera and the microphone. It has two modes, named in its own documentation. Instant Mode uploads while you are still recording and gives you a link the moment you stop. Studio Mode records to the machine first and then opens an editor for backgrounds, zooms, trimming, captions and export. The share page takes comments and reactions and reports who watched. Recordings can live in the project's own cloud, in a storage bucket of your own (Amazon S3, Cloudflare R2, Backblaze B2, MinIO and Wasabi are all named), or only on the machine that made them. It can also run on a server you control: the README gives git clone followed by docker compose up -d, where Docker is a way of running a program inside its own sealed box so it cannot disturb anything else. What it does not do is run as a desktop program on Linux, because the downloads are Mac and Windows only, and the self-hosted build needs a token from a separate data service before it will report viewer counts at all.

Why it matters

Who it suits. Anyone who has to explain software to people who are not in the room, and who would rather send a two-minute recording than write four paragraphs. The automatic zoom is the part that earns its place: it follows the pointer and pushes in on whatever is being clicked, so an ordinary recording comes out looking deliberate with no editing work. Skip it if a recorder that does the job is already installed, because this adds one more rather than replacing three.

Verdict. Worth an afternoon. Download it, record one real explanation of something, and watch it back before you send it. Two things to settle first. The licence on the main application is AGPL-3.0, which is fine for a tool you use and a serious question if you ever want to build it into something you ship; only the cap-camera* and scap-* crate families are under the more permissive MIT licence. And the sharing half is where the paid service lives, so running the whole thing yourself is real work rather than a flag you set. The project is busy and current: release 0.6.0 on 15 September 2026, code landed on 10 October 2026, and 9,149 commits since November 2023. If you want the heavyweight free alternative, obsproject/obs-studio does far more and asks far more of you.

Stars21.9k
LicenceAGPL-3.0
Latestcap-v0.5.9 (2026-08-11)checked 7 Sep 2026
Written inRust
NeedsDocker Compose, Docker and MySQL
RunsSelf-hosted on your own server
Setup effort
2 / 5
Payoff
5 / 5
Good
  • The zoom follows the pointer on its own, so a plain recording looks edited without any editing.
  • Recordings can stay on the machine, go to a bucket you own, or go to the project's cloud, and that choice is yours per recording.
  • The share page reports who watched and how far, which turns a video into a number rather than a file you hope landed.
Watch for
  • No Linux desktop download: Mac and Windows only.
  • AGPL-3.0 on the application, which is a licence to read carefully before embedding any of it in something you distribute.
  • 210 open issues and 204 open pull requests, and the viewer counts in a self-hosted install need an account with a separate data service.
Works well with

Later it can run self-hosted alongside your other containers (see Coolify, 08) so demo links live on your own domain.

Install
git clone https://github.com/CapSoftware/Cap.git
cd Cap
docker compose up -d
# the web application is then at http://localhost:3000
Screenshots
CapSoftware/Cap: GitHub preview cardCapSoftware/Cap: Screenshot 1
02

simonw/shot-scraper

💎 hidden gem
shot-scraper: screenshots on demand. One file lists every shot, one command takes them all again.

2.6k stars · Apache-2.0 · 1.11 (2026-07-12) · Track this in Scout · Share this tool

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 does

You give it a web address and it saves a picture of that page, named after the site. You can instead give it a file listing many shots, each with its own address, size, waiting rules and output name, and it takes all of them in one run. It can run your own instructions inside the page before the picture is taken, which is how you dismiss a cookie banner or log in first. The shot-scraper javascript command runs code against a page and prints what it returns, so the same tool reads data as well as photographs it. It can record short videos of a scripted interaction. It is built on a browser automation library, which is why it needs its own browser installed once, and the project ships a template repository so the whole thing can run on a schedule without anything installed on your own machine. What it does not do is state any limits at all in its README, and it is not a visual testing tool: it takes the pictures and compares nothing.

Why it matters

Who it suits. Anyone who keeps pictures of a working program on a website, in documentation, or in a README, and who has watched them quietly become pictures of software that no longer exists. A stale screenshot reads as an abandoned project to a first-time visitor, and this is the cheapest way to make that impossible. It also suits anyone who needs the same page photographed in several languages or screen sizes, since that is a few more lines in the same file. Skip it if you need two pictures a year, because taking those by hand is quicker than learning this.

Verdict. Worth an hour, and the easiest hidden gem in the set at 2,566 stars. The reason to take it seriously is that the description is a file rather than a habit: once the shots are written down, nothing depends on anyone remembering to take them again. Three honest notes. The first run downloads a headless browser of a few hundred megabytes, so plan the disk. That browser is memory-hungry, which makes this a job for a workstation or a scheduled runner rather than a small machine that is also serving visitors. And getting a signed-in page photographed correctly takes a fiddly first hour of scripting. Release 1.12 landed on 13 September 2026 and code on 12 July 2026, from a maintainer who has kept it going since March 2022.

Stars2.6k
LicenceApache-2.0
Latest1.11 (2026-07-12)checked 7 Sep 2026
Written inPython
RunsLocally, on your own machine
Setup effort
2 / 5
Payoff
4 / 5
Good
  • Apache-2.0 and pure Python, so it drops into an existing environment without a new runtime.
  • One file describes every shot, so the whole set is remade by one command and can run on a schedule.
  • It can act on the page first, which means signed-in screens and dismissed banners are reachable.
Watch for
  • The first install pulls down a headless browser of a few hundred megabytes.
  • That browser wants a lot of memory, so it is a poor fit for a small machine with visitors on it.
  • The README states no limitations and no supported Python versions, so the first hour is partly trial and error.
Install
python3 -m venv venv
source venv/bin/activate
pip install shot-scraper
shot-scraper install                  # downloads the browser, once
shot-scraper https://example.com/     # one picture
shot-scraper multi shots.yml          # every picture described in the file
Screenshots
simonw/shot-scraper: GitHub preview card
edge-tts: text turned into speech. Writes an audio file and a subtitle file from a text file.

11.9k stars · GPL-3.0 · 7.2.8 (2026-03-22) · Track this in Scout · Share this tool

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 does

You install it and run edge-tts with some text. It sends the text to Microsoft Edge's online speech service and writes back an audio file, with --write-media, and a subtitle file with word timings, with --write-subtitles. The README states plainly that it needs neither the Edge browser, nor Windows, nor an interface key. --list-voices prints the voices on offer and --voice picks one. Speed, volume and pitch are adjustable with --rate, --volume and --pitch. A second command, edge-playback, speaks text straight out of the speakers and needs the mpv player everywhere except Windows. It is importable as a Python module, so a script can do the same work in a loop. What it does not do is accept detailed speech markup any more: the README says that support was removed because the service only accepts the markup Edge itself produces, which is one voice tag with one prosody tag inside it. edge-playback also refuses the file-writing and voice-listing options.

Why it matters

Who it suits. Anyone who narrates anything and is currently paying per word for it, and anyone who needs a spoken version of a page or a document in a language they do not speak. Paying per attempt is what stops people trying a second phrasing, and this makes the attempt free. It also suits anyone who needs subtitles, because the word timings arrive with the audio rather than from a second pass. Skip it if the recording has to be legally licensed for commercial use, which brings us to the warning below.

Verdict. The two-minute item in this edition, and the best value in it. One command and you have audio. Three things to be clear about. It talks to an undocumented endpoint belonging to a large company, so commercial use is a grey area and the whole thing can stop working without notice. The licence is GPL-3.0, so keep it as a separate command you call and do not import it into closed-source software. And it is less expressive than the paid services, which makes it right for drafts, tutorials and accessibility and thinner for a polished advertisement. Release 7.2.8 and the newest code are both from 22 March 2026, which is nearly seven months of quiet with five open issues, so this reads as a small finished tool rather than a busy one. For speech generated entirely on your own machine instead, OHF-Voice/piper1-gpl is the live successor to a popular local engine.

Stars11.9k
LicenceGPL-3.0
Latest7.2.8 (2026-03-22)checked 7 Sep 2026
Written inPython
RunsLocally, on your own machine
Setup effort
1 / 5
Payoff
4 / 5
Good
  • Free with no account, no key and no graphics card, so it runs on anything.
  • Word-level subtitle timings come out alongside the audio, so captions need no second pass.
  • Both a command you type and a Python module you import, and 12,091 stars with only five open issues.
Watch for
  • It depends on an undocumented service belonging to someone else, which can change or close at any time.
  • GPL-3.0, so it should stay an external command rather than a library inside a closed product.
  • Detailed speech markup was removed, and the newest code is from March 2026.
Install
pipx install edge-tts          # the commands only, in their own environment
# or, to use it from your own code:
python3 -m venv venv
source venv/bin/activate
pip install edge-tts
edge-tts --list-voices
edge-tts --voice en-GB-SoniaNeural --file script.txt \
         --write-media draft.mp3 --write-subtitles draft.vtt
Screenshots
rany2/edge-tts: GitHub preview card
Astro: pages that arrive finished. Builds plain HTML and sends almost no JavaScript.

62.4k stars · MIT · astro@7.3.1 (2026-09-03) · Track this in Scout · Share this tool

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 does

You describe pages in files, and it renders them to plain HTML at build time. By default it ships no JavaScript to the browser at all, and interactive components are opted into one at a time. It has official connections to the interface libraries people already use, with React, Preact, Solid, Svelte and Vue all named, and to the common hosting services, with Node, Vercel, Cloudflare and Netlify all named. It handles Markdown and MDX, sitemaps and feeds, so a blog and a documentation section need no extra machinery. It ships editor support as well: a language server, a TypeScript plugin, a Visual Studio Code extension and an astro check command that type-checks a site. The repository is a monorepo of 20 published packages with 14,861 commits on its main branch. What it does not do is state a single limitation in its README, and it does not state a minimum version of Node.js anywhere on that page either, which leaves both to the documentation site.

Why it matters

Who it suits. Anyone whose public pages are mostly words and pictures, and who wants them to arrive quickly and be readable by anything that fetches them. It fits a documentation site, a blog, a marketing section or a set of generated pages particularly well. It also fits a team that has an interactive application already and wants the readable pages in front of it, because the two can live at different addresses. Skip it if the thing you are building is one highly interactive screen, because then almost every page needs the JavaScript this framework exists to avoid sending.

Verdict. Worth a weekend if public pages matter, and it is the most popular project in the set at 62,220 stars. The version claim in this edition was the one fact that had gone out of date: version 7 is now the current release, 7.3.8 at the package registry, and the advice to start on version 6 is withdrawn. Start on 7. Two honest costs. A second way of building pages is a second thing to keep patched, and keeping one visual identity across two builds takes discipline or the result looks stitched together. And the repository is busy in a way that matters when you pick a version: 20 packages, 90 open pull requests, and a release on 8 October 2026 for one of its hosting packages. Code landed on the framework itself on 1 September 2026. If you prefer no JavaScript framework at all, gohugoio/hugo is the fastest plain static builder; if your interactive pieces are written with Vue, nuxt/nuxt covers the same ground from that side.

Stars62.4k
LicenceMIT
Latestastro@7.3.1 (2026-09-03)checked 7 Sep 2026
Written inTypeScript
RunsLocally, on your own machine
Setup effort
3 / 5
Payoff
5 / 5
Good
  • Plain HTML output by default, which is cheap to host and hard to make slow.
  • Interactive components from five different libraries can be mixed into the same site, so existing work is not thrown away.
  • MIT licence, 20 maintained packages, and editor and type-checking support shipped by the project itself.
Watch for
  • A second build to maintain beside an existing application, which is a real ongoing cost.
  • The README states no limitations and no minimum Node.js version, so the documentation site is unavoidable.
  • A fast-moving monorepo with 90 open pull requests, and a major version that has changed under anyone who started a year ago.
Install
npm create astro@latest marketing-site
cd marketing-site
npm run dev        # preview, usually at http://localhost:4321
npm run build      # finished pages into ./dist
npx astro check    # type-check the site
Screenshots
withastro/astro: GitHub preview card
Fider: one page for customer requests. Customers post requests, others vote, the popular ones get planned.

4.5k stars · AGPL-3.0 · v0.36.1 (2026-07-03) · Track this in Scout · Share this tool

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 does

Fider puts up a public board at an address you choose. Anyone who signs in can post an idea, vote on anybody else's, and reply in a threaded comment. The person running the board gives each post a status and writes an official response, which sends an email to everyone who voted and can also send a message to another system through a webhook. Each board gets its own title, welcome message, branding and shareable link, and search across posts. Posts can be tagged and grouped. Signing in is by a link emailed to you, with optional sign-in through Google, GitHub or Facebook; voting requires being signed in, which is deliberate — it is what stops one person voting fifty times — and it is also the main thing people grumble about. It is translated into several languages, and a multi-board mode serves separate boards on separate subdomains. It ships as a single program written in Go serving a browser interface, backed by PostgreSQL 12 or newer, distributed as a container. It will not run usefully without an outbound email provider — one of SMTP, Mailgun or Amazon SES is mandatory and the no-reply address has no default. It is not a help desk: there are no agents, queues, assignment, service-level targets, canned replies or private one-to-one conversations, because everything on it is public. It is not a live chat widget and not a customer-records system. There is no built-in roadmap board, no mobile app and no in-application widget — you send people a link.

Why it matters

Who it suits. Anyone shipping software to more than a few dozen people who is currently guessing what to build next, and who would rather have the argument in public than in a support inbox. It suits open-source maintainers particularly well, because the board doubles as a filter: an idea nobody votes for is an answer in itself. Skip it if what you actually need is a ticket queue with assignment and private threads — that is a different product — and skip it if you have no way to send email.

What people say. Independent editorial coverage of Fider is genuinely thin for a nine-year-old project, and we would rather say so than pad it. The one real hands-on account is by Isaac Johnson, a named cloud architect, at freshbrewed.science on 3 June 2025, and it is useful precisely because it is critical: his container kept crashing until he filled in the mail settings, he found the email verification for the first administrator "seems silly", the verification message never arrived and he had to dig the link out of his mail provider's logs, and he noted that the sign-in-by-email model "might be a challenge". His conclusion after moving it to Kubernetes with a mail provider and TLS was "Once in Kubernetes, it worked like a charm". He sells nothing and has no connection to the project. The second useful source is the project's own security record: advisory GHSA-wjrq-7x2x-9p48, published 5 October 2026, was reported by an outside researcher and describes unescaped user names and post titles landing misleading links in other people's notifications; it was patched the same day in version 0.38.2, with an honest note that notifications created before the upgrade are not rewritten. Fider also appears as a one-click template on several hosting platforms — Railway, Hostinger, Dokploy — which is evidence of distribution rather than quality, and every one of those companies makes money when you deploy through them.

Verdict. The most complete product in this edition, and the reason it earns a second outing: nine years old, code pushed the day before this was written, a release five days before that whose headline content is two externally reported security fixes plus a hardening pass, and 31 open issues against 4,572 stars — a tracker somebody is grooming rather than abandoning. Run it for an evening and the hard part is the mail provider, not the software. Four practical warnings. Encryption is off by default and the program binds every network interface on port 3000, with the documented container mapping that to port 80, so put a proxy in front. Signups are open by default. The docker-compose.yml in the repository is a development file full of hardcoded passwords — do not deploy it. And there is no latest tag on its container registry, so pin a version. The closest alternatives are logchimp/logchimp and clearflask/clearflask; the second is Apache-2.0 rather than AGPL, which matters if the network clause is a problem.

Stars4.5k
LicenceAGPL-3.0
Latestv0.36.1 (2026-07-03)checked 7 Sep 2026
Written inGo
RunsSelf-hosted on your own server
Setup effort
2 / 5
Payoff
3 / 5
Good
  • Plain unmodified AGPL-3.0 read from the file, with no added conditions. The 250-item limit and the paid tier belong to the company's hosted service, not to the licence or the self-hosted version.
  • Hardening defaults that are right rather than convenient: no shipped credential, a signing secret that is mandatory with no default so it cannot start with a baked-in key, outbound webhooks blocked from reaching private networks, the measurements endpoint off, and a 25 MB request limit and iframe restrictions added in the newest release.
  • A tidy project: 31 open issues on a nine-year-old repository with 4,572 stars, an outside security report patched the same day it was published, and no curl … | bash anywhere in the install.
Watch for
  • It does nothing without an email provider. One of SMTP, Mailgun or Amazon SES is mandatory, the no-reply address has no default, and the first administrator is created by a code sent in an email — which one named reviewer never received.
  • Encryption is off by default, it binds every network interface, and new signups are open by default. The repository's own compose file is for development and ships a database password of fider_pw.
  • Voting requires signing in, which keeps the numbers honest and loses you the casual vote. And there is no latest container tag, so an unpinned pull does not resolve the way most people assume.
Replaces

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.

Install
docker compose pull
docker compose up -d
docker compose logs app
Screenshots
getfider/fider: GitHub preview cardgetfider/fider: Screenshot 1
GrowthBook: switches and experiments. Releases a feature to a few people, then measures what happened.

8.3k stars · MIT core + commercial enterprise directories · v5.0.1 (2026-08-19) · Track this in Scout · Share this tool

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 does

You run it and connect your own data. It stores switches with rules about who sees what, so a feature can be released to a percentage of visitors, to named accounts, or to nobody. It runs experiments and measures them with a statistics engine that the README describes in detail, naming sequential testing, Bayesian methods, post-stratification, bandits and sample-ratio checks. Metrics are defined in SQL over data you already store, and it names 11 supported warehouse sources, with BigQuery, Snowflake and Databricks among them. There are 24 software kits for different languages, with React, Python, Android and iOS named on the page. It also carries its own dashboards, a web interface, an outgoing-event mechanism and a programming interface. What it does not do is run without a document database: its own hosting page states that it needs MongoDB or something compatible to hold logins, cached results and settings, and it advises against the bundled database image in production.

Why it matters

Who it suits. Teams that release often enough to want a switch instead of a redeploy, and anyone whose numbers already sit in a warehouse and would rather not copy them into a third-party service to measure an experiment. Reading results where the data already lives is the real argument for this one. Skip the experiment half entirely if you have a few hundred visitors a week, because an underpowered test is worse than no test: it produces a confident answer from noise and somebody acts on it.

Verdict. Install it for the switches and let the experiments become useful later. That split is the honest advice, and it is unchanged since this edition first said it. Three costs to plan for. It is the heaviest install in this part of the edition, because it wants MongoDB alongside whatever warehouse you are reading from. It is open core, so most of the code is MIT but several directories carry a commercial enterprise licence, and the licence file is the only place that says which. And the project is large and busy, with 637 issues open against 228 pull requests, which is a lot of traffic to read before relying on one specific feature. Release 5.1.0 landed on 22 September 2026 and code on 18 September 2026. If you want switches alone and nothing else, Unleash/unleash and flagsmith/flagsmith both do that job with less to install.

Stars8.3k
LicenceMIT core + commercial enterprise directories
Latestv5.0.1 (2026-08-19)checked 7 Sep 2026
Written inTypeScript
NeedsDocker Compose and Docker
RunsSelf-hosted on your own server
Setup effort
4 / 5
Payoff
3 / 5
Good
  • The switches alone justify it: safer releases, no long-lived branches, and turning a broken feature off is a toggle.
  • Metrics are defined in SQL over your own warehouse, so the numbers never leave the place they already live.
  • 24 software kits and 11 warehouse sources, and the statistics engine is described rather than hidden.
Watch for
  • It needs MongoDB for its own settings, which is an extra database to run and back up.
  • Open core: several directories are under a commercial licence, and only the licence file says which ones.
  • 637 open issues against 228 open pull requests, and the experiment engine is useless below a few thousand visitors.
Install
git clone https://github.com/growthbook/growthbook.git
cd growthbook
docker compose up -d
# then open http://localhost:3000
Screenshots
growthbook/growthbook: GitHub preview cardgrowthbook/growthbook: Screenshot 1
07

sns-sdks/python-youtube

💎 hidden gem
python-youtube: channel data in Python. Reads a video platform's public data as Python objects.

353 stars · MIT · v0.9.9 (2026-04-17) · Track this in Scout · Share this tool

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 does

You install it and create a client with either a simple access key or a user-authorised token. It covers the platform's public data methods, including the ones that create and change things, and the README says all resource methods are covered. It handles the sign-in dance that produces a user token. Results come back as Python objects with a .to_dict() method, or as the raw reply if you ask for that with return_json=True. The project recommends the newer pyyoutube.Client interface and keeps the older pyyoutube.Api for code that already uses it. It is 542 commits and 352 stars, with 15 issues open, and MIT licensed. What it does not do is reach the private measurements: this is the public data interface only, so the numbers an owner sees about how long people watched and how often they clicked are not here, and the README does not state a minimum Python version.

Why it matters

Who it suits. Anyone who wants to watch a set of channels over time rather than look at one dashboard today. Three jobs become short scripts: list every video from a set of channels and compare the list weekly, so a new topic from someone else arrives as a message rather than a discovery months later; record titles, views and descriptions into a database each night, so you can see which ones grew; and rewrite the same block of text across forty descriptions in one pass. Skip it if what you want is the private measurements, because those live behind a different interface.

Verdict. Worth two hours, and it is the smallest project in this edition at 352 stars. The small size is the risk and the honest reason it is called a gem: it is a thin, typed wrapper that one maintainer has kept tidy across 542 commits, and if it stopped tomorrow the code it replaces is well documented. Three practical warnings. The daily reading allowance is a real ceiling, and a careless search loop will spend it before lunch. Setting up a project with the platform's owner and getting through the consent screen is a genuinely tedious first hour. And the mirror this report uses for code dates refused this repository on five attempts, so there is no code date here; currency rests on release 0.9.9 of 17 April 2026, and it is explicitly not called dormant. The official alternative is googleapis/google-api-python-client, which is in maintenance mode by its own statement.

Stars353
LicenceMIT
Latestv0.9.9 (2026-04-17)checked 7 Sep 2026
Written inPython
RunsLocally, on your own machine
Setup effort
2 / 5
Payoff
4 / 5
Good
  • MIT, pure Python and typed, so it installs into an existing environment without a dependency fight.
  • Replies arrive as objects, with the raw version still available when you need it.
  • It turns watching other people's channels into a scheduled script rather than an afternoon of clicking.
Watch for
  • Public data only: the private watch-time and click-through numbers are behind a different interface.
  • A daily reading allowance that a careless loop will exhaust, plus a tedious first hour of access setup.
  • 352 stars and one maintainer, and no code date could be obtained for this rewrite.
Install
python3 -m venv venv
source venv/bin/activate
pip install --upgrade python-youtube
Screenshots
sns-sdks/python-youtube: GitHub preview card
Coolify: deployments from one page. Manages machines, applications and databases over a secure shell.

61.5k stars · Apache-2.0 · v4.3.17 (2026-09-04) · Track this in Scout · Share this tool

Self-hosted Heroku for a single server — push-to-deploy, automatic HTTPS, scheduled Postgres backups from a UI.

▶Repo detailsthe review · specs · pros & cons · install

What it does

You install it on a Linux machine and connect the machines it should manage. The README says all it needs is a secure shell connection, and it names rented servers, bare metal and small home computers as equally fine. From the web interface it deploys static sites, applications from a code repository, and databases, and the repository description counts more than 280 services installable in one click. It issues and renews certificates, shows logs, holds settings, and runs scheduled database backups. The project is explicit about one design choice that matters: configurations for the applications and databases it manages are stored on the machine itself, so if you stop using this you can keep running what it set up. There is a paid hosted version for anyone who does not want to run the manager. What it does not do is publish its own requirements on the repository page: there is no memory figure, no processor figure and no list of supported Linux versions there, and the README sends you to its documentation site for all of it.

Why it matters

Who it suits. Anyone looking after a handful of services alone, who would rather spend the time on the work than on certificate renewals and backup scripts. The scheduled backups are the part that pays for itself, because they are the job people skip until the day it matters. It also suits anyone who wants a deployment button without handing the hosting to a company. Skip it if you run one program on one machine, because a manager is then more moving parts than the thing it manages.

Verdict. Worth a weekend, with one rule: do not move the most important thing into it first. The honest caveat is that it becomes a single point of failure, so the right first step is to put the next thing you deploy behind it, live with that for a fortnight, and move anything you care about only once it has earned the trust. At 62,584 stars this is the second most popular project in the edition, and it is moving quickly: release 4.4.6 on 9 October 2026 and code on 4 October 2026, with 16,799 commits behind it. Two more things to know. The recommended arrangement is one machine for the manager and separate machines for what it deploys, which is a second rental rather than a free lunch. And 512 issues are open against 146 pull requests, which for a program that holds the keys to everything is worth a look before you commit. If you want something smaller, dokku/dokku is the long-established command-line version of this idea.

Stars61.5k
LicenceApache-2.0
Latestv4.3.17 (2026-09-04)checked 7 Sep 2026
Written inPHP
RunsSelf-hosted on your own server
Setup effort
3 / 5
Payoff
4 / 5
Good
  • Scheduled database and volume backups from a web page, which is the chore most people skip.
  • Certificate renewal across every service it manages, which removes a whole class of outage.
  • What it deploys keeps its configuration on the machine, so leaving the platform does not strand the services.
Watch for
  • It becomes a single point of failure: if the manager breaks, everything it manages is harder to reach.
  • The repository page publishes no memory, processor or operating-system requirements at all.
  • 512 open issues against 146 pull requests, and the recommended layout needs a second machine for the manager itself.
Install
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash
Screenshots
coollabsio/coolify: GitHub preview cardcoollabsio/coolify: Screenshot 1coollabsio/coolify: Screenshot 2coollabsio/coolify: Screenshot 3coollabsio/coolify: Screenshot 4
Docling: documents turned into clean text. Reads PDFs, office files, images and audio into one format.

66.1k stars · MIT · v2.126.0 (2026-09-04) · Track this in Scout · Share this tool

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 does

You give it a file and it produces one internal document, which it can then write out as Markdown, HTML, subtitles or lossless JSON. The input list is long and specific: PDF, Word, slides, spreadsheets, web pages, EPUB, Apple's three office formats, email files, images, LaTeX and plain text, with audio and video among its newer additions. For PDFs it works out page layout, reading order, table structure, code blocks and formulas, and it classifies images. It reads scans with character recognition, and it can turn bar, pie and line charts into tables. It runs locally, which the project names as the point for sensitive documents and machines with no internet. It plugs into the common model-application frameworks, and ships a command, a server and a helper for assistants. What it does not do yet is pull out a document's own details or understand chemistry: its README lists metadata extraction, meaning title, authors, references and language, and molecular structures as coming soon rather than present.

Why it matters

Who it suits. Anyone who regularly receives information as a document and types it out again, and anyone building software that has to accept whatever file a person has to hand. It also suits anyone who cannot send documents to an outside service, because nothing leaves the machine that runs it. Skip it if your documents are all plain text already, because then you are downloading several hundred megabytes of models to do nothing.

Verdict. Worth twenty minutes today on a document you have already given up on once. Install it, point it at the file, and read the Markdown it writes. The project is the busiest in this edition by a distance: 68,539 stars, version 2.138.0 released on the morning of this rewrite, code on 8 October 2026, and 860 issues open against 191 pull requests. Three things to plan for. The first run downloads the layout and table models, so the cold start is slow and the disk needs room. A long scanned document takes minutes on an ordinary processor, which makes this a background job with a progress indicator rather than something a visitor waits for. And the version number moves weekly, so pin it or an upgrade will change the shape of your output. Its text feeds naturally into the next two entries. If you want the lighter, narrower tool, py-pdf/pypdf reads and writes PDFs and leaves the understanding to you.

Stars66.1k
LicenceMIT
Latestv2.126.0 (2026-09-04)checked 7 Sep 2026
Written inPython
NeedsPython 3
RunsLocally, on your own machine
Setup effort
3 / 5
Payoff
5 / 5
Good
  • MIT and local, so there is no per-page fee and no document leaves the machine.
  • Tables, headings and reading order survive the conversion, which is exactly what anything built on the text depends on.
  • One of the most active projects in this report: a release on the day of this rewrite, and Python 3.10 through current versions supported.
Watch for
  • The first run downloads several hundred megabytes of models, so plan the disk and the cold start.
  • A long scanned document takes minutes on a processor without a graphics card, so it cannot sit inside a web request.
  • Fast-moving version numbers, 860 open issues, and its own list of missing features includes pulling out a document's title and authors.
Works well with

Its Markdown output feeds straight into Chonkie (Edition 2).

Install
python3 -m venv venv
source venv/bin/activate
pip install docling
docling my-document.pdf          # writes Markdown beside it
docling https://arxiv.org/pdf/2206.01062
Screenshots
docling-project/docling: GitHub preview carddocling-project/docling: Screenshot 1
BERTopic: the subjects inside a pile of text. Groups documents by meaning and labels each group.

7.8k stars · MIT · v0.17.4 (2025-12-03) · Track this in Scout · Share this tool

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 does

It runs a pipeline of six steps, which the README names: turning text into numbers, reducing those numbers to fewer dimensions, clustering them, splitting into words, weighting the words, and describing each topic. Every step can be swapped out or removed, which is the project's main design claim. On top of that sit many variations: guided and seed-word modelling where you nudge it toward subjects you care about, supervised and manual assignment, topics over time, a hierarchy of broad and narrow topics, incremental learning through .partial_fit, text and image modelling together, and labels written by a large language model. It ships visualisations for topics, documents, hierarchies, word bars and heat maps, and language="multilingual" covers more than 50 languages. What it does not do is promise a stable answer or state its hardware needs: the README says nothing about memory or scale, warns that its modular design assumes some independence between steps, and that several outputs exist only if particular components are used.

Why it matters

Who it suits. Anyone with thousands of pieces of text and no list of subjects. Support messages, survey answers, reviews, forum threads and long transcripts are the usual cases, and this turns them into a labelled map. The hierarchy and the over-time views are what make it more than a clustering script, because both answer questions people actually ask. Skip it if you have a few hundred documents, because the clustering needs volume to find anything, and skip it if you need the same answer every time, for the reason below.

Verdict. Worth an afternoon, and it is the best-documented library in this corner of the field. Three limits to hold on to. The default settings are memory-hungry, because the dimension-reduction and clustering steps both want the whole set in memory at once, and a small machine will feel it. The clustering is not deterministic, so the same text can produce a slightly different map twice, and anyone looking at a screen will notice. And one group, numbered -1, holds everything the model could not place, which the README says is typically ignored: in its own example on a standard news dataset, that group holds 4,630 documents against 693 in the largest real topic, which tells you how much of the text can end up there. The release is older than the code: version 0.17.4 is from 3 December 2025, but code landed on 22 August 2026, so this is maintained rather than finished. Pair it with a small, fast embedding model and it fits a modest machine.

Stars7.8k
LicenceMIT
Latestv0.17.4 (2025-12-03)checked 7 Sep 2026
Written inPython
Needsa GPU
RunsLocally, on your own machine
Setup effort
3 / 5
Payoff
5 / 5
Good
  • MIT, mature, and documented far beyond the level usual for a research library.
  • Every step of the pipeline can be replaced, so the expensive parts can be swapped for cheap ones.
  • Hierarchical and over-time modes map directly onto the two questions people ask of a pile of text.
Watch for
  • The default settings use a lot of memory, and the README publishes no hardware guidance at all.
  • Results are not identical between runs, which is confusing when people compare two maps.
  • The outlier group can swallow a large share of the text, as its own example shows, and must be handled in anything built on top of it.
Install
python3 -m venv venv
source venv/bin/activate
pip install bertopic
# other ways of turning text into numbers
pip install bertopic[flair,gensim,spacy,use]
# text and images together
pip install bertopic[vision]
Screenshots
MaartenGr/BERTopic: GitHub preview cardMaartenGr/BERTopic: Screenshot 1
11

reaviz/reagraph

💎 hidden gem
reagraph: large networks drawn smoothly. Draws nodes and links with the browser's graphics hardware.

1.1k stars · Apache-2.0 · npm v4.32.0 (2026-06-25); no GitHub releases · Track this in Scout · Share this tool

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 does

You give a GraphCanvas component a list of nodes and a list of edges and it draws them. The drawing goes through WebGL, the browser's route to the graphics hardware, which is why the node count can be high. The README lists 15 features and 15 arrangements. The features include sizing nodes by an attribute or by how central they are, light and dark themes, path finding between two nodes, a ring-shaped menu on a node, dragging, lasso selection, expanding and collapsing, edge bundling and badges on nodes. The arrangements include force-directed in two and three dimensions, circular, tree in two directions, radial, hierarchical, no-overlap and concentric. It is Apache-2.0, has 1,154 commits, and carries a CLAUDE.md in its root, which means a coding assistant working on it has guidance written by the maintainers. What it does not do is state any limits in its README, and it has no published GitHub release at all, so the version comes from the package registry.

Why it matters

Who it suits. Anyone drawing a network that got too big for ordinary web elements. The usual sign is a canvas that was fine in testing and stutters on real data somewhere past one or two thousand visible nodes. This is the answer to that specific ceiling, and the sensible shape is to use it for the wide view, let someone pick a cluster, and hand the readable close-up to something else. Skip it if your graph has fifty nodes, because a simpler library will give you more control over how each one looks.

Verdict. Worth a day if the ceiling is real, and it is the kind of small project that solves one hard problem well. Three risks, stated plainly. At 1,079 stars with 10 open issues and one maintaining organisation, this is a small dependency to put at the centre of an interface. There are no GitHub releases, so the only version marker is 4.32.0 at the package registry and the changelog file in the repository, which means pinning the version and reading that file is not optional. And because nodes are drawn by the graphics hardware rather than built as page elements, existing designs cannot be reused inside them, which is a real cost if you have a card design you like. Code landed on 25 June 2026, three and a half months before this rewrite. The close alternative is xyflow/xyflow, which is the right choice for the readable view and which Edition 1 covered.

Stars1.1k
LicenceApache-2.0
Latestnpm v4.32.0 (2026-06-25); no GitHub releaseschecked 7 Sep 2026
Written inTypeScript
RunsLocally, on your own machine
Setup effort
2 / 5
Payoff
4 / 5
Good
  • The graphics hardware draws node counts that make page-element canvases stutter.
  • 15 arrangements and clustering built in, so no hand-written layout mathematics.
  • Apache-2.0, and the repository carries maintainer-written guidance for a coding assistant.
Watch for
  • 1,079 stars and a small team, which is a real risk for something load-bearing in an interface.
  • No GitHub releases at all: the version lives at the package registry and the changelog file.
  • Nodes are not page elements, so existing component designs cannot be reused inside the drawing.
Install
npm i reagraph --save
Screenshots
reaviz/reagraph: GitHub preview card
tsfresh: descriptions of time-ordered data. Calculates hundreds of statistics, then keeps the useful ones.

9.3k stars · MIT · v0.21.2 (2026-05-31) · Track this in Scout · Share this tool

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 does

You give it a table of measurements in time order, grouped by whatever each series belongs to. It calculates hundreds of descriptions of each series, which its README calls "100s of features" without naming a total: peak counts, averages and maxima, autocorrelations, entropy and a time-reversal symmetry statistic are among the examples it gives. It then runs a selection step, which is the part that matters. Each description is tested for how much it explains the thing you are predicting, as a classification or a regression, using a statistical test with a correction for the fact that hundreds of tests are being run at once. The output is an ordinary table that fits straight into the usual machine-learning tools, and the project is built to work alongside them. Custom calculations can be added. It can run on one machine or spread across a cluster. What it does not do is state its own limits: the README lists no memory or size guidance and no minimum Python version for the main package, and gives an explicit version requirement only for one optional backwards-compatible extra.

Why it matters

Who it suits. Anyone with time-ordered measurements and a question about what comes next, who has been hand-picking the descriptions to feed a model. Hand-picking means you test the twenty ideas you happened to think of, so the result depends on the ideas rather than on the data. This inverts that: cut the history into windows, label each by what happened next, calculate everything, and let the test say which properties carry information. Skip it if you have one short series, because there is nothing for the selection step to be confident about.

Verdict. Worth an afternoon, and the selection step is the reason rather than the extraction. Three warnings. The full calculation set over millions of rows will exhaust a small machine, so start with the minimal set the documentation describes and widen it only when you know what you are paying for. Whatever survives is a statistical relationship and not a guarantee, so test it against reality before you believe it. And many of the descriptions it produces cannot be explained in words, which makes trusting a model built on them harder than trusting one built from three numbers you chose. The project is stable rather than busy: release 0.21.2 on 31 May 2026, code on 6 July 2026, 579 commits and 58 open issues, with a 2018 paper behind the method. If you want the same automation over ordinary tables rather than time, alteryx/featuretools is the equivalent.

Stars9.3k
LicenceMIT
Latestv0.21.2 (2026-05-31)checked 7 Sep 2026
Written inJupyter Notebook
NeedsDocker and Python 3
RunsLocally, on your own machine
Setup effort
2 / 5
Payoff
4 / 5
Good
  • MIT, so nothing stops it being used inside commercial software.
  • The selection step is the point: it is choosing descriptions, not just producing them.
  • The output is an ordinary table that drops into the usual tools, and it can run across a cluster when one machine is not enough.
Watch for
  • The full calculation set over a long history will exhaust a small machine, and the README gives no guidance on size.
  • Many produced descriptions are effectively unexplainable, which makes a model built on them harder to trust.
  • The README gives no install command and no minimum Python version for the main package, so the documentation site is unavoidable.
Works well with

Feed those into a strategy and judge it in backtesting.py.

Install
python3 -m venv venv
source venv/bin/activate
pip install tsfresh
Screenshots
blue-yonder/tsfresh: GitHub preview cardblue-yonder/tsfresh: Screenshot 1

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.

Share this edition
← PreviousNo. 2Next →No. 4

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.