Inspiration
complex topics have complex histories. whether it's a technology, a movement, or an event, understanding how something evolved over time usually means jumping between wikipedia, academic papers, and random blog posts. we wanted something better: a single view that shows the full story, with sources you can actually trust and click on
What it does
evolve generates a clean, interactive timeline for any topic you throw at it. you type something in, and our backend, powered by sonnet 4.5, builds a chronological story with key events. by default, it uses a single-pass generation for speed, but users can enable our multi-stage pipeline if they want more thoroughly vetted sources and more technical detail. the best part? the links actually work. we made sure of it. also like the ui is nice.
How we built it
our stack is a modern frontend with a surprisingly deep backend pipeline, all powered by sonnet 4.5.
frontend architecture & ui/ux: pure react and vite for a snappy ui, with react bits for component scaffolding. we used three.js and react-three-fiber for the interactive galaxy background cause it looks sick. all the animations, from the loading screen to the text decryption, are framer motion, making everything feel super polished.
development workflow: we used claude code for pair programming assistance and code review throughout the build. we also experimented with anthropic's new claude 4.5 agent sdk for multi-agent setups in our backend pipeline, but ended up dialing it back for efficiency.
backend & ai pipeline: evolve isn’t just a search wrapper. by default, evolve uses single-pass generation with sonnet 4.5 and the googleSearch tool for speed. however, users can optionally enable our multi-stage verification pipeline for more accuracy: it’s a multi-stage retrieval + ranking system built from scratch. the express.js backend manages calls to the semantic scholar graph api, starting with bulk search of up to 1,000 papers. we implemented dynamic year-binning so results balance historical landmark papers with cutting-edge ones, and added a custom hybrid scoring function that blends citation-based impact with temporal weighting.
to hydrate the shortlist, the backend batches paper IDs into semantic scholar’s /paper/batch endpoint, pulling full metadata like abstracts, venues, and author lists. from there, we layer on a scoring system to surface the most influential works before passing the top 20–30 to sonnet 4.5 for a final rerank and summarization.
query analysis: sonnet 4.5 interprets your query and adds relevant keywords to improve search results. grounded generation: the model generates timeline events while pulling real sources from the web using the googleSearch tool.
verification & ranking: sonnet 4.5 acts as its own fact-checker, reading the content of each source it found and ranking them by relevance and accuracy. only the best sources make the cut.
Challenges we ran into
the biggest headache was model hallucination. early versions of evolve would just make up urls that looked real but led nowhere. it was basically useless. our breakthrough was building the verification pipeline where sonnet 4.5 fact-checks its own work. using the googleSearch tool was a game-changer, but making the model rank its own sources was the final piece of the puzzle.
What we learned
this project showed us that building a good ai product isn't about one magic prompt. it's about building a smart system around the model. using sonnet 4.5 as both a generator and a verifier was a huge unlock. grounding is everything. we also learned that sometimes the simplest approach (single-pass generation) is better than over-engineering with multi-agent systems when speed matters.
What's next for evolve
right now it's a cool demo, but we want to turn it into a real tool. next steps are letting users customize the timelines (like length and date range), comparing different timelines side-by-side, and maybe even letting you see ai-generated summaries of the sources without leaving the page. and like picture previews oooh.
Built With
- anthropic-api
- claude
- claude-agent-sdk
- claude-code
- claude-console
- express.js
- framer-motion
- node.js
- react
- react-three-fiber
- three.js
- vercel
- vite

Log in or sign up for Devpost to join the conversation.