I'm building a news intelligence platform to be used by my openclaw instance @dutifulbob, SCOOP
local first, using local embedding model (qwen 8b)
ran into the issue because bob was giving me a repeat of the same news every day. it needed a system in the background to deduplicate different news items into single stories
interface is simple, call `scoop ingest...` with the json for the news item. it gets automatically analyzed and added to the pg database running pgvector
currently, it's just doing simple deduplication and gives me a nice UI where I can view the story and basically use it as an RSS reader
next up:
implement custom logic for my preference of ranking. for example, get upvote counts from hacker news and reflect it to the item's ranking on the feed
I want this to be fully hackable and adjusted to your preference. It should scale to thousands of news items ingested daily on your local machine, and be able to show you the most important ones
Usable by both you and your agent
github -> janitrai/scoop
Training all these models of different sizes, on changing datasets and running experiments have also revealed some challenges that I feel profs would never teach at a uni ML program
Like how to cleanly keep track of the gazillion runs
Yeah I can name them after layer dims and other stuff, but that's to me like trying to remember UUIDs
So I ended up choosing iso datestamp + petname, like 2026-02-15-flying-narwhal
If anyone has a convention that is easier on the brain and the eyes, I am all ears
I have a GPU now, so I can do ML experiments on @janitr_ai crypto/scam detection dataset
- I trained a tiny student BERT (transformer for the nonfamiliar), 3.6 MB ONNX model, still lightweight for a browser extension
- Still fully local on your device (no cloud inference)
- On frozen unseen holdout data (n=1,069), exact prediction accuracy improved from 77% -> 82%
- Scam detection improved: precision 91% -> 94%, recall 55% -> 61%
- Scam false alarm rate improved from 1.58% -> 1.21%
And models are on huggingface org now, handle is janitr
waiting compilation and execution will soon be the bottleneck again. and we’ll write the entire stack from scratch in a matter of years, because we can
Andy and Bill’s law will change and we’ll see incredible performance gains with the same hardware we already have
like what @astral_sh is doing to python, but with everything that is slow and has accumulated cruft
we need a protocol for agent <> app interaction
something that natively accounts for the abuse factor and let’s agents consume by paying. NOT crypto, NOT visa, something that’s agnostic of the accounting and payment system
and then all UIs will be purely for human clicking/tapping + instaban on the first proof of programmatic exploit
people will still make agents mimic humans, and every platform will have to invest in more sophisticated bot detection
this arms race will just proliferate, but we can at least start by creating legal channels for agents to consume data
I am now training smol bert models on my gpu for @janitr_ai scam detection
it's funny how I have to discover everything from scratch. like the models don't even know how to lay out performance metrics in a nice way in the terminal for a human to view and decide during experiments
it would by default bombard me with numbers that do not make visual sense. I then created a skill with common sense:
- metrics always on y-axis, candidates on x-axis
- write without zero and 2 sigfigs,.12 instead of 0.12345
- align the dots
- use asterisks to show which alternative is the best:
0-1% difference -> considered equal
1-5% -> *
5-10% -> **
10-50% -> ***
> 50% -> ****
visualization skill is in @janitr_ai repo for anyone who is interested