Edition No. 14 · 8 Sep 2026
Eleven repositories for the place your words live
Editing posts from a phone, keeping English and Russian in step, and the first tool that emails people based on what they actually did.
The web version carries the English / Русский switch. The Russian text of this edition is also in the file radar-2026-09-08-ru.md, delivered into the chat on the day. This archive stays English only.
You now have a way to measure your traffic, a way to take money, a way to sign people in, a way to make the pages look right, and a full set of tools for the video channel.
A blog post on your site is a file. To change one word you open a code editor. You cannot fix a typo from your phone. You cannot see all your posts in one list. Nothing tells you which post is old.
And every post has to exist twice, in English and in Russian. Nothing keeps the two in step. When you change the English, nothing marks the Russian as out of date.
This edition, in numbers
| Repos | 11 |
| Hidden gems (under 3,000 stars) | 4 |
| Marketing / product / wildcard | 7 / 3 / 1 |
| New to you | 11 |
| Repeats | 0 |
| Checked and left out | 10 |
Two things worth knowing
The GitHub releases page misled me three times today, and nearly cost you a good tool.
I check every repository the same way. One of the checks is the releases page. Today Activepieces, Novu and Plane all showed their newest release in mid-2024. Two years. By my rule that is dormant, so all three were dropped.
Then the same thing happened to Sveltia CMS. Its releases page also showed mid-2024. But the version number was 0.170, which no dead project ever reaches. So I opened a different address, github.com/sveltia/sveltia-cms/releases/latest, and it showed version 0.208.2, published today.
The list page was wrong. The single-release page was right.
So there is a new rule in my notes: always check /releases/latest, not the releases list. For a JavaScript project, npm beats both. This sits next to the older rule, which is that for a Python tool PyPI beats GitHub.
Activepieces, Novu and Plane are in my backlog rather than in the bin. I will re-check them tomorrow with the better method.
Three well-known content tools are not what people think they are.
Decap CMS is the tool almost every Astro and Hugo guide tells you to install. Its last release was June 2024. That is over two years. It is not maintained. Sveltia CMS (#2) is the live replacement, and it reads the same settings file, so the old guides still work.
Directus now uses the "Monospace Sustainable Core License". NocoDB now uses the "Sustainable Use License". Neither is open source in the usual sense any more. Both are free to run for your own business. Neither is something you should build a paid product on top of without reading the terms first. They join n8n, Bugsink and Remotion on that list.
If you only do three things
- Install Front Matter (#3). Tonight. Ten minutes. It is a one-click extension for VS Code, the program Claude Code already runs in. You get a list of every post, a calendar, and a health check that scores readability, tests your links, and warns you when a post is getting old. It changes nothing about how your site is built. You can uninstall it and lose nothing.
- Set up Sveltia CMS (#2). This week. About an hour. One script tag and one settings file, and your site gets a login page where you can write and edit posts from a phone. It saves straight back into your project. There is no server to run and no database.
- Run Dittofeed (#8). This weekend. Half a day. This is the biggest one on the page. Somebody signs up for Grasppy, tries it once, and disappears. Right now nothing happens. Dittofeed sends them an email three days later, on its own. It is the first tool in fourteen reports that reacts to what a person did inside your product.
Every link in one place
| # | Repository | Home / docs | Stars | Licence |
|---|---|---|---|---|
| 1 | Thinkmill/keystatic 💎 | keystatic.com | 2.4k | MIT |
| 2 | sveltia/sveltia-cms 💎 | sveltiacms.app | 2.8k | MIT |
| 3 | estruyf/vscode-front-matter 💎 | frontmatter.codes | 2.5k | MIT |
| 4 | payloadcms/payload | payloadcms.com | 44.5k | MIT |
| 5 | WeblateOrg/weblate | weblate.org | 5.9k | GPL-3.0 |
| 6 | jgm/pandoc | pandoc.org | 46.2k | GPL-2.0 |
| 7 | quarto-dev/quarto-cli | quarto.org | 5.8k | MIT |
| 8 | dittofeed/dittofeed 💎 | dittofeed.com | 2.9k | MIT |
| 9 | microsoft/markitdown | markitdown on PyPI | 181.3k | MIT |
| 10 | explodinggradients/ragas | docs.ragas.io | 15.7k | Apache-2.0 |
| 11 | Nixtla/statsforecast | nixtlaverse.nixtla.io/statsforecast | 4.9k | Apache-2.0 |
Where your writing lives
Twelve repositories, checked and reviewed. Every version verified against the GitHub API and dated.
▶Repo detailsthe review · specs · pros & cons · install
What it is
Keystatic is a content editor for websites built from files. You describe your post fields once in a small settings file written in TypeScript (TypeScript is JavaScript with type checking added). Keystatic builds the editing screen from that description.
Why it matters
Your site runs on Astro (Ed. 3 #4) and your docs on Starlight (Ed. 4 #4). Both keep posts as files. That is a good choice and I am not asking you to change it. What is missing is a front door. Right now writing a post and fixing a typo are the same job, and both need a code editor. Keystatic separates them. It also handles two languages properly: one entry for English, one for Russian, side by side, so you can see which one is missing. And because the settings file is TypeScript, Claude Code can write it for you and the compiler checks the result.
- No database and no server. The posts stay as files in your project, so there is nothing new that can break at three in the morning.
- The settings file is checked as you write it. A misspelled field fails now, not in six months.
- It runs on your own machine while you develop, and it can also run on GitHub so you can edit from a browser.
- The GitHub releases page is empty, so I checked npm instead.
@keystatic/coreis at 0.6.9, published 26 January 2026. That is seven months old. It works, but it is not moving fast. - The version number starts with a zero. That is the author's way of saying things may still change between releases.
- Editing from a browser needs a GitHub app connected to your account. That is an extra half hour of setup and one more thing that can go wrong.
cd your-astro-site npm install @keystatic/core @keystatic/astro
▶Repo detailsthe review · specs · pros & cons · install
What it is
Sveltia CMS is a complete rewrite of Decap CMS, which used to be called Netlify CMS. It reads the same settings file, so anything written for Decap still applies. It is faster, it works on a small screen, and it handles two languages side by side.
Why it matters
Almost every guide for adding an editor to an Astro or Hugo site still points at Decap. Decap's last release was June 2024. It is not maintained. Sveltia released a new version on the same day as this report. So this entry is partly a warning: if you follow the popular guide, you will install a dead tool. Beyond that, the phone matters. You are a solo founder. Ideas for posts do not wait until you are at your desk. A login page you can open on a phone, that saves into the same project Claude Code works in, is the shortest path from an idea to a published paragraph.
- One script tag and one settings file. If you do not like it, you delete two files.
- It genuinely works on a phone. Very few tools of this kind do.
- It is released constantly. The newest version came out today, which is the strongest sign of life there is.
- The version number is 0.208.2, still below 1.0. Pin the version you tested and read the notes before you move up.
- Releases come very often. That is good for fixes, but it means you have to decide when to stop upgrading.
- Every person who edits needs a GitHub account with access to your project. That is fine while it is only you.
mkdir -p public/admin
▶Repo detailsthe review · specs · pros & cons · install
What it is
Front Matter is an extension for Visual Studio Code that manages content for file-based websites. It works with Astro, Hugo, Jekyll, Next.js and others. Version 10.11.0, from 2 July 2026, added content health: readability scoring, link checks and freshness warnings.
Why it matters
Two earlier recommendations pointed in this direction and neither reached your daily habit. Edition 10 gave you textstat for readability, which you marked in progress yesterday. Edition 7 gave you SiteOne Crawler for broken links, which runs once over a whole site. Front Matter puts both jobs in the window where you actually write, on the post in front of you, while you are writing it. That is the difference between a tool you run and a tool you use. The calendar matters too. A tutorial channel and a blog both need a rhythm, and nothing in my records has ever shown you what you published and when.
- One click to install and one click to remove. It touches nothing in how your site builds.
- The health check is the useful part: readability, dead links and old posts, all in one panel.
- It reads your existing folders. You do not restructure anything to start.
- It only exists inside VS Code. You cannot use it from a phone. #2 covers that.
- The readability scores are built for English. Do not trust the number on your Russian posts. Treat that half as a link checker only.
- It writes a settings file into your project. If that file goes stale after you move folders, the panels quietly show the wrong thing.
code --install-extension eliostruyf.vscode-front-matter
▶Repo detailsthe review · specs · pros & cons · install
What it is
Payload is an open-source content system that runs inside a Next.js application. Your content is stored in PostgreSQL or MongoDB. You describe your collections in TypeScript, and Payload builds the admin screens and the API for you. An API is a way for one program to ask another program for data.
Why it matters
Entries 1, 2 and 3 all keep content as files. That is right for blog posts. It stops being right when content gets structure: a template gallery where each item has a name, a picture, a category and a difficulty; a case study library; a glossary that both Grasppy and the marketing site read from. Files handle ten of those. They do not handle three hundred. Payload is the honest answer for that case, and I am listing it so you know where the ceiling is, not because you need it this month.
- MIT licence and it is a real MIT licence, with no carved-out directories. That is worth noting after Directus and NocoDB, above.
- Released steadily. Version 3.87.1 came out on 6 August 2026, and the releases before it are only weeks apart.
- It gives you an API without extra work, so your Astro site and Grasppy can read the same content.
- It is a Node.js application sitting next to your Python one. That is a second thing to deploy, watch and update. Grasppy is FastAPI, React and PostgreSQL, so this adds a language to your server.
- Plan for roughly 1 to 2 GB of memory. Check Beszel (Ed. 5 #8) before you install anything.
- It assumes Next.js. Your site is Astro. So Payload becomes a content store that Astro reads from, rather than the site itself. That works, but it is two moving parts, not one.
npx create-payload-app@latest
▶Repo detailsthe review · specs · pros & cons · install
What it is
Weblate is a translation management system. It connects directly to your git repository, reads the translation files, shows them in a web editor, and writes the results back as commits. A new version, weblate-2026.9.1, was released on the same day as this report.
Why it matters
Edition 4 gave you Tolgee for the buttons and labels inside the app. That covered the app. It did not cover the problem you actually have every week, which is that the English version of a page changes and the Russian version silently does not. Weblate is built around exactly that. It compares, it marks what is stale, and it keeps a record of who changed what. It also connects to a machine translation service, so LibreTranslate (Ed. 4 #2), which you already have on the list, can fill in a first draft that you then correct. And if you ever pay a person to translate, this is the screen you give them. They never touch your code.
- It works from your git repository, so translations are ordinary commits and nothing lives in a place you cannot back up.
- It marks translations as needing work automatically when the source changes. That is the single feature you are missing.
- Very actively maintained. A release came out today, and releases are roughly monthly.
- It is heavy. Django, PostgreSQL, Redis and a background worker. Plan 2 GB of memory or more, and check Beszel first.
- GPL-3.0 for the server. Running it is completely fine. You could not ship a modified copy inside a closed product.
- If you are the only translator, this may be more machine than you need. Front Matter (#3) plus a written checklist might be enough for now. Be honest with yourself before you spend the day.
git clone https://github.com/WeblateOrg/docker-compose.git weblate-docker cd weblate-docker docker compose up -d
▶Repo detailsthe review · specs · pros & cons · install
What it is
Pandoc is a document converter. It reads and writes Markdown, HTML, Word, LaTeX, EPUB, PowerPoint and many more. It is twenty years old and still gets a release every few weeks. Version 3.11 came out on 29 August 2026.
Why it matters
Edition 8 gave you Typst for making lead-magnet PDFs. Typst is for designing a document from scratch. Pandoc is for converting one you already have. That is a different job, and it is the one that comes up constantly for you. A tutorial script becomes a Word file to send to a translator. A blog post becomes a PDF checklist that collects email addresses. An old Word document becomes a Markdown post the new editor in #2 can open. It is also the engine underneath #7, so installing it is never wasted.
- It handles almost every format you will ever be handed. Nothing else comes close.
- One command, no configuration, no service to run. Install it and forget it.
- Extremely stable. Twenty years of releases, and a new one two weeks ago.
- GPL-2.0. Run it as a command on your machine. Do not build it into a product you sell without reading the licence carefully.
- Making a PDF the default way needs LaTeX, which is a very large download. Use
--pdf-engine=weasyprintor--pdf-engine=typstinstead and skip it. - Complicated layout does not survive the trip. Tables and images move. Expect to tidy the result by hand.
brew install pandoc pandoc post.md -o post.docx pandoc post.md -o post.pdf --pdf-engine=typst
▶Repo detailsthe review · specs · pros & cons · install
What it is
Quarto is a publishing system built on Pandoc. You write one file, then say which formats you want. It runs code blocks in Python, R or Julia and puts the output into the finished document.
Why it matters
You make the same thing three times. The video needs slides. The site needs a post. The email list needs something to download. Slidev (Ed. 5 #4) makes slides. Typst (Ed. 8 #7) makes PDFs. Neither makes the other. Quarto makes both from one source, which is the only version of this that actually saves you time. The second reason is ScalpingMate. A backtest report that rebuilds itself with fresh numbers, as a real document rather than a notebook screenshot, is exactly what Quarto was built for.
- One source file, several finished formats. That is the whole reason to use it.
- It runs your Python inside the document, so numbers and charts are never out of date.
- MIT licence, and releases every few weeks.
- It is a large install, several hundred megabytes, because it carries Pandoc and a JavaScript runtime with it.
- The default look is academic. Making it match your brand takes real CSS work.
- Its website output overlaps Astro (Ed. 3 #4). Use Quarto for documents and slides. Do not rebuild your site with it.
brew install --cask quarto quarto render lesson.qmd --to html quarto render lesson.qmd --to pdf quarto render lesson.qmd --to revealjs
▶Repo detailsthe review · specs · pros & cons · install
What it is
Dittofeed is an open-source customer engagement platform. You send it events from your application, then build journeys that react to those events across email, SMS and push notifications. There is also a hosted version if you do not want to run it.
Why it matters
This fills the biggest hole in fourteen reports. Listmonk (Ed. 2 #1) sends a newsletter, which is the same message to everybody. Mautic (Ed. 10 #6) can do behaviour, but it wants MySQL and it is a lot of machine. Nothing so far reacts to what one person did inside Grasppy. That gap, between "signed up" and "paid", is where a solo founder loses almost everyone, and it is invisible without a tool like this. It also pairs with what you already have. PostHog (Ed. 11 #8) tells you people drop off at the map screen. Dittofeed is what does something about it.
- MIT licence, with no carved-out directories. You can run it and change it freely.
- The journey builder is visual. You draw the steps rather than write them.
- It handles the hard parts for you: waiting, stopping when someone returns, and not sending the same person the same thing twice.
- The last stable release is v0.23.0 from 1 December 2025. Newer tags are marked alpha, up to v0.24.0-alpha.17 on 28 March 2026. Pin one version and read the notes before you move.
- It runs on Docker with PostgreSQL and ClickHouse. ClickHouse is a database built for very large amounts of event data. Plan 2 to 4 GB of memory, so check Beszel before you start.
- Nothing happens until Grasppy tells it something. You have to add the code that says "this person uploaded a chat". That is the real work, and it is a few hours.
git clone https://github.com/dittofeed/dittofeed.git cd dittofeed docker compose up -d
▶Repo detailsthe review · specs · pros & cons · install
What it is
MarkItDown is a Python tool and library from Microsoft. It converts PDF, Word, PowerPoint, Excel, HTML, images and audio into Markdown, which is plain text with simple marks for headings and lists.
Why it matters
Grasppy's promise is that you give it something long and get back a map you can click into. Right now the "something long" is a chat. The obvious next step is a document, and the first question a user asks is whether their file works. Docling (Ed. 3 #9) and marker (Ed. 9 #9) are the careful readers for hard PDFs, and they are slow because they are careful. MarkItDown is the fast wide one. It covers formats those two do not, such as PowerPoint and Excel, in a fraction of the time. The sensible design is to try MarkItDown first and fall back to Docling when the result looks wrong.
- It covers a very wide range of formats from one command, including spreadsheets and slide decks.
- It is fast, because it is not trying to reconstruct page layout.
- MIT licence, from Microsoft, with steady releases. Version 0.1.7 is dated 29 July 2026 on both GitHub and PyPI, which do not always agree.
- The version number is 0.1.7. The output can change between versions, so pin it and test before you upgrade.
- PDFs are its weak point. Complicated layouts come out flat and columns get mixed up. Docling is better there.
- Some formats need extra packages. Install the full set or you will hit missing-feature errors on real user files.
source venv/bin/activate pip install 'markitdown[all]' markitdown report.pdf > report.md
▶Repo detailsthe review · specs · pros & cons · install
What it is
Ragas is an evaluation framework for AI applications that look things up before answering. It measures things like whether the answer is supported by the source text, and whether the right parts of the source were found.
Why it matters
Grasppy's entire pitch is the map. You have several ways to change how it is built. LightRAG (Ed. 6 #8), pgvector (Ed. 2 #11), BERTopic and turftopic all change the result. Without a score, choosing between them is guessing, and you will keep the one you happened to build last. Two earlier entries sit either side of this. Instructor (Ed. 5 #11) makes the output the right shape. Langfuse (Ed. 10 #7) watches what happened after release. This is the missing middle: a number before release that you can compare.
- It turns "does this feel better" into a number you can put in a table.
- It works with what you already use, including LangChain and plain Python.
- Apache-2.0 licence, so there is nothing to worry about in a paid product.
- Every run costs money, because a language model does the scoring. Keep the test set small, twenty to fifty examples, not thousands.
- You have to write that test set yourself. That is the real work, and it is most of the day.
- Scores from a language model wobble between runs. Compare one run against another. Never treat a single number as the truth.
source venv/bin/activate pip install ragas
▶Repo detailsthe review · specs · pros & cons · install
What it is
StatsForecast is a Python library of classical statistical forecasting models, including ARIMA, ETS and Theta. It is written for speed and can fit thousands of series in the time other libraries take for one.
Why it matters
Your goal is one working pattern at about 2% a month. That is a small enough number that noise can look like a result. My records already gave you tools that search: stumpy (Ed. 1 #12) finds repeated shapes, skforecast (Ed. 5 #12) validates forward in time, Optuna (Ed. 7 #12) searches settings. Search tools always find something. What is missing is the line they have to clear. Run a naive forecast and a seasonal naive forecast over the same period, write the numbers down, and treat them as the floor. Any strategy that does not clear the floor gets deleted rather than tuned.
- Extremely fast, so a baseline is cheap to re-run every time you change the data.
- The models are old, well understood and boring. That is what makes them a fair comparison.
- Apache-2.0 licence and steady releases. Version 2.1.1 came out on 16 July 2026.
- These are forecasting models, not a trading system. They predict a number. You still decide the trade, the size and the stop.
- Currency prices do not behave like the sales data these models were designed for. Treat the output as a floor to beat, never as a signal to trade.
- It wants your data in a particular shape, with columns named
unique_id,dsandy. Reshaping your EURUSD table takes a little work the first time.
source venv/bin/activate pip install statsforecast
Checked, and left out
These were opened for this edition and did not make it, with the reason.
decaporg/decap-cms
decaporg/decap-cms — Researched for Edition 14 and DELIBERATELY NOT RECOMMENDED. Last release June 2024. Recorded because the danger is not that he misses it, it is that he FINDS it: nearly every tutorial for adding an editor to a static sit
activepieces/activepieces
activepieces/activepieces — Verified as a real, popular project but DROPPED for unprovable recency: the releases LIST shows nothing after June 2024 while the code is plainly active. This is the same failure that nearly cost Sveltia CMS its place —
novuhq/novu
novuhq/novu — Same failure as Activepieces: releases list stale at mid-2024 while the project is clearly active. Dropped for unprovable recency, backlogged for re-checking via /releases/latest and npm. Would have been the second entry
makeplane/plane
makeplane/plane — Third repository in one run to fail the same way — releases list stale at 2024 while development continues. Backlogged for re-checking. The need it would serve (a publishing calendar) is now partly covered by Front Matte
directus/directus
directus/directus — Researched for Edition 14 and dropped ON LICENCE, not on health. Directus now ships under the Monospace Sustainable Core License 1.0. Free to run for your own business; not a foundation for a paid product without reading
nocodb/nocodb
nocodb/nocodb — Dropped on licence for the same reason as Directus. The Sustainable Use License is the same family as n8n's. Website: https://www.nocodb.com . The editorial-calendar need it would serve is partly met by Front Matter (Ed.
tinacms/tinacms
tinacms/tinacms — VERIFIED ALIVE and dropped only for slate fit — three git-based editors is already more than one person should have to choose between. Star count and licence were not read from the page in this run, so both need confirmi
pages-cms/pages-cms
pages-cms/pages-cms — Found while researching Edition 14 and dropped for slate fit — the fifth option on a shelf that already had four. Website: https://pagescms.org . Release recency NOT established; establish it before recommending.
mdx-js/mdx
mdx-js/mdx — Would suit Grasppy well — a blog post containing a working mini-demo of the map. DROPPED because two pages disagree on whether the newest release is August 2025 or August 2026, and an unprovable date is not printed in th
remarkjs/remark
remarkjs/remark — Dropped as noise rather than as a bad tool: it arrives as a dependency of Astro, so recommending it separately would spend a slot on something he already has. Website: https://remark.js.org . Recorded so a future run doe