🐠 Aquarium Designer

About / 数据来源与版权声明 Terms & disclaimer →← Back to designer

About this project

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.

On this page:
  1. Data sources & licensing
  2. Fish imagery · CC BY-SA attribution
  3. Plant imagery
  4. Algorithm heritage
  5. Privacy
  6. Contact

1 · Data sources & licensing

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.

Summary of license obligations

ComponentSourceLicenseYour obligation
Species compatibility fieldsAqAdvisor (reimplemented)—None (clean-room)
Fish photos (sprites_ai/)Wikimedia CommonsCC BY-SA(实测以 CC BY-SA 3.0/4.0 为主,另有 CC BY / CC0 / 公有领域)Per-page credit line (author + license + file page)
Plant photosWikimedia CommonsCC BY-SA 4.0Attribution (this page)
Chinese 物种简介中文维基百科CC BY-SA 4.0Attribution (this page + per-page 维基词条链接)
Calculator algorithmAqAdvisor (reimplemented)—None (clean-room)

2 · Fish imagery · Wikimedia Commons

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).

How we attribute

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.

3 · Plant imagery

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.

4 · Algorithm heritage

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%.

5 · Privacy

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:

The 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.

6 · Contact & contribution

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).