A modern, interactive beach and swell forecasting web application that provides real-time surf conditions, tidal data, and wind forecasts for surfers and beach enthusiasts.
- Interactive Beach Search: Find and select beaches from an extensive database
- Swell Visualization: Real-time swell height, direction, and period data with interactive charts
- Tidal Information: High and low tide times with height predictions
- Wind Mapping: Current wind conditions and forecasts
- Responsive Design: Optimized for both desktop and mobile devices
- Interactive Maps: Visual beach locations with Leaflet integration
- Node.js (v18 or higher)
- pnpm (recommended package manager)
-
Clone the repository
git clone <repository-url> cd brrld-visual
-
Install dependencies
pnpm install
-
Start the development server
pnpm run dev
-
Open your browser Navigate to http://localhost:3000 to see the application.
demo.webm
- Framework: Next.js 15 with App Router
- Language: TypeScript
- Styling: Tailwind CSS
- Charts: D3.js for data visualization
- Maps: Leaflet with React-Leaflet
- UI Components: Radix UI Themes
- Data Parsing: PapaParse for CSV handling
- Package Manager: pnpm
The application uses comprehensive beach and weather data including:
- Beach details and characteristics
- Storm Glass API data for swell and wind conditions
- Tidal information and predictions
- Real-time weather updates
src/
├── app/ # Next.js app router pages
├── components/ # React components
│ ├── BeachSearch.tsx # Beach selection interface
│ ├── Map.tsx # Interactive map component
│ ├── SwellVisualization.tsx # Swell data charts
│ ├── TidalVisualization.tsx # Tide information
│ └── WindVisualization.tsx # Wind data display
├── context/ # React context providers
├── types/ # TypeScript type definitions
└── utils/ # Utility functions
pnpm run dev- Start development server with Turbopackpnpm run build- Build for productionpnpm run start- Start production serverpnpm run lint- Run ESLint
The easiest way to deploy this Next.js app is using the Vercel Platform.
Check out the Next.js deployment documentation for more details.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.