Explore 4.5 billion years of geological time at your location
DeepTime is an educational web app that lets you explore the geological history beneath your feet. Using real geological data and AI-powered narratives, discover what your location looked like millions of years ago—from dinosaur-filled Cretaceous landscapes to ice age tundra.
Travel through time, right where you stand. Point your phone at the ground and journey through Earth's geological layers, learning about ancient climates, prehistoric life, and the forces that shaped our planet.
- 🗺️ Location-Based Geology - Real geological data from USGS for any location worldwide
- ⏰ Time Travel Slider - Scrub through millions of years of Earth's history
- 🎙️ AI-Powered Narratives - Rich, contextual descriptions generated by Google Gemini
- 🦕 AR Visualization - See prehistoric environments in augmented reality (WebXR supported devices)
- 🌍 Global Coverage - Explore geological history anywhere on Earth
- 📱 Progressive Web App - Install on any device, works offline
- 🎨 Beautiful UI - Dark theme with smooth animations and intuitive controls
Live App: https://studio-5849128303-2d9db.web.app
No installation required - just open in your browser and start exploring!
| Layer | Technology |
|---|---|
| Frontend | React 18 + TypeScript + Tailwind CSS |
| 3D/AR | Three.js + WebXR + model-viewer (iOS) |
| AI | Google Gemini 2.5 (Flash & flash-lite) |
| Backend | Firebase (Firestore + Hosting) |
| Geological Data | USGS Macrostrat API |
| Geocoding | Nominatim (OpenStreetMap) |
| State | Zustand |
| Build | Vite + PWA Plugin |
| Caching | IndexedDB (Dexie.js) |
# Clone the repo
git clone https://github.com/zzfadi/deeptime.git
cd deeptime
# Install dependencies
npm install
cd deep-time-app && npm install
# Set up environment variables
cp deep-time-app/.env.example deep-time-app/.env
# Edit .env with your API keys
# Run development server
cd deep-time-app && npm run devCreate deep-time-app/.env:
VITE_FIREBASE_API_KEY=your-firebase-api-key
VITE_FIREBASE_AUTH_DOMAIN=your-project.firebaseapp.com
VITE_FIREBASE_PROJECT_ID=your-project-id
VITE_FIREBASE_STORAGE_BUCKET=your-project.firebasestorage.app
VITE_FIREBASE_MESSAGING_SENDER_ID=your-sender-id
VITE_FIREBASE_APP_ID=your-app-id
VITE_GEMINI_API_KEY=your-gemini-api-keyThis project was built entirely using Kiro, an AI-powered IDE that combines:
- 3 complete specifications defining requirements, design, and implementation
- EARS-formatted requirements with acceptance criteria
- Architecture diagrams and correctness properties
- Full requirement traceability
- Google Gemini 2.5 for dynamic content generation
- Kiro AI for code generation, refactoring, and testing
- Property-based testing with fast-check
- Automated documentation generation
- Firebase MCP integration for deployment
- Playwright for E2E testing
- TypeScript for type safety
- Comprehensive error handling and offline support
deeptime/
├── .kiro/ # Kiro specs, hooks, steering (REQUIRED for hackathon)
│ └── specs/
│ ├── deep-time/ # Core types spec
│ ├── deep-time-pwa/ # PWA spec
│ └── enhanced-ar/ # AR experience spec
├── src/ # Core library (types, services)
├── deep-time-app/ # React PWA application
│ ├── src/
│ │ ├── ar/ # AR session, creatures, transitions
│ │ ├── components/ # React components
│ │ ├── services/ # Firebase, Gemini, geological APIs
│ │ └── data/ # Creature manifest
│ └── public/
│ └── models/ # GLTF creature models
└── tests/ # Property-based tests
DeepTime helps you understand:
- Geological Time Scale - Visualize the vast spans of Earth's history
- Plate Tectonics - See how your location has changed over time
- Climate Change - Learn about ancient climates and ecosystems
- Evolution - Discover how life evolved through different eras
- Local Geology - Understand the rocks and fossils beneath your feet
Perfect for:
- 🎓 Students learning about Earth science
- 👨🏫 Teachers looking for engaging educational tools
- 🌱 Nature enthusiasts exploring their local environment
- 🔬 Anyone curious about our planet's history
Future enhancements planned:
- More detailed creature models and animations
- Educational quiz mode
- Social sharing of discoveries
- Multi-language support
- Fossil identification guide
- Time-lapse animations of geological changes
- Integration with museum collections
MIT License - see LICENSE
- USGS Macrostrat for comprehensive geological data
- Google Gemini for AI-powered narratives
- OpenStreetMap/Nominatim for geocoding services
- Kiro for AI-assisted development
- Three.js community for WebXR support
Contributions are welcome! This is an educational project aimed at making Earth science accessible and engaging. Feel free to:
- Report bugs or suggest features via GitHub Issues
- Submit pull requests for improvements
- Share your geological discoveries on social media
- Use it in educational settings and provide feedback
Built by @zzfadi
Explore the past, understand the present, imagine the future 🌍