How to use SwellAngler

This page is the full manual for SwellAngler: from picking your first spot, through the fishing score, the species library, saved spots and catch records, it explains what each feature does, where to tap, and what the limits are. There is nothing to download — it runs in your browser.

Get going in 30 seconds

The quickest way in is to follow these five steps. Once you have done them, you have seen most of the app.

  1. Type a place name into the search box, or tap anywhere on the map, to choose the spot you want to look at.
  2. The map moves there and, in the panel on the right (the "Conditions" tab on a phone), you immediately get the local tide, water temperature, wind, waves, pressure and moon phase, combined into a 0-100 fishing score.
  3. Tap the date row to look at the days ahead, or drag the trend chart to inspect any hour.
  4. Tap Save to keep the spot, then add catches to it later from My records.
  5. Open Settings then Personalization to set your region and units; the interface then follows the region you actually fish.

The map: how to choose a spot

The map is the entry point to everything. There are three ways to choose a spot: tap directly on the map, type a place name into the search box (place names are supported for Hong Kong, Taiwan, Singapore, Malaysia and the United States), or press the location button to use your browser location.

The search box is for places only: typing a fish name will not return a fish. Fish names are searched on the Species tab, because the two do different things when you tap a result — one moves the map, the other opens a fish page — and mixing them makes it impossible to predict what a tap will do.

Once a spot is selected, the spot name and coordinates in the panel are tappable: tapping them brings the map back to that point, which is useful after you have zoomed or panned away.

The location button reads your position once, at the moment you press it, only to centre the map. It is not read in the background, not transmitted, not stored, and no track of where you have been is kept.

The URL becomes /spot/latitude/longitude, which you can copy to a friend so they open exactly the same spot. Those links are deliberately kept out of search engines.

Reading the 0-100 fishing score

The score is a multi-factor reference model: it combines the tide, water temperature, wind, waves, pressure, moon phase and light conditions at that place and time into a single 0-100 number, so you can see at a glance whether conditions are relatively good or bad. It is meant for relative comparison. It is not a catch forecast, and it must never be used as a safety judgement.

The score and every data block never display 0, but two cases must be told apart: data present, conditions at their worst shows the floor value 1; no data at all shows a dash (—) and is never replaced by 0 or 1. A 1 means worst conditions, a dash means no data — they are not the same thing.

The marine model runs about 10 days ahead. Beyond that the page does not quietly degrade: the panel is headed Data coverage and lists how many factors were used at the moment you are looking at (8 at sea: tide, water temperature, wind, waves, pressure, moon phase, light, air temperature; 6 in fresh water, which has no tide or wind factor). Only factors that are not measured get a status label — wave height shows Estimated (falling back to wind speed), water temperature shows No data, tide shows Astronomical prediction; if that hour already uses wind speed to estimate the waves, wind is marked in sea state instead of being counted twice; when water temperature is missing, air temperature (the air-water difference) is marked needs water temp; measured factors carry no extra label. Those figures show trend only: never use them for navigation or as a safety call for rock fishing or going to sea. Check the official forecast and warnings before you go out.

The conditions panel, block by block

The panel (the Conditions tab on a phone) lists the day in blocks. Each block is shown as a 1–10 level (exact values are not exposed); every block can be switched off on its own so only the ones you care about remain — see Personalization below.

Species tab and species pages

The Species tab is the entrance to the fish database. You can switch region at the top, then filter by water type (saltwater, freshwater or brackish), by season and by habitat, or type a fish name or local alias straight into the search box.

Every species has its own page, listing the scientific name, local aliases, typical size, season, water type, habitat and suggested methods, followed by the list of sources behind it, each labelled with its tier.

⚠️ Season here means the angling season, not the spawning period. Where the evidence is not good enough the season is marked as pending: we will not fill the table with a guess. We would rather leave it blank than print a tidy number that is not true.

Species tab versus the fish guide

Alongside the interactive tab there is a separate fish guide page, which lists the species that have a recorded source, region by region and sets out, item by item, how complete the data is: which fields are filled, which are not, and which sources we used.

The division of labour: the Species tab is the interactive tool (switch region, filter, search, open one fish); the guide page is the overview and the source-transparency statement, and every row in its table links to the matching species page. Looking for one fish? Use the Species tab. Want to know how complete the database is, and where it is thin? Read the guide page.

My records: saved spots and catches

Tapping Save stores the current spot on your own device. Nothing is uploaded to a server. My records lists every saved spot and shows how many species you have unlocked in each region.

The spot editor lets you rename a spot, add catches (species plus date) and write notes, and delete either the spot or a single record. Catch dates are always YYYY-MM-DD; you can type them and the separators are added for you.

The collection view splits the current region into unlocked and locked species: logging a catch unlocks it, and tapping a species shows which of your spots it came from, with a Show map button that moves the map to that spot.

Everything can be exported as a JSON backup and imported again (merge or replace). ⚠️ Records live only on your device: clearing your browser data clears them, so exporting a backup now and then is worth doing.

Personalization and the settings menu

Settings then Personalization is where your own preferences live: region, units (metric or imperial), which data blocks are shown, and the water-type filter for in-season species. Region matters most — it decides which region the Species tab, place search and collection view use.

The rest of the settings menu covers theme (light, dark or system), language, this how-to page, the privacy policy, about and contact.

Every preference is kept in your browser local storage only, and none of it is transmitted anywhere.

Using it on a phone

On a phone the layout is single-level: the map and the data are separate, switched with the four tabs at the bottom.

Languages and shared links

Every language has its own URL (/zh-hk/, /zh-tw/, /zh-cn/, /en/). Switching language takes you to the matching URL, so a link you share keeps the language you were reading.

Spot links use /spot/latitude/longitude with no language prefix, so anyone who opens one sees the same location. Species pages and method pages are individual URLs too, and can be shared one by one.

Sources and known limits

Weather, marine, tide and elevation data come from Open-Meteo; place names from GeoNames; the wave model from DWD; the tide, current and sea-surface-temperature model from Copernicus Marine; elevation from Copernicus DEM; map tiles from OpenStreetMap and CARTO. Moon phase and the sun/moon windows are computed locally. Hong Kong and United States tides additionally use official predictions (HKO and NOAA).

The known limits, stated plainly: (1) the marine model reaches about 10 days, after which confidence drops; (2) coastal accuracy is limited and it is not for navigation; (3) some species still have unverified seasons and sizes; (4) inland fresh water is judged from elevation plus place-name keywords, and a known counter-example remains — Hong Kong's Plover Cove Reservoir sits at roughly 0 m elevation and can be classified as sea. These are questions of coverage, not cases we have solved completely.

Frequently asked

Back to home