What is this project?

Hereby Designated is a catalogue of every ceremonial designation bill introduced in the New Jersey Legislature since 2000. The state muffin, the state native pollinator, every named bridge and commemorative week — all of it, in one place, with links back to the official bill record.

It's a journalism project, not a legislative service. The framing is tongue-in-cheek; the sourcing is strict.

Where the data comes from

Every bill in the dataset comes from the New Jersey Legislature's public bill-search system at njleg.state.nj.us. The Office of Legislative Services does not publish a formal API, but the website's interactive search is powered by JSON endpoints that respond to the same queries you can make by hand on the search page. We use those endpoints directly.

Our scraper runs a keyword search for each of "Designates", "Renames", and "Commemorates" against each biennial session from 2000–2001 through 2024–2025 and takes the union. Using three keywords prevents silent misses — a road dedication that reads "Renames the bridge..." rather than "Designates the bridge..." would otherwise be invisible.

For every bill that survives the filter we also fetch the sponsor list from the legislature's bill-detail endpoint. That's the list of legislators whose names the Office of Legislative Services has attached to the bill — primary sponsors and co-sponsors both.

Raw API responses are saved verbatim before any rule touches them. The filtering and categorization happen later, against those saved files. That means every number you see here is traceable back to exactly what the legislature's system returned on the day we ran the scrape.

What counts as ceremonial

A bill is considered ceremonial if its synopsis points at one of the following:

State symbols
A designation of an official state thing — the state muffin, state sport, state native pollinator, state song. Also newer additions like a state slogan, nickname, or official color.
Holidays and observances
Public or state holidays; named days, weeks, weekends, months, or years; commemorative resolutions for anniversaries, independence days, remembrances, and the like.
Road namings
A highway, bridge, interchange, rest area, overpass, expressway, parkway, or street given a new name — usually honoring a veteran, public official, or local figure.
Place namings
Rail stations, parks, welcome centers, buildings, trails, canals, plazas, halls, and similar civic places receiving a new name.
Other ceremonial
A small residual bucket for designations that are clearly ceremonial but don't fit the four categories above — currently just two bills that honorifically name a piece of substantive law after a person.

What we exclude

The word "designates" appears in hundreds of bills every session that are not ceremonial. We filter these out:

Every bill the filter drops is logged to an audit file along with the rule that dropped it. The audit file is committed to the project repository so the exclusions are checkable.

How bills are categorized

Each bill can carry multiple category tags; a "primary" category is chosen using a priority order so that bills like "Designates September 11 as State and public holiday" count as a holiday rather than a symbol (the journalistic story is the holiday, even though the synopsis touches both).

Category rules live in a plain-text file (data/reference/category_rules.yml) in the project repository, editable by anyone. A small set of hand-review overrides (data/reference/overrides.yml) handles edge cases the rule-based filter cannot decide unambiguously.

When a bill is unusually ambiguous — for example, a bill that names a piece of substantive law after a person — we flag it in the other_ceremonial bucket rather than force it into a category that doesn't fit.

Status codes

The NJ Legislature's API returns a short alphabetic code for each bill's current status (ASL, WAPP, APP, SIR, and so on). Those codes are not documented by any public endpoint we've found. We maintain a hand-curated decoder cross-referenced against the NJ Legislature's glossary and the bill-history endpoint. Codes we haven't yet confirmed are shown as the raw code with a "Meaning not documented" tooltip rather than a guess.

A bill is marked "became law" only if its governor-action field is one of the three documented codes corresponding to a completed signing: APP (Approved), FSS (Filed with Secretary of State), or WOA (Became law Without Approval). Bills sitting in WAPP — waiting for the governor — are not counted, because they haven't crossed the line.

Sponsors

For every bill we fetch the full sponsor list: primary sponsors and co-sponsors. The leaderboard and the sponsor counts on individual bills use primary sponsors only. A co-sponsor's signature adds weight to a bill but doesn't carry authorship in the way the prime does.

The API returns a bio link for each sponsor pointing at the NJ Legislature's legislator roster. When a sponsor has since left office, the link may be missing; 56 of 670 primary sponsor occurrences in our 2024 sample lacked a bio URL for that reason. Those sponsors are still counted, just not linked.

Party affiliation and legislative district are not included in the search-API response. Adding them would require a second scrape of the legislator roster, which we have not done yet.

Known limits and caveats

How to replicate

Everything needed to rebuild the dataset from scratch lives in the project repository. With Python 3.11+ and a clone of the repo:

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
pytest                                           # all tests pass
python -m scraper refresh --all                  # scrape + build
python -m http.server --directory site 8000

The scraper is rate-limited to one request per second, with jitter, and uses an honest User-Agent identifying the project and an email address. A full refresh across every session takes roughly an hour.

AI disclosure

Claude Code was used in the creation of this tool.

Corrections and contact

Reporting by Stephen Stirling. If you've found a mistake — a bill that should be included and isn't, a category that reads wrong, a sponsor attribution that needs updating — please file an issue on the project's GitHub repository or reach out directly.

Data is current as of .