Aquarium Designer is a free, browser-based tool for aquarium hobbyists to plan stocking, filtration, plants, lighting and heating — using a real-scale visual canvas. This page documents the open-data sources that power the tool, the licensing of the material, and the project's attribution requirements.
The species, filter and tank compatibility models are derived from the open AqAdvisor.com dataset (913 source entries → 746 species after merging duplicate aliases, 365 filter models, 88 tank presets). The compatibility fields (temperature, pH, hardness, group size, aggression, predator / fin-nip flags) follow AqAdvisor's public API model and are reimplemented from published descriptions — they are not copied verbatim. Browse all profiles in the species guide.
Where text descriptions appear (e.g. Chinese 简介 field), they are sourced from the Chinese-language Wikipedia and released under CC BY-SA 4.0.
| Component | Source | License | Your obligation |
|---|---|---|---|
| Species compatibility fields | AqAdvisor (reimplemented) | — | None (clean-room) |
| Fish photos (sprites_ai/) | Wikimedia Commons | CC BY-SA(实测以 CC BY-SA 3.0/4.0 为主,另有 CC BY / CC0 / 公有领域) | Per-page credit line (author + license + file page) |
| Plant photos | Wikimedia Commons | CC BY-SA 4.0 | Attribution (this page) |
| Chinese 物种简介 | 中文维基百科 | CC BY-SA 4.0 | Attribution (this page + per-page 维基词条链接) |
| Calculator algorithm | AqAdvisor (reimplemented) | — | None (clean-room) |
The fish silhouettes, photos and cutout sprites used in this app come from Wikimedia Commons, the free media repository that powers Wikipedia. Each image is uploaded by individual contributors and licensed primarily under CC BY-SA 4.0 (some are CC0 or public domain).
Every species page that shows a Commons image carries an inline credit line directly
under the picture — author · license, with the author linked to the Commons file
page and the license linked to its deed. The machine-readable list behind those credits
(per-file author, license, license URL and file page) is generated at build time by
devtools/_credits_fetch.py (Wikimedia Commons imageinfo/extmetadata)
and stored as devtools/fish_media_credits.json.
The current implementation tracks: 746 物种 521 有图(逐页署名) 164 近缘图(≈ 标注)
Some entries carry no image — 254 of the 913 source entries in total: 229 have no usable image found on their Wikipedia record, and 25 are withheld or unavailable after review. Withheld entries keep their identifiers in the dataset so future re-imports can be tracked.
33 aquarium plant species are included, with size, light needs, CO₂ preference, difficulty, and per-stem filtration rate. Photos are again sourced from Wikimedia Commons under CC BY-SA.
The PMF (Plant Mitigation Factor) model — where plant count × rate reduces bioload by up to 40% — is an enhancement over AqAdvisor, which has no equivalent calculation. The model is heuristic, based on common horticultural claims, and is not a research-grade validation.
The stocking / filter / flow calculator is a clean-room reimplementation of AqAdvisor's logic, using the same published source tables (P-table for stocking, C-table for footprint coefficient) but written from scratch in JavaScript.
The 30 unit tests pass against the original AqAdvisor reference values, e.g.:
6 × Neon Tetra @ 30×12×12 in. tank ⇒ Stocking 31%, Filtration 885%, Water change 7%.
This site uses no cookies and no third-party trackers. To understand which features are used, the designer app sends minimal anonymous usage counts (e.g. feature clicks, page time) to its own server only — no cookies, identifiers or personal data, and nothing can be linked to an individual. The only client-side storage is:
localStorage['aq_lang'] — UI language preferencelocalStorage['aq_units'] — cm/in unit preferencelocalStorage['aq_onboarded'] — welcome-tour dismissed flaglocalStorage['aq_terms_lang'] — language choice on the terms pagelocalStorage['aq_tank'] — your tank design draft (dimensions, equipment,
fish and plants), restored when you come backlocalStorage['aq_tank_prev'] — one-step-back copy of that draft, taken
when you open the designer, so a bad edit can be undone hours laterThe tank draft (plus its one-step-back copy) is the only substantial item in that list. Both stay in this browser, are never uploaded, and are readable by anyone else who uses this device. Start over in the designer clears the draft, as does clearing this site's data in your browser.
No data is sent to any third party. The public deployment runs on Tailscale Funnel behind a whitelist, gzip-only HTTP server (no logs).
Full legal text — usage terms, disclaimers and privacy — on the Terms & Disclaimer page.
This is a personal project (Fairland AIoT front-end team). For issues, please open a ticket in the project tracker. For Wikimedia content corrections, please edit the source article — re-imports will pick up the change automatically.
Built 2026-10-06. License of the project code itself: MIT (excluding data and media, which retain their original CC BY-SA terms).