Edition No. 8 · 2 Sep 2026

Twelve repositories for shipping, and for the backlog you keep avoiding

Deployment, specs, and the small unglamorous tools that clear a stuck week.

By Genn·12 repositories·12 min read

The first is the last mile. You have a site, docs, a video pipeline, a map. Between all of that and an actual human being sit a handful of gatekeepers you cannot see: a spam filter that decides whether your newsletter exists, a phone on a bad connection that gives up before the page paints, a crawler that reads you and forms an opinion, an AI assistant that answers a question about your category without mentioning you. None of them send a complaint. They just quietly do not deliver.

The second is the pile in the corner. Editions 5, 6 and 7 handed you four research firehoses — yt-dlp, youtube-transcript-api, youtube-comment-downloader, PRAW — and never once said where the output goes. Right now the honest answer is: a folder of JSON files you will never open twice. A firehose with no bucket is not research.

Seven entries serve marketing, three sharpen the products, two are the ground everything stands on. Eleven are new to the ledger; one is a repeat, flagged. Six candidates were verified and deliberately left out — they are named at the end, with the reason.

This edition, in numbers

Repos12
Hidden gems (<3k stars)5
Marketing / product / wildcard7 / 3 / 2
New to the ledger11
Repeats1
Dropped on check6

One thing worth knowing

Two version traps turned up on the same day, both the same shape. sqlite-utils’ GitHub releases page stops at 3.39 from November 2025, while PyPI is on 4.2.1 from 13 August 2026 — a major version ahead. spec-kit’s newest GitHub tag is v0.9.4 from 4 June 2026, while its PyPI package specify-cli is on 1.0.3 from 1 September. That made five projects on file where GitHub’s releases page is the least accurate source available. The rule that came out of it: for a Python tool, believe PyPI.

Worth saying plainly, five days later: this radar wrote that rule down on 2 September and then broke it on 7 September, correcting two version numbers by reading exactly the page it had just declared unreliable. Both corrections were wrong. Knowing a rule and breaking it a week later is a more useful thing to publish than either half alone — the corrections page has the rest.

If you only do three things

  1. Point GoAccess (04) at the nginx log on your Hetzner box tonight. Twenty minutes, no JavaScript, no consent banner, no new container — the data has been sitting on your own disk this whole time. Umami has been recommended twice and is still not installed, and while you decide, your access log already knows how many humans reached the site last month, which pages they wanted, and which AI crawlers came looking. Install this and you stop guessing today.
  2. Install sqlite-utils (05) and pour the research pile into it. One pip install, one command per file. It is the missing bucket under four tools this radar already talked you into: competitor titles, transcripts, comments and Reddit threads all become one file you can query, full-text search, and hand to Claude Code as a question rather than as forty attachments. This is the entry that makes the last three editions pay.
  3. Put restic (11) on a cron line before Friday. This is the one item on the page that is not marketing and not optional. Eight editions have advised you to add containers to a single Hetzner box holding two products and their PostgreSQL databases, and not one of them asked what happens if that disk dies. Encrypted, deduplicated, off-box, an hour of setup, and the only entry here whose absence can end the business rather than slow it down.

Every link in one place

The last mile, and the pile in the corner

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

01

domainaware/checkdmarc

💎 hidden gem

321 stars · Apache-2.0 · 6.0.1 (2026-09-04)

Checks a domain's SPF, DKIM, DMARC and MTA-STS records in seconds — whether the newsletter you have not built yet is even allowed to arrive.

Repo detailsthe review · specs · pros & cons · install

What it is

A small Python command-line tool and library that reads a domain's DNS records — SPF, DKIM, DMARC, MTA-STS, plus the mail servers themselves — and reports, in plain language, what is missing or broken. You give it a domain name; it gives you a report you can act on.

Why it matters

Listmonk has been sitting at the top of your email plans since Edition 2, and Edition 2 was explicit that Listmonk does not send mail — you need SES or Postmark plus correct SPF, DKIM and DMARC records. Almost nobody sets those up correctly the first time, and the failure mode is silent: your campaign sends, the dashboard says 100% delivered, and a large share of it lands in spam where you will never see it. Gmail and Yahoo now reject bulk mail outright from domains with no DMARC record, so this is not a nicety. Ten minutes with this tool, before you write a single newsletter, is the difference between building an audience and building a list of addresses that never hear from you.

Stars321
LicenceApache-2.0
Latest6.0.1 (2026-09-04)checked 7 Sep 2026
Written inPython
NeedsDocker
Setup effort
1 / 5
Payoff
3 / 5
Good
  • Runs in seconds against a domain you do not control, so you can check your own and then check three competitors' to see what good looks like.
  • Output is JSON as well as text, so a nightly Procrastinate job can shout at you if a record ever changes or expires.
  • Explains what each failure means rather than just printing a red cross — genuinely readable if you have never touched a DNS record.
Watch for
  • It diagnoses; it does not fix. The actual repair is editing DNS records at your registrar, which is fiddly, slow to propagate, and easy to get subtly wrong.
  • Correct records are necessary but not sufficient — reputation, list hygiene and content still decide whether you reach the inbox.
  • 317 stars and effectively one maintainer. It is a tool to run occasionally, not a dependency to build a product on.
How to get it

Standalone tool, run from your Mac.

8.6k stars · Apache-2.0 · v6.2.1 (2026-08-26)

~3 KB of JavaScript that measures Core Web Vitals on real visits — the field data behind Unlighthouse's and SiteOne's lab scores.

Repo detailsthe review · specs · pros & cons · install

What it is

Google's own tiny library for measuring Core Web Vitals — largest contentful paint, interaction latency, layout shift — in real browsers on real visits. It hands you a number per visit, which you send wherever you like.

Why it matters

Unlighthouse (Ed. 2) and SiteOne Crawler (Ed. 7) both test your site from a fast machine on a good connection — useful, but it is a lab. Editions 6 and 7 then had you install imgproxy and lite-youtube-embed specifically to make pages lighter, and neither of them told you whether it worked for anyone real. This closes that loop: the same visitor who arrives from a YouTube description on a phone on mobile data is the one Google's ranking signals are actually based on. And your product is a React map — the heaviest thing a phone can be asked to render — so the gap between your lab score and your field score is probably larger than average.

Stars8.6k
LicenceApache-2.0
Latestv6.2.1 (2026-08-26)checked 7 Sep 2026
Written inJavaScript
RunsLocally, on your own machine
Setup effort
2 / 5
Payoff
3 / 5
Good
  • Roughly 3 KB, loads asynchronously, and cannot meaningfully slow the page it measures.
  • Sends to anything: an Umami custom event, your own FastAPI endpoint, or a log line. No vendor.
  • Maintained by the Chrome team and released monthly — the metric definitions change over time and this library tracks them.
Watch for
  • It is a measurement primitive, not a dashboard. Something has to receive, store and chart the numbers, which is real work (see 05 and 06).
  • Field data is noisy at low traffic. With a few hundred visits a month, one person on a train can move your median.
  • Chromium-only for some metrics — Safari and Firefox report a subset, which quietly skews an iPhone-heavy audience.
How to get it

A <script> in your React app's entry point plus a small POST /api/vitals route in FastAPI writing to PostgreSQL — or, with no backend work at all, umami.track('web-vitals', {...}) once Umami exists.

776 stars · MIT · v4.17.1 (2026-08-31)

Audits whether ChatGPT, Perplexity and Google AI Overviews can find and cite your site — CLI, Python library, MCP server and Astro integration.

Repo detailsthe review · specs · pros & cons · install

What it is

A free MIT-licensed toolkit that scores a site on how readable and citable it is to AI answer engines: robots.txt, llms.txt, JSON-LD schema, metadata, content structure, discovery signals. It runs as a command-line tool, a Python library, an MCP server, and now as an Astro integration.

Why it matters

More and more of your potential users will never see a search results page — they will ask an assistant "what can I use to summarise a long chat" and read one paragraph of answer. If that paragraph does not name Grasppy, you did not lose the ranking, you lost the whole query. This is measurable and mostly mechanical to fix, which makes it exactly the kind of marketing work that suits you: llms-txt (Ed. 2 #7) is the fix for its most common finding, and Starlight (Ed. 4 #4) generates most of the source material it wants. Running it as an Astro integration means the score gets checked on every build instead of once, in an afternoon, and then forgotten.

Stars776
LicenceMIT
Latestv4.17.1 (2026-08-31)checked 7 Sep 2026
Written inPython
NeedsPython 3
RunsSelf-hosted on your own server
Setup effort
2 / 5
Payoff
4 / 5
Good
  • It is measurement, not vibes: 47 checks in eight scored categories, so "improve AI visibility" becomes a to-do list.
  • The MCP server means Claude Code can run the audit and apply the fixes in the same session.
  • Genuinely alive since Edition 1 — 599 stars then, 728 now, and v4.16.4 shipped in August.
Watch for
  • It grades your machine readability, which is a proxy. A perfect score on a site nobody links to still gets you cited by nobody.
  • The vendor sells a hosted monitoring product, so read the "you should also track this continuously" framing with that in mind. elmo is the self-hosted tracker if you want one.
  • Fast-moving and version-churny — four major versions since spring. Pin the version you audit against or your score will move for reasons that are not you.
Replaces

Running it as an Astro integration means the score gets checked on every build instead of once, in an afternoon, and then forgotten.

How to get it

Directly into the Astro site as a build-time integration, into CI as a check, and into Claude Code as an MCP server.

20.9k stars · MIT · v1.11 (2026-07-20)

Real-time nginx log analyser — the first honest traffic numbers, from data already on the server, with no JavaScript and no consent banner.

Repo detailsthe review · specs · pros & cons · install

What it is

A log analyser written in C that reads nginx or Apache access logs and produces either a live terminal dashboard or a self-contained HTML report. It parses millions of lines in seconds on a small box.

Why it matters

Umami has now been recommended twice — 21 August and again on 30 August as the single most important thing on the page — and it is still not installed. GoAccess is not a replacement, but it is available tonight from data you already have, retroactively, going back as far as your logs are kept. It also sees three things a JavaScript tracker structurally cannot: visitors with ad blockers, everything hitting your API rather than your pages, and the AI crawlers — GPTBot, ClaudeBot, PerplexityBot, Googlebot — which is the only direct evidence you will ever get about whether entry 03's work is landing. For a founder with no analytics at all, going from zero to "1,240 real visits last month, 61% from this one page" is a bigger jump than any refinement afterwards.

Stars20.9k
LicenceMIT
Latestv1.11 (2026-07-20)checked 7 Sep 2026
Written inC
NeedsDocker Compose and Docker
RunsLocally, on your own machine
Setup effort
1 / 5
Payoff
4 / 5
Good
  • Zero instrumentation. Nothing changes on the site, nothing to consent to, and it works on last month's traffic as easily as today's.
  • One binary, a few megabytes of RAM. It will not disturb a box already running two products.
  • --real-time-html gives you a live dashboard on a URL, which is genuinely pleasant to leave open on a second screen.
Watch for
  • Log files lie in specific ways: one page view can be dozens of lines, bots inflate everything, and separating humans from crawlers takes some config care.
  • It cannot see anything that does not touch your server — no scroll depth, no clicks, no funnel, no signup conversion. Umami is still the right next step, not the loser here.
  • Log rotation will silently eat your history unless you configure retention deliberately.
How to get it

Runs directly on the Hetzner VPS against /var/log/nginx/access.log .

05

simonw/sqlite-utils

💎 hidden gem

2.2k stars · Apache-2.0 · 4.2.1 (2026-08-13)

Pours JSON and CSV into a real SQLite database with no schema design, then indexes it and adds full-text search.

Repo detailsthe review · specs · pros & cons · install

What it is

A command-line tool and Python library that turns JSON and CSV into a real SQLite database without you designing a schema, then lets you query it, index it and add full-text search. It is the plumbing between "I have a folder of files" and "I have a question".

Why it matters

Right now the output of yt-dlp, youtube-transcript-api, youtube-comment-downloader and PRAW is four incompatible piles of JSON, and the questions you actually want to ask cut across all of them: which complaint appears under five different competitors' videos, which phrases show up in both Reddit threads and YouTube comments, what titles the fastest-growing channel in your niche used this quarter. One command per file and all of that is one research.db you can query in SQL, search full-text, and — the part that matters most for you — hand to Claude Code as a database it can query, instead of forty attachments it has to read. It is ten minutes of work that upgrades three previous editions.

Stars2.2k
LicenceApache-2.0
Latest4.2.1 (2026-08-13)checked 7 Sep 2026
Written inPython
NeedsPostgreSQL and MySQL
RunsLocally, on your own machine
Setup effort
1 / 5
Payoff
4 / 5
Good
  • No schema design. It reads the JSON and creates the columns, which is exactly right for messy scraped data.
  • Built-in full-text search (enable-fts) means "every comment containing 'confusing'" is one query.
  • SQLite is one file: back it up with entry 11, copy it to your Mac, open it anywhere. There is no server to run and nothing to break.
Watch for
  • You will be writing SQL, or asking Claude Code to. Not hard, but it is a real skill boundary and the tool does nothing for you until you cross it.
  • Verification trap: the GitHub releases page stops at 3.39 (November 2025) and looks stale. PyPI shows 4.2.1 on 13 August 2026. Always check PyPI for this project — and note that 3.x → 4.x is a major version, so read the changelog before upgrading an existing database.
  • SQLite is not the right home for the products themselves; you already run PostgreSQL. Keep this on the research side of the fence.
Replaces

Its sibling Datasette will serve the same file as a browsable web UI if you ever want to click instead of type, and entry 06 will chart it.

Works well with

Standalone on your Mac, alongside the scrapers, which for yt-dlp and the comment downloader is where they have to run anyway.

How to get it

Standalone on your Mac, alongside the scrapers, which for yt-dlp and the comment downloader is where they have to run anyway.

6.9k stars · MIT · @evidence-dev/evidence@40.1.8 (2026-02-06)

Business intelligence as Markdown files with SQL in them, building to a static site — a dashboard Claude Code can write.

Repo detailsthe review · specs · pros & cons · install

What it is

A business-intelligence tool where each page is a Markdown file containing SQL queries and chart components, and the build produces a fast static website. It connects to PostgreSQL, SQLite, CSV files and more.

Why it matters

By the end of this edition your numbers live in four places: Umami's tables, Listmonk's tables, the research SQLite file from 05, and Grasppy's own application database. The question you will actually want to answer — did the video that went out on Tuesday produce signups on Wednesday — spans all of them, and no single tool's dashboard will ever show it. Evidence is the one shape of BI tool that suits you specifically: the whole dashboard is text files in a git repository, which means Claude Code can write and revise it the same way it writes your application, and the output is a static site you can drop on the same nginx that serves everything else.

Stars6.9k
LicenceMIT
Latest@evidence-dev/evidence@40.1.8 (2026-02-06)checked 7 Sep 2026
Written inTypeScript
RunsSelf-hosted on your own server
Setup effort
3 / 5
Payoff
3 / 5
Good
  • Text files in git. No dragging widgets, no clicking through a builder, no state trapped in someone's UI.
  • Static output — nothing to keep running, nothing to secure beyond a password on a directory.
  • Talks to PostgreSQL and SQLite natively, which is exactly the two databases you will have.
Watch for
  • The Node/npm build toolchain is a second ecosystem to keep working next to your Python one, and version drift there is a familiar tax.
  • It queries at build time, so a "live" dashboard means a scheduled rebuild — fine daily, wrong for anything you want to watch in real time.
  • Honestly premature until 04 and Umami are producing data. Read this entry, do not install it this week.
How to get it

Reads your existing PostgreSQL directly (a read-only user, please) and the research.db from 05.

55.9k stars · Apache-2.0 · v0.15.1 (2026-07-17)

Modern typesetting: plain-text source compiles to a polished PDF in milliseconds, with excellent Cyrillic support.

Repo detailsthe review · specs · pros & cons · install

What it is

A modern typesetting system: you write content in a simple markup language with real scripting, and it compiles to a polished PDF in milliseconds. It is the first credible replacement for LaTeX in decades.

Why it matters

Edition 2 pointed out that the email list is the only audience you own, and Edition 5 suggested a Slidev PDF as the thing people trade an address for. Slides make a thin lead magnet; a proper twenty-page guide — "how to get a straight answer out of a 400-message thread" — is what people actually hand over an email for, and it doubles as the thing you put on the Astro site for AI assistants to read. Typst is the way to produce one that does not look like a Word document: source is plain text, so Claude Code writes and revises it, the Russian edition is the same source with different strings rather than a second layout job, and the whole thing rebuilds in under a second when you change the cover.

Stars55.9k
LicenceApache-2.0
Latestv0.15.1 (2026-07-17)checked 7 Sep 2026
Written inRust
NeedsDocker and Rust and cargo
RunsLocally, on your own machine
Setup effort
3 / 5
Payoff
3 / 5
Good
  • Compiles in milliseconds with readable error messages — the two things LaTeX never gave anyone.
  • Real scripting: generate a chart, a table of figures, or twelve variants of the same guide from data.
  • Excellent Cyrillic and multilingual support, with proper hyphenation for both your languages.
Watch for
  • It is still a markup language you have to learn a little of. Not Word, and not a design tool — layout beyond the templates means reading docs.
  • The package ecosystem is young; a template that exists in LaTeX may not exist here, and you may end up building the look yourself.
  • Pre-1.0 at v0.15.1. The language has broken between minor versions before. Pin the compiler version in your project.
How to get it

Standalone on your Mac; the compiler is a single binary.

08

qq15725/modern-screenshot

💎 hidden gem

2.1k stars · MIT · v4.7.0 (2026-04-16)

Renders a DOM node to PNG, JPEG or SVG in the browser — the maintained successor to html-to-image.

Repo detailsthe review · specs · pros & cons · install

What it is

A small library that renders a DOM node to a PNG, JPEG or SVG entirely in the browser, using canvas and SVG foreignObject. It is the actively maintained successor to the widely-linked html-to-image.

Why it matters

Grasppy's output is a picture, and pictures travel — but only if there is a button that produces a file. Someone who maps a 600-message thread and drops the result into their team chat with "this is what that argument was actually about" has just marketed your product to eight colleagues at zero cost to you, and that loop is worth more per hour of work than anything in Layer I. It is also your thumbnail pipeline: a real map exported at 1280×720 is a far better YouTube thumbnail than a stock illustration, and it feeds the same Thumbnails-Maker (Ed. 4 #6) workflow you already have. React Flow's own documentation recommends exactly this approach for exporting a canvas.

Stars2.1k
LicenceMIT
Latestv4.7.0 (2026-04-16)checked 7 Sep 2026
Written inTypeScript
RunsLocally, on your own machine
Setup effort
2 / 5
Payoff
4 / 5
Good
  • Runs client-side. No headless Chromium on the VPS, no render queue, no server cost per export.
  • Actively maintained where the obvious alternative is not — v4.7.0 in April 2026 against html-to-image's last release in February 2025.
  • A watermark, a title and a URL are just DOM you add before capture, so every exported map can carry your brand for free.
Watch for
  • Browser DOM-to-image is fundamentally fiddly: web fonts, cross-origin images and CSS filters all have known failure modes and you will spend an afternoon on edge cases.
  • WebGL canvases do not capture through this route — it works for React Flow's SVG/DOM rendering, but not for a Reagraph WebGL view.
  • Big maps make big images and briefly freeze the tab while rendering. Cap the node count or export a viewport.
Works well with

It is also your thumbnail pipeline: a real map exported at 1280×720 is a far better YouTube thumbnail than a stock illustration, and it feeds the same Thumbnails-Maker (Ed.

How to get it

An npm package in the React front end, called on an "Export image" button over the React Flow canvas.

09

MinishLab/vicinity

💎 hidden gem

351 stars · MIT · v0.4.4 (2026-04-14)

One interface over several nearest-neighbour backends — the throwaway in-memory index for a single conversation.

Repo detailsthe review · specs · pros & cons · install

What it is

A tiny Python library giving one interface over several nearest-neighbour backends (exact search, HNSW, FAISS, Annoy and others), with save and load built in. It is from MinishLab, the team behind model2vec.

Why it matters

pgvector (Ed. 2 #11) is the right answer for vectors that must persist, be shared and be backed up. It is the wrong answer for a document a user uploaded four minutes ago and may delete in six: a per-import index, built in memory, queried a hundred times while they explore the map, then discarded, does not want a table, a migration or an HNSW build on your small VPS. It is also how you finally answer Edition 3's open question — BERTopic versus turftopic versus LightRAG — because comparing embedding models over the same conversation ten times is trivial when the index is a variable and awkward when it is a database. Same team as model2vec, so the two compose without thought.

Stars351
LicenceMIT
Latestv0.4.4 (2026-04-14)checked 7 Sep 2026
Written inPython
RunsLocally, on your own machine
Setup effort
2 / 5
Payoff
3 / 5
Good
  • Swapping backends is one argument, which turns "is HNSW worth it at our size" from an afternoon into a minute.
  • No server, no schema, no migration. It is a Python object.
  • Save and load to disk or Hugging Face, so an expensive index for a large permanent corpus can be cached rather than rebuilt.
Watch for
  • It genuinely overlaps pgvector, and running both without a clear rule about which owns what is how a codebase gets confusing. Write the rule down: persistent and shared goes in PostgreSQL, ephemeral and per-import goes here.
  • In-memory means RAM. A large conversation is fine; a hundred concurrent users each holding an index is not, on one Hetzner box.
  • 350 stars and a small team. Low risk because the interface is thin and the backends underneath are the well-known libraries — but it is a convenience layer, not infrastructure.
How to get it

A Python dependency in the FastAPI virtualenv, used inside a Procrastinate job that chunks with Chonkie , embeds with model2vec and indexes here.

25.7k stars · MIT · v0.53.0rc0 (2026-09-07)

Per-prediction feature attribution — which of tsfresh's 700 features the surviving model actually leans on, and whether that reason is embarrassing.

Repo detailsthe review · specs · pros & cons · install

What it is

The standard library for explaining machine-learning model predictions, assigning each input feature a contribution to each individual output. It works with the gradient-boosted trees and scikit-learn models you would realistically use.

Why it matters

ScalpingMate now has tsfresh generating 700+ features, Optuna searching parameter space aggressively, and arch's reality check to ask whether the winner is luck. What is missing is the question in between: why does the surviving model say buy? SHAP answers it per trade — and the answers are frequently humiliating in a useful way. If your edge turns out to rest on the hour-of-day feature, you have found a session effect, not a pattern; if it rests on a feature computed with future information, you have found a leak that would have cost you real money. For a target as specific as 2% a month, knowing which three features carry the signal is also how you stop retraining on the other 697.

Stars25.7k
LicenceMIT
Latestv0.53.0rc0 (2026-09-07)checked 7 Sep 2026
Written inJupyter Notebook
Needsa GPU
RunsLocally, on your own machine
Setup effort
3 / 5
Payoff
3 / 5
Good
  • TreeExplainer on gradient-boosted models is exact and fast — this is a minutes-not-hours step on your data size.
  • The standard summary and waterfall plots make an abstract question visual, which matters when you are not a statistician.
  • MIT-licensed, so unlike backtesting.py (AGPL) or vectorbt (Commons Clause) it can sit inside a paid feature — "here is why the system took this trade" is a sellable screen.
Watch for
  • It explains the model, not the market. A feature the model leans on can still be pure noise the model has memorised; this narrows where to look, it does not confirm anything.
  • KernelExplainer, the fallback for non-tree models, is slow enough to be impractical on long series. Stay on tree models or budget the time.
  • The API surface is large and the older tutorials use a deprecated interface, so expect some confusion between examples and current docs.
Works well with

6 #12) beside the Optuna trials.

How to get it

A Python dependency in ScalpingMate's virtualenv, run after training and before QuantStats reporting.

35.9k stars · BSD-2-Clause · v0.19.1 (2026-07-05)

Encrypted, deduplicated, versioned backups to SFTP or S3-compatible storage from one static binary.

Repo detailsthe review · specs · pros & cons · install

What it is

A backup program producing encrypted, deduplicated, versioned snapshots to local disk, SFTP, S3-compatible object storage and more. One static binary, one command to back up, one to restore, one to verify.

Why it matters

You have two products, their PostgreSQL databases, and — after this radar's advice — a growing stack of containers on a single VPS. Hetzner snapshots are a convenience, not a backup: they live in the same account, and an account problem, a bad migration or a DROP TABLE at the wrong moment takes them with everything else. Deduplication is what makes this practical rather than theoretical — a nightly pg_dump of a database that barely changed costs almost nothing to store, so you can keep months of daily snapshots on cheap object storage for the price of a coffee. Every other entry on this page increases what you lose if the disk fails, which is precisely why this one is here.

Stars35.9k
LicenceBSD-2-Clause
Latestv0.19.1 (2026-07-05)checked 7 Sep 2026
Written inGo
Setup effort
2 / 5
Payoff
5 / 5
Good
  • Encrypted client-side by default, so the storage provider never sees your users' conversations — which also happens to be a claim you can make on the pricing page.
  • Deduplicated and incremental: months of nightly database dumps cost a fraction of what naive copies would.
  • restic check verifies a repository is actually restorable. An unverified backup is a rumour.
Watch for
  • Restoring is not a button. You will be reading documentation under stress unless you rehearse it once, calmly, in advance — and if you do not rehearse it, treat this as unfinished.
  • Backing up a live PostgreSQL data directory produces a corrupt snapshot. Back up pg_dump output, or use pg_basebackup — this is the classic mistake and it fails silently.
  • Lose the repository password and the data is gone. Genuinely gone. Store it somewhere that is not the machine being backed up.
How to get it

A cron entry or Procrastinate job on the VPS: pg_dump both databases, snapshot the dump directory plus your uploads, push to Hetzner Storage Box or Backblaze B2.

133.9k stars · MIT · v1.0.4 (2026-09-02)

GitHub's spec-driven development toolkit — intent, then specification, then plan, then the agent implements.

Repo detailsthe review · specs · pros & cons · install

What it is

GitHub's open-source toolkit for spec-driven development: a small set of commands and templates that walk you from an intent, through a written specification and a technical plan, to a task list an AI agent implements. It works with Claude Code and about thirty other agents.

Why it matters

Your particular bottleneck is not typing speed, it is specification. A solo founder building two non-trivial products through an AI agent produces excellent code for whatever was described and quietly accumulates features that half-fit each other, because the description lived in a chat window and then scrolled away. Spec Kit puts the specification in a file in the repository, where it can be argued with, revised, and reused — and it is the natural home for exactly the decisions this radar keeps asking you to make and defer: BERTopic or turftopic, Postiz or Mixpost, what the map view must do on a phone. Written down once, those stop being re-litigated every time you open a session.

Stars133.9k
LicenceMIT
Latestv1.0.4 (2026-09-02)checked 7 Sep 2026
Written inPython
NeedsPython 3
RunsLocally, on your own machine
Setup effort
2 / 5
Payoff
3 / 5
Good
  • Agent-agnostic and MIT — no lock-in to a particular tool or vendor, and it moves with you if your tooling changes.
  • Forces the specification and the plan to be separate artefacts, which is precisely the discipline a non-programmer building through an agent most lacks.
  • Extremely active: specify-cli 1.0.3 shipped to PyPI on 1 September 2026, the day before this edition.
Watch for
  • It is process, and process only pays back on work large enough to need it. Using it for a one-file change is pure overhead.
  • Genuinely opinionated about workflow. If it does not match how you think, you will fight it, and the fix is to take the templates and drop the rest.
  • Moving fast in a way that shows: the GitHub tag reads v0.9.4 (4 June 2026) while PyPI is on 1.0.3. Expect the commands to change under you between versions.
Replaces

Written down once, those stop being re-litigated every time you open a session.

Works well with

Installed alongside Claude Code with uv , writing spec and plan files into the Grasppy and ScalpingMate repositories.

How to get it

Installed alongside Claude Code with uv , writing spec and plan files into the Grasppy and ScalpingMate repositories.

Checked, and left out

These were opened for this edition and did not make it, with the reason.

Zulko/moviepy

Zulko/moviepy (14.8k, MIT) — PyPI 2.2.1 (2025-05-21), fifteen months quiet, and auto-editor plus pyVideoTrans already cover the need. Backlogged.

bubkoo/html-to-image

bubkoo/html-to-image (7.2k, MIT) — v1.11.13 (2025-02-14), past the eighteen-month line. Its maintained successor modern-screenshot took the slot (Ed.8 #8). Backlogged.

AnswerDotAI/rerankers

AnswerDotAI/rerankers (1.6k, Apache-2.0) — PyPI 0.10.0 (2025-05-22); GitHub releases a year older still. Too quiet for something in the request path. Backlogged.

ai-robots-txt/ai.robots.txt

ai-robots-txt/ai.robots.txt (4.1k, MIT) — no releases and no readable commit dates; for a list whose whole value is being current, that is disqualifying. Backlogged, worth re-checking.

searxng/searxng

searxng/searxng (36.0k, AGPL-3.0) — no tagged releases to date-check, and using it as a free SERP source for rank tracking is fragile and against engines' terms. Backlogged.

adityaarsharma/youtube-marketing-skills

adityaarsharma/youtube-marketing-skills (38, MIT) — re-checked; still 32 commits, still no releases or readable dates, unchanged since 31 August. Stays backlog; check again mid-September.

Share this edition
← PreviousNo. 7Next →No. 9

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.