TimelineForge: Bringing Version Control to Investigative Analysis

The Spark of Inspiration

Our journey with TimelineForge began with a simple observation: investigative analysts face the same challenges that software developers solved decades ago with Git. We watched investigators struggle with a common dilemma—when new evidence suggests an alternative theory, they often felt forced to abandon their current narrative or risk losing their original line of reasoning.

Just as developers branch their code to experiment with new features without breaking their main codebase, we realized investigators needed the same capability. They needed a way to explore multiple theories simultaneously, to follow evidence down divergent paths, and to merge insights back together when patterns emerged. We wanted to bring the mathematical precision and organizational power of version control to the field of forensic analysis and investigation.

What TimelineForge Does

TimelineForge is a professional investigative platform that transforms how analysts organize complex evidence and explore multiple theories. At its core, the platform provides a 3D environment where evidence is mapped both chronologically and semantically—creating a space where time and meaning intersect.

The centerpiece of our system is Narrative Version Control. When an investigator encounters a point of divergence—perhaps a witness statement that contradicts a technical report—they can create a branch. Each theory gets its own investigative thread, its own space to develop independently. No more choosing between competing narratives. No more lost work.

But TimelineForge is more than just an organizational tool. We've integrated artificial intelligence that analyzes evidence as it's added to the system. The AI automatically:

  • Extracts key details from text and images
  • Assesses credibility based on metadata
  • Generates vector embeddings to understand the underlying semantic meaning

When two pieces of evidence are semantically related but exist on different branches, the system draws a visual link between them—revealing connections that might otherwise remain hidden. The platform also highlights contradictions: data points that are close in time but far apart in meaning, signaling areas that need the investigator's attention.

Building the Technical Foundation

We built TimelineForge with a modern tech stack optimized for performance and reliability. The frontend combines React and TypeScript, with Vite as our build tool to ensure a blazing-fast development workflow. For the 3D visualization, we chose Three.js, accessed through the React Three Fiber library. This allowed us to manage complex 3D scenes using declarative React components bringing the power of WebGL rendering into a familiar development paradigm.

On the backend, we selected Supabase to provide a robust PostgreSQL database, real-time data synchronization, and secure file storage. The intelligence layer is powered by the Gemini-3 API, which processes and analyzes evidence as it flows into the system.

The mathematical heart of TimelineForge lies in its vector analysis. We developed custom edge functions that convert text and image descriptions into high-dimensional vectors. These vectors are then compared using cosine similarity to measure the semantic relationship between data points:

$$ \text{similarity} = \cos(\theta) = \frac{\mathbf{A} \cdot \mathbf{B}}{|\mathbf{A}| |\mathbf{B}|} = \frac{\sum_{i=1}^n A_i B_i}{\sqrt{\sum_{i=1}^n A_i^2} \sqrt{\sum_{i=1}^n B_i^2}} $$

This mathematical approach allows the system to calculate narrative divergence and determine spatial positioning automatically. Evidence that shares semantic similarity clusters together in 3D space, while contradictory evidence naturally separates, creating an intuitive visual representation of the investigative landscape.

Challenges We Overcame

Building TimelineForge pushed us into uncharted territory. Combining 3D graphics with real-time data updates presented several technical hurdles. Managing the WebGL context to prevent performance degradation during heavy analysis cycles required extensive optimization. We had to carefully balance the complexity of our 3D scenes with the need for smooth, responsive interactions.

One of our most abstract challenges was mapping semantic concepts into consistent three-dimensional space. How do you position evidence that exists primarily as meaning rather than as concrete spatial objects? We solved this through our vector embedding system, allowing the mathematics to guide the spatial organization.

Another major challenge was ensuring the reliability of AI-generated data structures. Our initial implementations occasionally produced inconsistent formats that would break downstream processing. We addressed this by implementing strict TypeScript interfaces and validation layers. Now, every AI output must match our expected database schema before it's saved and no exceptions.

What Makes Us Proud

We're proud of creating a functional branching system specifically designed for investigative data. As said before, TimelineForge is one-of-a-kind and first-in-the-market Version Control system for critical events in the real world. The ability to visualize the "split" in a narrative and then merge those findings back into a cohesive main report represents a significant step forward for investigative tools. We've created something that didn't exist before a way to hold multiple theories in mind simultaneously without losing the thread of any single narrative.

We're also pleased with the performance of our 3D rendering engine. Even when handling hundreds of evidence nodes and complex relationship links, the interface remains responsive and professional. The system scales gracefully, maintaining its usability even as investigations grow in complexity.

Lessons Learned

This project provided invaluable lessons in the practical application of vector mathematics for data analysis. We discovered that the same mathematical tools used in machine learning could be repurposed to create intuitive visual representations of abstract investigative concepts.

We learned how to build complex 3D interfaces that remain accessible and professional. It's easy to create a 3D environment that feels like a tech demo; it's much harder to create one that investigators can use productively every day.

We also gained deep experience in architecting systems that rely on large language models. Specifically, we learned the critical importance of asynchronous processing. By carefully managing when and how we call our AI services, we kept the user interface smooth and responsive as no one wants to wait while the AI thinks.

The Road Ahead

The future of TimelineForge is about collaboration and scale. Our next major feature is Multi-Analyst Synchronization, which will allow different investigators to work on separate branches of the same investigation simultaneously. Imagine a team exploring different theories in parallel, with the system automatically highlighting when their branches uncover complementary evidence.

We're also planning to integrate automated data ingestion from public records, news feeds, and other sources. This will allow investigators to enrich their timelines with contextual information automatically.

Finally, we're working on advanced filtering tools for the 3D visualization. As investigations scale to thousands of evidence points, investigators need the ability to focus on specific threads, time periods, or semantic clusters. We're developing filters that will make even the most complex investigations navigable and understandable.


TimelineForge represents our vision for the future of investigative analysis: a future where analysts have the tools they need to explore every possibility, where evidence organizes itself based on meaning and time, and where the power of AI enhances rather than replaces human insight. We're excited to see how investigators will use these tools to uncover truth in an increasingly complex world.

Built With

  • framer-motion
  • gemini-3
  • gemini-api
  • google-ai-studio
  • lucide-react
  • react
  • react-three-fiber
  • supabase
  • tailwind-css
  • tavily-api
  • three.js
  • typescript
  • vite
Share this project:

Updates