Inspiration

We were motivated by the ongoing harms of gerrymandering and the long legacy of redlining-driven inequity in U.S. representation. Redistricting often happens in processes that are hard for the public to inspect, which creates a gap between who is affected and who can actually evaluate the maps.

Our goal with remapd is to make districting more transparent, measurable, and fairness-oriented so that marginalized communities can respond with evidence, not just suspicion.

What it does

remapd is a redistricting analysis platform that:

  • Optimizes county-to-district plans with a weighted multi-objective function.
  • Scores plans on fairness, population balance, compactness proxy, and voting-rights proxy.
  • Compares optimized outputs to a baseline for clear, quantitative improvement tracking.
  • Fetches Census-grounded data through a tool layer to support factual analysis.
  • Produces structured, interpretable, natural-language outputs through a multi-agent LangGraph backend.

How we built it

  • Frontend: Next.js + React + TypeScript + shadcn/ui, with D3/TopoJSON maps and Recharts metrics.
  • Backend: FastAPI + Pydantic + NumPy for optimization APIs and scoring.
  • Optimizer: Reward-guided local search (simulated annealing style) over county assignments.
  • Agents: LangGraph orchestration with Engine, Civil Rights, Legislative, and summary-style outputs.
  • Data grounding: MCP-style tools for Census fetch + provenance/audit signals.
  • LLM layer: Anthropic Claude for non-technical structured explanations.

Challenges we ran into

  • Hallucination risk: Preventing unsupported claims in agent output, which pushed us to ground with MCP-style Census tools.
  • Data/API reliability: Handling key setup, API errors, and consistent runtime behavior.
  • Algorithm scope under time constraints: We originally aimed for PPO-based RL training, but given hackathon timelines and training overhead, we shifted to a more efficient reward-guided objective search approach to deliver a reliable end-to-end system.
  • Audience refinement: We initially centered policymakers, but through team iteration shifted focus toward advocacy groups, constituents, and public-interest users who need actionable evidence.
  • Reward design and tuning: Balancing multiple objectives so no single metric dominated.

Accomplishments that we're proud of

  • Built a full pipeline from optimization to plain-language explanation.
  • Delivered baseline-vs-optimized transparency with metric-level detail.
  • Implemented an easy-to-use interface for non-technical users.
  • Grounded analysis in real Census-backed data.
  • Created a workflow that helps civic actors move from critique to evidence-backed alternatives.

What we learned

  • Explainability and trust are core requirements in civic AI.
  • Grounding external facts is essential in high-stakes policy contexts.
  • A simpler optimization approach can be more practical than heavy training under hackathon constraints.
  • Product framing matters: tools for advocacy and constituents need clarity, accessibility, and defensible outputs.

What's next for remapd

  • Work with various advocacy groups and communities that are traditionally underrepresented to draft concrete, real policies that provide fairer district maps.
  • Strengthen legal/policy context for LangGraph agent outputs using a RAG-support legal database, to further reduce hallucinations.
  • Track real-world impact through simulation-based methods, such as creating a World Model for legislation impact.

Built With

Share this project:

Updates