# Project export: Parliamentarian Assistant

This document was generated by HackStack to give an AI agent context about a hackathon project. Sections are labeled with their provenance; content marked as truncated was cut to keep this document small.

## Project metadata

- Hackathon: Cal Hacks 12.0
- Tagline: AI copilot for student governments to understand governance documents and find citations
- Devpost: https://devpost.com/software/parliamentarian-assistant
- GitHub: not linked
- Demo: http://www.suaparli.org/
- Video: https://www.youtube.com/embed/NL0hmqKItBc?enablejsapi=1&hl=en_US&rel=0&start=&version=3&wmode=transparent
- Team: contributor stats unavailable

## Devpost submission (written by the team)

### Overview

Our copilot helps student governments understand their governance documents, find precedent through previous meetings, and do so quickly for instant answers. I personally built this for helping me in my role as Parliamentarian at UC Santa Cruz because I often get inundated with questions that require me to read through hundreds of pages of documentation, understand it, and then respond with an answer to a assembly member. This tool helps make my role more efficient, and it's something that I know would help other Parliamentarians and Assembly members across other student governments. Additionally this tool syncs to Google Drive using Google Service Accounts to automatically pull in new meeting notes. Learning process I actually learned a ton about how to build a full stack app while here, although I used copious amounts of cursor. From getting the front end to look pretty and presentable, connecting the chat functionality to ping letta, to making sure the site worked on cloudflare and displayed properly on mobile. There were a lot of little checks and things I needed to do that helped me learn more about the process of developing full stack applications. How I built it: Aside from Cursor, ChatGPT, and documentation our tech stack was standard. Frontend: Next.js with a chat UI Backend: API routs for chat, and Drive sync. Sync service: google-drive-letta-sync, LLM + tools: A letta agend orchestrates RAG and responses Deployement: Cloudflare Workers for a cheap, clean, and simple CI/CD pipeline with github Challenges Faced: One of the largest issues I faced was ensuring that chunking the data when handling Drive sync was difficult. On letta's site duplicates aren't counted or displayed, while through the terminal I can see that we had hundreds of files (many being duplicates). Finding a way to handle the chunking, deduplication, upload, and syncing was tricky. Also Google Drive nuances was difficult with Google Service Accounts Additionally rate limits sucked and we needed to stream large PDFs, and backoff.

## README (from the GitHub repository)

No README available.

## Detected evidence (automated analysis)

No repository was indexed for this project. Claimed technologies below could not be checked against code.
- JavaScript (language) — claimed on Devpost, not found in the code
- Next.js (technology) — claimed on Devpost, not found in the code
- React (technology) — claimed on Devpost, not found in the code
- Tailwind CSS (technology) — claimed on Devpost, not found in the code
- TypeScript (language) — claimed on Devpost, not found in the code

## Codebase structure

No repository index available.

## Key source files

No repository index available; no source files included.