Inspiration
Narrative Radar was inspired by my concern about how online claims spread, change, and gain credibility through repetition, even when reliable evidence is missing.
With my background in sociology, I wanted to explore how technology could help investigators look beyond what is being shared and examine where claims originated, what evidence supports or contradicts them, and how different pieces of information connect.
This inspired me to build Narrative Radar around one principle: repetition is not verification, similarity is not proof, and evidence must remain traceable.
What it does
Narrative Radar is a graph-based narrative investigation platform designed to help users organise investigations, record online content, link claims to their original quotations, assess evidence, explore connected records, and generate structured reports.
Its current features include:
- Investigation management: Create and organise investigations around specific questions.
- Source content and provenance: Record submitted content and available information about its origin.
- Claim management: Create claims linked to exact quotations, with quotation validation and duplicate prevention.
- Evidence assessment: Record whether evidence supports, contradicts, or is insufficient to establish a claim, together with a written rationale.
- Graph-based relationships: Connect investigations, content, claims, and related records.
- Structured reporting: Bring together investigation details, claims, provenance, assessments, and limitations.
The prototype uses user-submitted content and optional URL metadata; it does not claim comprehensive live social-media crawling. The intended AI-powered claim-comparison workflow has not yet been verified with a successful live model response.
How I built it
I built Narrative Radar using Jac 0.34.23, using Jac for backend operations and graph-oriented application logic. The project uses typed graph structures to represent investigations, content, claims, evidence, sources, narratives, and accounts.
Jac services and graph operations support the main workflows, including creating investigations, submitting content, recording claims, validating quotations, preventing duplicate claims, assessing evidence, retrieving connected records, and generating reports.
I also configured an AI-powered claim-comparison workflow using Jac's by llm() integration, intended to identify potential similarities between claims. However, the hosted environment has not successfully exposed the configured API key to the running process, so a live AI response remains unverified.
I used AI-assisted development tools to help build and troubleshoot the application, testing and refining the workflows while preserving existing functionality.
Challenges I ran into
One of my biggest challenges was getting the AI provider to communicate correctly with the hosted application. Although I saved the API key in the environment settings and configured the project to reference it, the running process continued to report that the variable was unavailable.
I also encountered issues with investigation creation, content submission, graph relationships, quotation validation, duplicate prevention, and dashboard behaviour. These challenges required targeted debugging and careful changes to avoid breaking features that were already working.
Working within a limited hackathon timeframe taught me to prioritise the core investigation workflow and distinguish between features that were implemented and features that had been fully tested.
Accomplishments that I'm proud of
I am proud of turning an idea about a real information problem into a working graph-based application.
I developed a connected investigation workflow supporting investigation management, source-content submission, claim creation, quotation validation, evidence assessment, graph-linked records, and structured reporting.
I am particularly proud of incorporating provenance and assessment rationale into the design. These features encourage users to consider where information originated and why evidence supports or fails to establish a claim, instead of treating repeated allegations as facts.
I am also proud of learning and applying Jac and graph-oriented development while working through technical challenges under hackathon conditions.
What I learned
I learned that building a useful AI-enabled application involves much more than choosing a model or creating a dashboard. It requires thoughtful data design, connected workflows, secure environment configuration, testing, and clear communication about limitations.
Working with Jac and Jaseci helped me understand how graph-based structures can represent relationships between investigations, claims, content, and evidence.
I also learned the importance of distinguishing observed relationships from inferred similarities. Two claims may resemble each other without proving that their sources coordinated or copied one another.
Most importantly, I learned to treat AI as a potential aid to investigation rather than an unquestionable authority, while preserving human judgement when evaluating evidence.
What's next for Narrative Radar
My next priority is to resolve the hosted environment configuration and verify a successful live by llm() response. I also plan to test the claim-comparison workflow end to end and improve graph readability and the overall investigation experience.
Future development could include carefully governed source integrations, richer narrative timelines, improved evidence corroboration, and tools for examining how claims change across different sources over time.
My long-term goal is to develop Narrative Radar into a practical, transparent, and evidence-centred investigation platform that helps people understand online narratives without confusing repetition with truth.
Built With
- jachammer
Log in or sign up for Devpost to join the conversation.