
hermex
Hermex is a native SwiftUI iPhone app that lets you control a self-hosted Hermes AI agent directly from your phone, with no subscriptions, tracking, or third-party relay.
Research Overseer is a self-hosted research discovery pipeline that searches, scrapes, scores documents against a defined beat using a local 9B model, and answers questions via Telegram, built on n8n, LM Studio, and Supabase.
3
No data
0
0
No data
2026-07-29
It solves the problem of LLM scoring being useless by splitting relevance into two independent axes (specificity and angle strength) and making the model write its angle before rating it, achieving meaningful discrimination that a single 1–5 score could not.
A research discovery pipeline that runs on my own hardware. It searches (Exa, Tavily, Brave), watches RSS, scrapes what it finds, scores every document against a defined beat using a local 9B model, stores the results in Postgres, and answers questions about them over Telegram.
Built on self-hosted n8n, with LM Studio serving the triage model and Supabase for storage. One Telegram chat is the entire interface.
The repo is the source of truth. Build scripts generate the workflow JSON, so editing a workflow in the n8n UI gets overwritten on the next build. The pure logic they inline is unit-tested.
Asking for a recap of the week. The company names, round sizes and investors are fields the triage step extracted into a structured column when each article was first read, so building the recap is a query over that column rather than a second pass over the articles.
Asking a question the stored feed can answer. The figures come from several separately triaged documents, pulled together at query time.
I read across six verticals and most of what arrives is unusable. The obvious fix is an LLM that reads everything and flags what matters. That fix failed in a specific way: ask a model "is this relevant, 1 to 5" and it answers 5. On one live query, ten of ten articles scored exactly 5. The filter discriminated nothing.
Getting useful judgment out of a small local model took three changes. I split the single score into two independent axes. I made the model write its angle before rating that angle. And I reordered the response schema, because grammar-constrained decoding emits properties in schema order, so each field conditions the next.
Then there was n8n itself, which fails silently in ways you only catch by auditing the data. One sub-workflow default wrote every result against the first document and dropped 38% of a corpus. It ran that way for days.
So nothing here is hand-edited in a UI. Scripts generate the workflows, and the logic they inline is unit-tested. It runs on a 12 GB card with a 9B model, because per-document API costs would have killed the habit of running it at all.
Two of the ten pipeline stages call a model. Everything else is code, which is why the test suite covers the parts that matter an
Self-hosted research discovery pipeline on n8n. Searches, scrapes and scores documents against a defined beat with a local 9B model, then answers questions over Telegram.
Similar projects matched by category, topics, and programming language.

Hermex is a native SwiftUI iPhone app that lets you control a self-hosted Hermes AI agent directly from your phone, with no subscriptions, tracking, or third-party relay.
An open-source Dynamic Workflow runtime that combines deterministic TypeScript orchestration with replaceable Agent runtimes.
Cindy is an open-source AI agent that runs locally on your machine, integrates multiple AI harnesses and models, and provides memory, skills, and automation to perform real work in your projects and apps.