Inspiration

Deep web research is fundamentally broken. When diving into complex topics, we constantly find ourselves drowning in dozens of open tabs, losing mental context, and hitting severe token limits when trying to feed massive amounts of scraped data back into standard LLMs. Standard chatbots forget what you were doing an hour ago. We wanted to build a true, long-term stateful research companion—an autonomous agent that could handle the heavy lifting of web parsing while flawlessly maintaining the context of our investigation over time.

What it does

Chronicle AI is an autonomous, stateful research agent powered by Qwen. It doesn't just answer questions; it conducts sustained investigations. Users interact with a clean, responsive console to assign research topics. Behind the scenes, Chronicle AI spins up autonomous browsing agents to scrape, parse, and analyze web data. Its defining feature is its ability to "hibernate"—compressing and saving the current state of a massive research session and waking back up with its memory and analytical context perfectly intact whenever the user returns.

How we built it

We engineered a decoupled, dual-repository architecture to separate our interactive client from the heavy agentic workloads: Frontend: Built with Next.js and styled using Tailwind CSS. We designed custom interface components like the ResearchConsole and TopicModal to provide users with a granular, real-time view of the agent's thought process and data collection. Backend & AI Core: Written in Python and containerized via Docker. We integrated the Qwen API as the core reasoning engine. The Architecture: We built two critical custom modules: browser_agent.py: Uses Qwen's strict instruction-following to dynamically parse web contexts and execute multi-step research intents. hibernation_engine.py: Our custom state manager. It uses Qwen to intelligently summarize and serialize active research states, saving them to MongoDB (mongo_db.py) so massive contexts don't blow up token limits.

Challenges we ran into

One of the biggest hurdles was managing the state and token consumption of long-running autonomous tasks. Feeding raw web scrapes into an LLM quickly degrades its output quality. We had to iterate heavily on our hibernation_engine.py to ensure Qwen was effectively compressing the data without losing the latent, high-value connections between different research sources. Additionally, ensuring our backend was cleanly containerized with Docker required careful environment orchestration to prepare it for flexible cloud deployment.

Accomplishments that we're proud of

We are incredibly proud of successfully implementing the hibernation and state-recovery loop. Watching the system serialize a complex, multi-source research session into MongoDB and seamlessly restore it into the Next.js ResearchConsole proved that our architecture works. We also successfully maintained a clean, professional dual-repo codebase under strict hackathon time constraints.

What we learned

Building Chronicle AI pushed us deep into the realities of agentic AI frameworks. We learned how to properly prompt Qwen for structured data extraction rather than just conversational text. We also gained significant experience in full-stack orchestration—specifically, how to bind an asynchronous Python backend running heavy LLM tasks to a snappy, responsive React frontend.

What's next for Chronicle AI

We plan to expand the browser_agent to support multi-agent collaboration, where different Qwen instances can debate and verify the validity of the sources they find. On the frontend, we want to implement rich data visualization inside the TopicModal to map out the connections between different saved research states. Ultimately, we want to scale Chronicle AI into a tool that researchers and developers can run continuously in the background of their daily workflows

Built With

Share this project:

Updates