The dinosaurs didn't see it coming. We will.
NeoPulse is a real-time asteroid detection and monitoring system that provides AI-powered analysis of Near-Earth Objects (NEOs). By leveraging NASA data and advanced visualization techniques, NeoPulse helps track asteroid trajectories, calculate potential impact risks, and assess Earth's current safety status.
A real-time health check on Earth's safety. Earth Pulse analyzes nearby asteroid activity and delivers an AI-powered summary of how safe our planet is right now. Monitor the current threat level and get instant updates on potentially hazardous objects.
Discover what would happen if an asteroid struck Earth. Using real NASA data, Impact Oracle calculates the hypothetical destruction level and paints a vivid picture of the aftermath. Understand the potential consequences of various impact scenarios.
Dissect any asteroid in detail. Stellar Autopsy examines all available NASA data on a selected object and delivers a complete AI-generated profile of its behavior and risk. Get comprehensive insights into asteroid composition, trajectory, and threat assessment.
- Framework: Next.js 15 with App Router
- 3D Visualization: Three.js + @react-three/fiber
- 3D Components: @react-three/drei
- Styling: Tailwind CSS
- Language: TypeScript
- Data Source: NASA NeoWs (Near Earth Object Web Service)
-
Clone the repository
git clone https://github.com/yourusername/novowatch.git cd novowatch -
Install dependencies
npm install # or yarn install # or pnpm install # or bun install
-
Set up environment variables Create a
.env.localfile in the root directory:NEXT_PUBLIC_NASA_API_KEY=your_nasa_api_key_here
Get your NASA API key from NASA API Portal
-
Run the development server
npm run dev # or yarn dev # or pnpm dev # or bun dev
-
Open your browser Navigate to http://localhost:3000 to see the application.
The main 3D scene that renders Earth, asteroids, satellites, and atmospheric effects.
Interactive 3D Earth globe with realistic textures, rotation, and atmospheric glow.
Dynamic asteroid visualization with real-time position tracking and threat indicators.
NeoPulse integrates with NASA's Near-Earth Object Web Service (NeoWs) to fetch:
- Real-time asteroid data
- Orbital parameters
- Close approach information
- Hazard classifications
- Physical characteristics
- Explore the 3D Globe: Interact with the Earth visualization using mouse controls
- Monitor Asteroids: View real-time positions of NEOs relative to Earth
- Analyze Threats: Use Earth Pulse to check current safety status
- Simulate Impacts: Use Impact Oracle to understand potential scenarios
- Study Objects: Use Stellar Autopsy for detailed asteroid analysis
npm run dev- Start development servernpm run build- Build for productionnpm start- Start production servernpm run lint- Run ESLintnpm run cli- Run CLI tools
When adding new features, follow the existing structure:
- Create components in
app/components/ - Add constants in
app/constants/ - Define types in
app/types/ - Add utility functions in
app/utils/
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- NASA - For providing the Near-Earth Object data through their public API
- Three.js - For the powerful 3D graphics library
- PMND - For the excellent React Three Fiber ecosystem
- Next.js - For the amazing React framework
For questions or feedback, please open an issue on GitHub.
Remember: The dinosaurs didn't have NeoPulse. You do. 🦕💫