CivicScribe: Form Filling Made Simple, Secure, and Accessible

Stuck in a web of forms? CivicScribe cuts you free. It is designed to simplify the process of filling out complex PDF forms. Many people struggle with lengthy forms due to confusing instructions or accessibility challenges. We set out to combine AI, natural language processing, and conversational interfaces to make form completion intuitive, efficient, and accessible.


Inspiration

Official forms are often intimidating, especially for people unfamiliar with legal or government language. Watching friends and family struggle sparked the idea: what if a helpful assistant guided you step-by-step, in plain language, and produced a clean, ready-to-submit PDF at the end? Our goal was to bridge technology and usability by turning “fill this form” into a natural conversation.


What We Learned

  • Orchestrating NLP, text-to-speech, authentication, and PDF generation into one cohesive experience.
  • Building scalable full-stack apps with React, Tailwind CSS, FastAPI, and Supabase.
  • Designing for accessibility (voice support, clear visual hierarchy).
  • Managing secrets and security when integrating Auth0, Gemini, and ElevenLabs.

How We Built It

Backend

  • FastAPI powers chat sessions, form data storage, and REST endpoints.
  • Supabase (PostgreSQL) stores users, applications, and conversation history with real-time capabilities.
  • Google Gemini handles natural language understanding and guidance.
  • ElevenLabs provides text-to-speech for voice-enabled accessibility.
  • Dynamic PDF generation compiles user inputs into a final, ready-to-download document.

Frontend

  • React 18 + Vite for a fast, modern single-page app.
  • Tailwind CSS for a responsive, accessible UI.
  • Auth0 for secure login, session management, and role-based access.

Key Features

  • Conversational Form Filling: A chat interface that asks the right questions and maps answers to form fields.
  • Automatic PDF Generation: Turn completed conversations into structured, professional PDFs.
  • Audio Support: Text-to-speech playback for accessibility and comprehension.

Challenges Faced

  • Multi-API Integration: Balancing Auth0, Gemini, and ElevenLabs while keeping secrets secure and performance smooth.
  • Robust Input Handling: Designing prompts and fallbacks to handle diverse, messy user inputs.
  • Extensibility: Crafting a modular system so new forms can be onboarded with minimal code changes.
  • Accessibility vs. Aesthetics: Keeping the UI clean and fast without compromising keyboard/screen-reader support.

Outcome

CivicScribe streamlines form completion for everyone, including users with disabilities or limited technical experience. We strengthened our skills in full-stack development, AI integration, and user-centered design, and produced a codebase that’s extensible, maintainable, and ready for new forms and features.


Built With

  • Frontend: React,Vite, TailwindCSS

  • Backend: FastAPI

  • Auth & Data: Auth0 , Supabase

  • AI & Voice: Google Gemini , ElevenLabs (TTS)

Built With

Share this project:

Updates