FirstRig
firstrig.com

Colophon

How this site is made, and what it rests on

What First Rig is built with, what it collects and what it does not, how its numbers are checked, and every source of data it uses, with the license and the credit each one asks for. What changed and when is in the changelog; errors found and fixed are in the corrections log.

Built and served

First Rig is a Next.js site written in TypeScript, served from the founder’s own server with Cloudflare in front as a cache. There is no database and there are no accounts. The gear catalogue is typed data compiled into the site when it is built, and each tool keeps its inputs in the page address, so a result is a link you can share. The observatory guide and the guides are written in MDX and compiled at build time.

There are no ads and no sponsored content. There are no affiliate links on the site today; if any are added, they will be labeled, and they will not move a ranking (how the site makes money).

What is collected

Visits are counted with Cloudflare Web Analytics. It sets no cookies, so there is no consent banner, and Cloudflare adds it at the edge; it is not in the site’s code. It records the path of each page viewed and the path of the page the visitor came from. It does not record query strings, which is where every tool keeps your inputs: a link to your rig in the Backfocus Solver reaches the analytics as /tools/backfocus and nothing more. There is no other tracker on the site.

Two things stay in your browser. The Session Checklist keeps your ticks, the half of the night you chose and any checklists you customize, and the site remembers night mode, in local storage; none of it is sent anywhere. A checklist you share by link travels after the # in the address, a part browsers do not send to a server, and the page takes it out of the address as it loads. Sky from my location reads your position in the browser and fetches the map tile for your area, a 5° square; the coordinates are never sent, stored or written into the link.

How the numbers are checked

Every formula in the physics package carries a citation and a unit test built from a worked example in our physics reference. Where a test and a published value disagree, the site is treated as wrong until shown otherwise. Every catalogue row carries the link to the page it was keyed from, and the gear rows behind the Rig Reality Check stay marked unchecked until the founder has checked them by hand against that page. A figure that could not be confirmed on a maker’s own page is labeled unverified where it is used.

Tests and catalogue rows
Tests in the suite, in 53 files, counted 13 October 20261,348
of them on the physics package410
on the catalogue data423
on the site's own logic and content515
Gear rows behind the Rig Reality Check206
of them checked by hand so far0
Cameras and correctors in the Backfocus Solver112
Backfocus figures labeled unverified22
Sensor profiles in the Exposure Planner21

When a figure turns out to be wrong it goes into the corrections log, and the page it was on carries a dated note where the figure changed.

Data sources

Every source the site uses, what for, under which license, and the credit that license asks for, as we give it. Where a license asks us to say what we changed, the last column says. Each credit also appears where the data is used.

  1. Used for
    The angular sizes of the targets drawn in the Rig Reality Check's framing check, on the rig pages and in the framing tool, and the galaxies' position angles in the framing tool.
    Credit, and what we changed
    Target sizes: OpenNGC by Mattia Verga (tag v20260501), CC BY-SA 4.0. This table is shared under the same license.We keep the published major and minor axes of the targets we draw, unadjusted, and the position angle where OpenNGC gives a source for it, in a table of our own. That table is kept apart from the gear and price data and is shared under CC BY-SA 4.0.Also credited on: Rig Reality Check, how it is computedField of View & Framing, how it is computed
  2. VIIRS Nighttime Lights (VNL) V2, annual 2024

    Earth Observation Group, Payne Institute for Public Policy, Colorado School of Mines

    Used for
    The night-time radiance behind the sky-brightness model and the sky-from-location estimate.
    License
    CC BY 4.0
    Credit, and what we changed
    Earth Observation Group, Payne Institute for Public Policy, Colorado School of Mines. Elvidge, C.D., Zhizhin, M., Ghosh, T., Hsu, F-C., Taneja, J. (2021), “Annual time series of global VIIRS nighttime lights derived from monthly averages: 2012 to 2019”, Remote Sensing 13(5), 922.The map tiles this site serves under /skyglow/v1/ are derived from VNL 2024: each cell holds a distance-weighted sum of the radiance within 300 km, on a 60″ grid covering the lower 48 states. They are not the original data.Also credited on: Sky brightness method, note 1Beside each sky-from-location estimate
  3. Used for
    Our copy of VNL: the same EOG layer, served without a login.
    License
    CC BY 4.0
    Credit, and what we changed
    T. Hengl, OpenLandMap, Zenodo record 17294744.Also credited on: Sky brightness method, note 1
  4. A simplified model of all-sky artificial sky glow derived from VIIRS Day/Night band data

    Duriscoe, D.M., Anderson, S.J., Luginbuhl, C.B., Baugh, K.E. (2018)

    Used for
    The form of the sky-brightness model, and the measured sites in its Table 1 that set our calibration level.
    License
    CC BY 4.0
    Credit, and what we changed
    Duriscoe, D.M., Anderson, S.J., Luginbuhl, C.B., Baugh, K.E. (2018), JQSRT 214, 133–145, doi:10.1016/j.jqsrt.2018.04.028.We re-fitted the model's two shape constants for the zenith; the paper fitted them for the whole sky.Also credited on: Sky brightness method, note 2
  5. Used for
    Handheld sky-quality readings: the 2024 set fits the model's shape and the 2025 set tests it. Not redistributed.
    License
    CC BY 4.0
    Credit, and what we changed
    Globe at Night, NSF NOIRLab.Also credited on: Sky brightness method, note 3
  6. Night Skies Program measurements

    U.S. National Park Service, Natural Sounds and Night Skies Division

    Used for
    Testing the model out of sample, and the 21.83 mag/arcsec² median natural sky.
    Credit, and what we changed
    No credit is required. We cite the National Park Service, and never use the observers' names the data carries.Also credited on: Sky brightness method, note 4
  7. Used for
    Testing the model against 45 fixed sky-quality meters on four continents. Validation only: no row is published.
    Credit, and what we changed
    Kyba, C.C.M. et al. (2015), Scientific Reports 5, 8409.Also credited on: Sky brightness method, note 5
  8. Used for
    Two published values: the 22.0 mag/arcsec² reference sky and its luminance. None of the atlas data.
    License
    Article and atlas CC BY-NC 4.0; facts only are used
    Credit, and what we changed
    Falchi, F. et al. (2016), Science Advances 2, e1600377.Also credited on: Sky brightness method, note 6
  9. Manufacturer pages, manuals and drawings

    ZWO, QHYCCD, Player One, ToupTek, Sky-Watcher, Celestron, Askar, William Optics, iOptron and the other makers in the catalogue

    Used for
    Every specification in the gear catalogue, re-keyed by hand as a figure with the page it came from.
    License
    Facts, which no license covers. No image or marketing text is copied.
    Credit, and what we changed
    The source link on each catalogue row.Also credited on: Backfocus SolverRig Reality Check
  10. Store listings

    Makers' own stores and U.S. retailers

    Used for
    The dated prices in the Rig Reality Check.
    License
    Facts, which no license covers
    Credit, and what we changed
    The seller, the date read and a link, on each price.Also credited on: Rig Reality Check

The target-size line the Rig Reality Check prints reads: “Target sizes: OpenNGC by Mattia Verga (tag v20260501), CC BY-SA 4.0. This table is shared under the same license.” It links here, to the OpenNGC, tag v20260501 row above, for the source and license.

Software and type

The site’s own code is not open source. These are the open-source parts it is built on, each under its own license, with the copyright line from that license. The build strips license comments from the code your browser loads, so for the MIT code marked “sent to your browser” the notice is here: the copyright lines in the table and the license text below it.

Software and type, with versions and licenses
NameVersionLicenseCopyrightWhere it runs
Geist and Geist MonoEvery page's type. The font files are fetched when the site is built and served from this site, so no visitor request goes to a font service. Each file carries its copyright line and license in its own metadata.1.800 and 1.701SIL Open Font License 1.1Copyright 2024 The Geist Project AuthorsSent to your browser
three.jsThe 3D viewer on the observatory model page, and only there. The model it shows is the founder's own.0.186.1MITCopyright © 2010-2026 three.js authorsSent to your browser
Next.jsThe framework every page is built and served with.16.3.1MITCopyright (c) 2025 Vercel, Inc.Sent to your browser
ReactThe interface of every page and tool.19.2.8MITCopyright (c) Meta Platforms, Inc. and affiliates.Sent to your browser
Tailwind CSSGenerates the stylesheet from the design tokens.4.3.3MITCopyright (c) Tailwind Labs, Inc.Build only
MDXCompiles the observatory guide's chapters and the guides.3.1.1MITCopyright (c) 2017 Compositor, Inc. and Vercel, Inc.Build only
remark-gfmTables and task lists in the observatory guide and the guides.4.0.1MITCopyright (c) Titus WormerBuild only
yamlReads the front matter of each observatory chapter and guide.2.9.1ISCCopyright Eemeli AroBuild only
TypeScriptThe language the site and its physics are written in.5.9.3Apache License 2.0Copyright (c) Microsoft CorporationBuild only
VitestRuns the test suite on every change.4.1.10MITCopyright (c) 2021-Present VoidZero Inc. and Vitest contributorsTests only

The MIT License

Applies to three.js, Next.js, React, with the copyright lines given in the table above.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Left out on purpose

Sources that would have been easier to use, and why they are not here.

The World Atlas of Artificial Night Sky Brightness (2016)
Its data is licensed for non-commercial use only (CC BY-NC 4.0), and this site is a business. We built our own model from VIIRS radiance instead, and publish it in full on the sky brightness method page.
Night-sky measurement sets licensed CC BY-NC, such as the Madrid SQM survey and REI-NSB Japan
Tuning a commercial model on them is a commercial use, so they are excluded even as a private check. The model is fitted and tested on openly licensed and public-domain measurements only.
AstroBin's equipment database
AstroBin's terms ban scraping, and its API does not expose the equipment database. The gear catalogue is keyed by hand from manufacturer pages.

Last updated Counts computed at build time from the catalogue; the test count is dated