Skip to main content

About This Project

The SD Legislature Tracker makes South Dakota's legislative process visually legible to citizens. It answers three questions the official legislative website doesn't make easy:

  • What is the legislature actually doing right now?
  • What would a bill change in existing law?
  • Where does the state's money go, and what's changing?

Data Sources

LegiScan API

Bill metadata, status history, sponsor information, committee assignments, full bill text, and roll call votes. Data syncs every four hours during the legislative session (January through March) and daily during the interim.

SD Codified Laws

The full text of South Dakota's codified statutes, scraped from sdlegislature.gov at the start of each session. This provides the baseline for computing law diffs — showing exactly what a bill would add, remove, or change in existing law.

Governor's Budget

Budget figures are sourced from the Governor's FY2027 proposed budget, published by the Bureau of Finance and Management. Line items are manually structured from the official budget documents and linked to appropriation bills as they move through the legislature.

How It Works

Pipeline tracking: Each bill is mapped to a stage — Introduced, In Committee, Passed Origin, Crossover, At Governor, Enacted, Vetoed, or Dead — based on its status codes and action history from LegiScan.

Law diffs: When a bill proposes to amend existing statute sections, the system extracts the bill text, identifies referenced sections (e.g., § 22-6-1), fetches the current statute text, and generates a word-level diff showing additions and deletions.

AI summaries: Plain-English bill summaries are generated using Claude, Anthropic's AI model. Each summary explains what the bill does in two to three sentences, using the bill text, any computed diffs, and the affected statute baseline as context.

Budget visualization: The governor's proposed general fund expenditures are displayed as an interactive treemap, with year-over-year comparisons and links to the appropriation bills that fund each category.

Current Session

Session
101st South Dakota Legislature
Dates
January 13 – March 28, 2026
Crossover Day
February 24, 2026
Veto Day
April 11, 2026

Technology

Built with Next.js, React, Tailwind CSS, and D3.js. The data pipeline is Python, running on GitHub Actions. All legislative data is stored in SQLite and updated automatically. The site is deployed on Vercel.

Limitations

  • Law diffs rely on pattern matching of bill text. Bills with unusual formatting or those that reference session law rather than codified law may not have diffs available.
  • AI summaries are machine-generated and may contain inaccuracies. Always refer to the official bill text for authoritative information.
  • Budget figures reflect the governor's proposed budget. Final enacted amounts may differ after the Joint Appropriations Committee and full legislature act.
  • Data freshness depends on LegiScan's processing of official records. There may be a delay of several hours between an action at the Capitol and its appearance here.

Built by Noah Brown. Source data from LegiScan and sdlegislature.gov.