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.
Built With
- autoprefixer
- cloudflare
- esbuild
- eslint
- google-drive-api
- javascript
- letta
- next.js
- opennext
- postcss
- react
- tailwind
- typescript

Log in or sign up for Devpost to join the conversation.