Skip to content

JanGustau17/HoyaHacks

Repository files navigation

SplatWitness

See the Full Picture — Forensic 3D scene reconstruction from partial video evidence.

Built at HoyaHacks 2026.


The Problem

Crime scene footage is often incomplete. A body cam captures only what the officer sees. Surveillance video shows one angle. Investigators are left piecing together fragments, unable to explore the full environment where critical events occurred.

Our Solution

SplatWitness transforms partial video footage into complete, explorable 3D environments using Gaussian Splatting technology. Detectives and forensic analysts can now:

  • Explore every angle of a crime scene from a single video clip
  • Detect tampering through temporal anomaly analysis
  • Verify evidence integrity with cryptographic chain of custody
  • Review AI-assisted insights highlighting suspicious patterns

Features

3D Scene Reconstruction

Upload body cam, surveillance, or any video footage. Our neural reconstruction pipeline builds an interactive 3D model of the entire environment — even areas not directly visible in the original video.

Tampering Detection

Advanced temporal analysis identifies cuts, reorders, and edits in video evidence. Visual timeline shows anomaly spikes with confidence scores.

Chain of Custody

Every piece of evidence is hashed (SHA-256) and tracked. Metadata including upload time, file size, and integrity status are preserved for court admissibility.

AI Forensic Analysis

Gemini-powered narrative generation provides investigative insights, highlighting visual evidence and generating hypotheses about detected anomalies.

Interactive Timeline

Scrub through footage with synchronized video playback and 3D viewer. Jump directly to detected anomalies with one click.


Tech Stack

Layer Technology
Frontend React 19, Tailwind CSS, Framer Motion
3D Rendering Luma AI (Gaussian Splatting)
Charts Recharts
Icons Lucide React
AI Analysis Google Gemini
Backend Python (FastAPI)

Quick Start

Prerequisites

  • Node.js 18+
  • npm or yarn

Installation

# Clone the repository
git clone https://github.com/your-username/hoya-hacks.git
cd hoya-hacks

# Install dependencies
npm install

# Start development server
npm start

Open http://localhost:3000 to view the app.

Backend (Optional)

cd backend
pip install -r requirements.txt
python main.py

Usage

  1. Upload — Drop any video file (body cam, surveillance, phone footage)
  2. Wait — Watch as the system reconstructs the 3D environment
  3. Explore — Navigate the interactive 3D scene from any angle
  4. Analyze — Review timeline for tampering, check AI insights
  5. Export — Document findings with chain of custody intact

Demo Mode

The app runs in demo mode by default, using pre-computed 3D models and mock forensic data. This allows full exploration of features without backend processing.


Project Structure

├── src/
│   ├── components/
│   │   ├── UploadLanding.jsx    # Landing page with upload
│   │   ├── GeneratingView.jsx   # Processing animation
│   │   ├── ResultView.jsx       # Main forensic dashboard
│   │   ├── SplatViewer.jsx      # 3D Gaussian splat viewer
│   │   ├── TimelineChart.js     # Anomaly timeline
│   │   ├── GeminiFeed.js        # AI analysis feed
│   │   └── ArtifactDrawer.js    # Evidence artifacts
│   ├── context/
│   │   └── TimeSyncContext.js   # Video/timeline synchronization
│   ├── mock/
│   │   └── api_contract.json    # Demo data
│   └── App.js                   # Main app router
├── backend/
│   └── main.py                  # FastAPI server
└── public/

Screenshots

Upload Processing Analysis
Clean upload interface Animated reconstruction progress Full forensic dashboard

Team

Built with caffeine and determination at Georgetown University.


License

MIT


Acknowledgments

  • Luma AI for Gaussian Splatting technology
  • Google Gemini for AI analysis
  • HoyaHacks organizers and mentors

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors