Spearspots

Building Spearspots: A Marine Weather App for Spearfishing

React NativeExpoNativeWindTypeScriptLocalStorageMarine Weather APIs
Visit Project

Challenge

SpearSpot started as a personal frustration that turned into a product. As a spearfisher, I used tools like Windy to decide when to go out — but they weren’t designed for underwater activities. Most marine forecast platforms focus on boating and surface navigation, offering wind, pressure, and waves data in abstract maps. For divers or spearfishers, this meant constantly switching between data layers and manually interpreting what “looked” like a good day.

After weeks of repeating the same ritual — opening Windy, checking multiple spots, guessing visibility and current strength — I realized how inefficient it was. What I needed was a simple, glanceable view showing whether tomorrow would be a good dive day or not, based on relevant metrics like wave height, current, and wind speed.

Process

SpearSpot began as a weekend experiment: could open marine data be turned into a simple, diver-friendly forecast interface? I started exploring APIs and quickly discovered Open-Meteo, a free and reliable API offering global marine and weather datasets without requiring tokens or complex auth. It became the core data source for the project.

From there, I focused on defining the right indicators — not just showing raw data, but translating it into a quick, intuitive decision: “is tomorrow a good spearfishing day?” I designed a minimal UI that surfaces only the most essential parameters at a glance: sea state, wind, and currents, color-coded for readability under sunlight and with minimal visual noise.

The app’s frontend was built using React + Tailwind, prioritizing fast loading and responsive design for mobile. I implemented a modular data layer to make it easy to plug in future APIs (for tides, temperature, or visibility) without refactoring. To handle performance, the app pre-fetches and caches data for all saved spots so users can check conditions even offline.

A key design challenge was comparability: divers often choose between multiple locations depending on weather. I designed a comparison view allowing users to see tomorrow’s conditions across all their favorite spots — effectively turning raw marine data into a personalized decision tool.

Results

What began as a small personal tool evolved into a lightweight product genuinely useful for the local diving community. SpearSpot now lets spearfishers, divers, and surfers quickly find the best location and time to go out, without digging through complex weather layers.

From a technical perspective, it’s a solid proof of concept for how open data can power niche, domain-specific tools. The project demonstrates a strong balance between product design, UX clarity, and technical implementation — going from a personal need to a working product in just a few days.
In the long term, SpearSpot could evolve into a platform aggregating real-time marine data and community input (e.g., visibility reports, catches, and sea conditions) — but even at this stage, it stands as a clean, functional showcase of how thoughtful design and open APIs can simplify complex decisions for a specific user group.