Objective System Overview
2026-06-016 turns21,503 charsgpt-5-5
Summary
The user wanted to rewrite technical descriptions of their AI project into LinkedIn and family email formats.
Messages
objective is a locally-run daemon that polls RSS, Reddit, and YouTube sources, extracts factual claims and entities using local LLMs (llama.cpp with Metal GPU), stores everything in a KuzuDB temporal property graph with Qdrant vector search, detects contradictions between claims across sources, clusters them into events and narratives, and generates TTS audio broadcasts — all without any cloud dependencies.
What It Does
Ingestion
Polls RSS feeds (with ETag support), Reddit subreddits (OAuth2), and YouTube channel uploads (yt-dlp) on a configurable schedule. Documents are normalized (HTML strip, Unicode NFKC, SHA-256 dedup) and stored as nodes in a KuzuDB graph with edges to their source.
Claim Extraction
Each document is fed to a local LLM that extracts atomic factual claims with confidence scores, stance classification, topic tags, and supporting evidence text via structured JSON output with GBNF grammar enforcement.
Entity Resolution
A local LLM extracts named entities (people, organizations, locations, events) and resolves them against existing graph nodes via fuzzy matching and alias tracking.
Event Clustering
Claims are assigned to events by entity overlap. New claims with shared entities create or join existing event nodes. Events track importance scores, status (emerging/active/resolved), and temporal boundaries.
Contradiction Detection
New claims are embedded (BGE-Small-EN-v1.5) and searched against existing claims via Qdrant cosine similarity. Pairs above 0.75 threshold are classified by an LLM into typed contradictions: DIRECT_CONTRADICTION, NUMERICAL_DISCREPANCY, FRAMING_DIFFERENCE, TEMPORAL_DISCREPANCY, or COMPATIBLE. Contradictions are persisted as graph edges and never automatically resolved.
Narrative Analysis
Unclustered claims are grouped into narrative threads via embedding cosine similarity clustering (>0.75 threshold). Each cluster gets an LLM-generated label. Active narratives track drift scores and framing classifications over time.
Broadcast Generation
A local LLM queries the graph for top events, unresolved contradictions, active narratives, and system metrics, then writes an 800–1200 word TTS-optimized broadcast script. The model uses <think> blocks for internal reasoning before outputting spoken content.
Audio Production
Scripts are split into ~100-word chunks, preprocessed (abbreviation expansion, number spelling, date normalization, dollar/percentage formatting), then synthesized via Qwen3-TTS (mlx_audio) with voice cloning from reference audio. Segments are stitched with crossfades and queued for playback via afplay on macOS. An ambient generator produces procedural drone audio (55Hz/110Hz sine waves, atmospheric noise) mixed beneath speech.
Scheduling
A daemon scheduler runs five task groups on independent intervals:
Ingestion (default: 60s)
Analysis pipeline (default: 120s) — extraction → entity resolution → event clustering → contradiction detection → narrative analysis → framing analysis → source reliability → graph update
Broadcast (default: 90s)
Audio production (default: 90s)
Maintenance (default: 24h) — memory consolidation, evaluation
Tasks have configurable max runtime, failure limits, and circuit-breaking.
https://github.com/kliewerdaniel/objective
https://www.youtube.com/watch?v=-qL7OtkNQ80
-----read all of this and write in my voice a few paragraphs about the implications and what this can be used for
:::writing{variant="document" id="58241"}
What interests me about Objective is not that it generates another AI summary of the news. We already have thousands of systems that scrape headlines, rewrite articles, and flood the internet with synthetic content. The interesting part is that Objective treats information as a living graph of claims rather than a stream of articles.
Most news systems think in documents. Objective thinks in assertions.
A Reuters article, a Reddit post, a YouTube video, and an RSS feed might all be discussing the same event, but they are doing so through different narratives, different incentives, and different framing. Instead of preserving those documents as isolated pieces of content, Objective decomposes them into atomic factual claims, links them together through entities and events, and stores the resulting structure in a temporal knowledge graph. The result is something closer to a machine-readable memory of reality than a traditional news archive.
The implication is that the system can begin tracking disagreement itself as a first-class object. Most information systems attempt to resolve contradictions. Objective intentionally does not. Contradictions become graph edges. They are preserved. They become evidence that different sources are making different claims about the same event. In a world where information warfare increasingly revolves around framing, selective omission, and narrative construction, preserving disagreement may be more valuable than attempting to eliminate it.
What emerges is not merely a news reader but a continuously updating map of competing interpretations of reality.
As the graph grows, events become clusters of claims. Narratives become clusters of events. Contradictions become measurable relationships between narratives. Over time you can begin observing not only what happened, but how different communities describe what happened. A financial event may appear as an economic crisis in one ecosystem, a market correction in another, and an opportunity in a third. Objective is capable of storing all three simultaneously without forcing a single authoritative interpretation.
This creates opportunities far beyond media monitoring.
Researchers could use it to study information propagation across communities. Journalists could use it to identify unresolved factual disputes before writing stories. Historians could reconstruct evolving narratives around major events. Intelligence analysts could monitor emerging topics before they reach mainstream awareness. Investors could detect shifts in sentiment and framing long before they manifest in market behavior. Even individuals could use it as a personalized alternative to algorithmically curated news feeds.
The architecture is equally interesting because it is entirely local.
Every major trend in AI currently points toward larger centralized systems. More cloud inference. More API dependencies. More black-box decision making. Objective moves in the opposite direction. The ingestion pipeline runs locally. The graph database runs locally. The embeddings run locally. The reasoning runs locally. The voice synthesis runs locally. Every piece of information remains under the user's control.
That matters because information systems eventually become memory systems. And memory systems become power.
When your memory is stored inside somebody else's infrastructure, your ability to inspect, audit, and preserve it is constrained by their incentives. Objective treats knowledge as a local asset. The graph belongs to the operator. The contradictions belong to the operator. The historical narratives belong to the operator. Nothing requires permission from a corporation to continue functioning.
The most fascinating outcome may be the audio broadcasts.
Humans evolved to consume stories rather than databases. A graph containing millions of interconnected claims is useful, but difficult to interpret directly. By transforming the graph into a continuously generated radio-style broadcast, Objective effectively creates a synthetic analyst that spends its entire existence reading, comparing, organizing, and explaining information. Not by searching the internet at request time, but by maintaining an evolving internal model of events as they unfold.
At that point the system begins looking less like a news application and more like a cognitive prosthetic.
It becomes a second memory. A persistent observer. A machine whose primary task is not generating content but constructing understanding from streams of competing information.
That is the direction I find most interesting.
Not bigger models.
Not more parameters.
Not another chatbot.
A locally owned system that continuously transforms raw information into structured knowledge, preserves uncertainty instead of hiding it, and helps humans navigate an increasingly fragmented information environment without surrendering control of their data or reasoning processes.
:::
gpt-5-5
now rewrite the following as a linkedin post: objective is a locally-run daemon that polls RSS, Reddit, and YouTube sources, extracts factual claims and entities using local LLMs (llama.cpp with Metal GPU), stores everything in a KuzuDB temporal property graph with Qdrant vector search, detects contradictions between claims across sources, clusters them into events and narratives, and generates TTS audio broadcasts — all without any cloud dependencies.
What It Does
Ingestion
Polls RSS feeds (with ETag support), Reddit subreddits (OAuth2), and YouTube channel uploads (yt-dlp) on a configurable schedule. Documents are normalized (HTML strip, Unicode NFKC, SHA-256 dedup) and stored as nodes in a KuzuDB graph with edges to their source.
Claim Extraction
Each document is fed to a local LLM that extracts atomic factual claims with confidence scores, stance classification, topic tags, and supporting evidence text via structured JSON output with GBNF grammar enforcement.
Entity Resolution
A local LLM extracts named entities (people, organizations, locations, events) and resolves them against existing graph nodes via fuzzy matching and alias tracking.
Event Clustering
Claims are assigned to events by entity overlap. New claims with shared entities create or join existing event nodes. Events track importance scores, status (emerging/active/resolved), and temporal boundaries.
Contradiction Detection
New claims are embedded (BGE-Small-EN-v1.5) and searched against existing claims via Qdrant cosine similarity. Pairs above 0.75 threshold are classified by an LLM into typed contradictions: DIRECT_CONTRADICTION, NUMERICAL_DISCREPANCY, FRAMING_DIFFERENCE, TEMPORAL_DISCREPANCY, or COMPATIBLE. Contradictions are persisted as graph edges and never automatically resolved.
Narrative Analysis
Unclustered claims are grouped into narrative threads via embedding cosine similarity clustering (>0.75 threshold). Each cluster gets an LLM-generated label. Active narratives track drift scores and framing classifications over time.
Broadcast Generation
A local LLM queries the graph for top events, unresolved contradictions, active narratives, and system metrics, then writes an 800–1200 word TTS-optimized broadcast script. The model uses <think> blocks for internal reasoning before outputting spoken content.
Audio Production
Scripts are split into ~100-word chunks, preprocessed (abbreviation expansion, number spelling, date normalization, dollar/percentage formatting), then synthesized via Qwen3-TTS (mlx_audio) with voice cloning from reference audio. Segments are stitched with crossfades and queued for playback via afplay on macOS. An ambient generator produces procedural drone audio (55Hz/110Hz sine waves, atmospheric noise) mixed beneath speech.
Scheduling
A daemon scheduler runs five task groups on independent intervals:
Ingestion (default: 60s)
Analysis pipeline (default: 120s) — extraction → entity resolution → event clustering → contradiction detection → narrative analysis → framing analysis → source reliability → graph update
Broadcast (default: 90s)
Audio production (default: 90s)
Maintenance (default: 24h) — memory consolidation, evaluation
Tasks have configurable max runtime, failure limits, and circuit-breaking.
https://github.com/kliewerdaniel/objective
----
What interests me about Objective is not that it generates another AI summary of the news. We already have thousands of systems that scrape headlines, rewrite articles, and flood the internet with synthetic content. The interesting part is that Objective treats information as a living graph of claims rather than a stream of articles.
Most news systems think in documents. Objective thinks in assertions.
A Reuters article, a Reddit post, a YouTube video, and an RSS feed might all be discussing the same event, but they are doing so through different narratives, different incentives, and different framing. Instead of preserving those documents as isolated pieces of content, Objective decomposes them into atomic factual claims, links them together through entities and events, and stores the resulting structure in a temporal knowledge graph. The result is something closer to a machine-readable memory of reality than a traditional news archive.
The implication is that the system can begin tracking disagreement itself as a first-class object. Most information systems attempt to resolve contradictions. Objective intentionally does not. Contradictions become graph edges. They are preserved. They become evidence that different sources are making different claims about the same event. In a world where information warfare increasingly revolves around framing, selective omission, and narrative construction, preserving disagreement may be more valuable than attempting to eliminate it.
What emerges is not merely a news reader but a continuously updating map of competing interpretations of reality.
As the graph grows, events become clusters of claims. Narratives become clusters of events. Contradictions become measurable relationships between narratives. Over time you can begin observing not only what happened, but how different communities describe what happened. A financial event may appear as an economic crisis in one ecosystem, a market correction in another, and an opportunity in a third. Objective is capable of storing all three simultaneously without forcing a single authoritative interpretation.
This creates opportunities far beyond media monitoring.
Researchers could use it to study information propagation across communities. Journalists could use it to identify unresolved factual disputes before writing stories. Historians could reconstruct evolving narratives around major events. Intelligence analysts could monitor emerging topics before they reach mainstream awareness. Investors could detect shifts in sentiment and framing long before they manifest in market behavior. Even individuals could use it as a personalized alternative to algorithmically curated news feeds.
The architecture is equally interesting because it is entirely local.
Every major trend in AI currently points toward larger centralized systems. More cloud inference. More API dependencies. More black-box decision making. Objective moves in the opposite direction. The ingestion pipeline runs locally. The graph database runs locally. The embeddings run locally. The reasoning runs locally. The voice synthesis runs locally. Every piece of information remains under the user's control.
That matters because information systems eventually become memory systems. And memory systems become power.
When your memory is stored inside somebody else's infrastructure, your ability to inspect, audit, and preserve it is constrained by their incentives. Objective treats knowledge as a local asset. The graph belongs to the operator. The contradictions belong to the operator. The historical narratives belong to the operator. Nothing requires permission from a corporation to continue functioning.
The most fascinating outcome may be the audio broadcasts.
Humans evolved to consume stories rather than databases. A graph containing millions of interconnected claims is useful, but difficult to interpret directly. By transforming the graph into a continuously generated radio-style broadcast, Objective effectively creates a synthetic analyst that spends its entire existence reading, comparing, organizing, and explaining information. Not by searching the internet at request time, but by maintaining an evolving internal model of events as they unfold.
At that point the system begins looking less like a news application and more like a cognitive prosthetic.
It becomes a second memory. A persistent observer. A machine whose primary task is not generating content but constructing understanding from streams of competing information.
That is the direction I find most interesting.
Not bigger models.
Not more parameters.
Not another chatbot.
A locally owned system that continuously transforms raw information into structured knowledge, preserves uncertainty instead of hiding it, and helps humans navigate an increasingly fragmented information environment without surrendering control of their data or reasoning processes.
Here's a LinkedIn version that keeps your voice while making it suitable for a professional audience:
:::writing{variant="social_post" id="71482"}
I've spent a lot of time thinking about a problem that most AI systems aren't trying to solve.
The internet doesn't suffer from a lack of information.
It suffers from a lack of structure.
Every day millions of articles, Reddit posts, YouTube videos, podcasts, tweets, and blog posts are published. Most systems treat these as documents. Search indexes them. LLMs summarize them. Recommendation algorithms rank them.
But very few systems attempt to understand the underlying claims being made.
That's why I've been building Objective:
A fully local, self-hosted intelligence daemon that continuously ingests RSS feeds, Reddit discussions, and YouTube content, extracts factual claims with local LLMs, stores them in a temporal knowledge graph, detects contradictions across sources, clusters events and narratives, and generates audio news broadcasts—all without cloud APIs or external dependencies.
Instead of storing articles, Objective stores assertions.
A Reuters article, a Reddit thread, and a YouTube video might all discuss the same event while presenting entirely different interpretations. Objective decomposes those sources into atomic claims, links them through entities and events, and preserves disagreements as first-class objects within the graph.
This is the part that interests me most.
Most information systems try to eliminate contradictions.
Objective intentionally preserves them.
When two sources disagree, the contradiction becomes data.
Over time the graph begins to reveal not only what happened, but how different communities describe what happened.
Events become clusters of claims.
Narratives become clusters of events.
Contradictions become measurable relationships between narratives.
The result is less like a news reader and more like a continuously evolving map of competing interpretations of reality.
Technically, the stack is built around local-first AI:
• llama.cpp running on Apple Metal for reasoning and extraction
• KuzuDB for temporal graph storage
• Qdrant for vector search
• BGE embeddings for semantic similarity
• Qwen3-TTS for broadcast generation
• Local scheduling, processing, and storage from end to end
No cloud inference.
No vendor lock-in.
No monthly API bill.
No external dependencies required for operation.
The longer I work on this project, the less I think it's a news application.
What emerges looks more like a cognitive prosthetic.
A persistent system that reads continuously, tracks evolving events, preserves uncertainty, records disagreement, and transforms raw information into structured knowledge.
Not another chatbot.
Not another AI wrapper.
A machine whose primary purpose is constructing understanding.
GitHub:
https://github.com/kliewerdaniel/objective
I'm curious whether others see applications beyond media analysis. Research, intelligence, finance, historical analysis, scientific literature review, open-source intelligence, and personal knowledge management all seem like natural extensions of the same architecture.
:::
This version is optimized for LinkedIn engagement while still sounding like something you'd actually write rather than corporate marketing copy.
gpt-5-5
now write a short email to my family about the project
:::writing{variant="email" id="43817" subject="A Project I've Been Working On"}
Hi everyone,
I wanted to share a project I've been building called Objective.
The basic idea is to create a system that continuously reads information from sources like news feeds, Reddit discussions, and YouTube videos, then uses local AI models running on my own computer to extract facts, identify important people and events, and track where different sources agree or disagree.
What makes it interesting to me is that it doesn't just summarize articles. Instead, it breaks information down into individual claims and stores them in a knowledge graph so it can connect related events over time. If two sources make conflicting claims, the system preserves that disagreement rather than trying to force a single answer.
It can then generate audio broadcasts that summarize major events, emerging stories, and unresolved contradictions across different sources. Everything runs locally on my machine without relying on cloud AI services.
I've become increasingly interested in the idea that the future of AI isn't just bigger chatbots but systems that help us organize knowledge, understand complex information, and preserve context over long periods of time. This project is my attempt to explore that idea.
It's still a work in progress, but I've learned a lot building it and I'm excited to see where it goes.
Love,
Daniel
:::
gpt-5-5