Alexandre DuteauResume
← All projects

Full-Stack
Hack the Change 2024 · 16th place · team of 5

BillBoard

A civic engagement platform for tracking government policy, with forums, petitions, and an AI assistant.

BillBoard screenshot

BillBoard helps Canadians follow government policy at every level through a newsfeed, community forums, polls, petitions, and an interactive map of their representatives. Billy, an OpenAI-backed assistant, explains legislation in plain language.

As one of five engineers in a 48-hour build, I owned the policy data layer: the Supabase integration hooks, policy ingestion, and government-level sorting. I also implemented the likes/dislikes voting system on policy records with user attribution, and integrated the AI chatbot.

The policy list started the hackathon as a hardcoded array of four mock policies. I replaced it with a Supabase query, then layered the filtering on top: free-text search over title and summary, topic buttons derived from the distinct tags in the data, and a Local, Provincial, or Federal filter against an array column. Votes live in a ratings table keyed by user and policy with a value of plus or minus one. Changing a vote removes the previous row before inserting the new one, and the totals drive a like/dislike split bar on the policy page with ARIA progressbar attributes.

Billy's API route checks that the request carries a message list, calls the model, and turns an upstream quota error into a 429. The key is validated with Zod at load, and the chat box is mounted in the root layout so it follows the user across every page.