Inspiration

I come from a small district called Arua in Northern Uganda. The vision for WaziGov is sparked by the reality that many women in my region are disconnected from the government policies designed to protect and empower them. Complex, jargon-laden documents like national budget papers outline critical resources for healthcare, education, and gender equality, yet their inaccessibility leaves women—especially in rural areas—unaware of their rights and opportunities. Inspired by stories of women in my mother's group, missing out on programs due to this knowledge gap, and the perfect timing of the hackerthon, I set out to create WaziGov: a platform that transforms dense government documents into clear, simple summaries, translated into local languages like Swahili, Lugbara, Luganda and english, and delivered as voice transcriptions for those with low literacy or visual impairments. My goal is to empower every woman to understand and advocate for her rights, advancing Sustainable Development Goals (SDG 5: Gender Equality and SDG 10: Reduced Inequalities), regardless of status.

What it does

WaziGov is a platform that makes government documents accessible to women and marginalized communities in Uganda. It takes complex PDFs, such as Uganda’s National Budget Framework Paper, and generates concise, easy-to-understand summaries focusing on issues like gender equality and social inclusion. These summaries are translated into languages like Swahili (with plans for Luganda) and will soon be available as voice transcriptions for users with limited literacy or disabilities. WaziGov also includes fact-checking to ensure the accuracy of summaries, syncing verification status with source documents. Through a Django-based admin interface, administrators can upload documents, triggering asynchronous summarization tasks, while a future public interface will deliver summaries and audio to users via web or mobile.

How we built it

WaziGov was built with a modern, scalable tech stack, designed to handle resource-intensive tasks while prioritizing accessibility: Backend: We used Django with PostgreSQL (kusaidia_db) to manage documents, summaries, and fact-checks. The Document model stores PDF metadata, while Summary captures simplified text, original excerpts, and explanations tailored to women’s rights.

Asynchronous Processing: Celery, paired with Redis (easygov-redis), handles summarization tasks to keep the admin interface responsive. A post_save signal queues tasks when documents are uploaded, with a 5-second delay to ensure database consistency.

Natural Language Processing (NLP): The Summarizer class leverages Hugging Face’s philschmid/bart-large-cnn-samsum model to generate 100-200 character summaries, using pdfplumber to extract text from PDFs and focusing on SDG-relevant themes (e.g., gender equality).

Deployment: Hosted on Render in the Oregon (US West) region, WaziGov comprises four services: easygov-backend (web), easygov-worker (Celery, Private Service on Starter plan with 1 GB RAM), easygov-redis (queue), and kusaidia_db (PostgreSQL). The render.yaml configures environment variables like HF_TOKEN and DATABASE_URL.

Optimizations: To manage resource constraints, we limited PDF processing to one page, capped text at 300 characters, and used half-precision (torch.float16) for NLP tasks.

The development process began with a local Docker Compose setup, followed by iterative optimizations based on deployment challenges and user feedback, ensuring summaries are simple and translations are accurate.

Challenges we ran into

Building WaziGov presented several technical hurdles: Resource Constraints: Early deployments on Render’s free plan (512 MB RAM) caused Out of Memory (OOM) errors during NLP tasks. Upgrading to the Starter plan (1 GB RAM) and optimizing core/summarizer.py (e.g., limiting text, using half-precision) resolved this.

Simplifying Complex Documents: Condensing technical budgets into plain language while retaining accuracy was challenging. We iterated on the summarization model to prioritize gender-related content, ensuring relevance to women’s rights.

Accomplishments that we're proud of

  • Successful Summarization: WaziGov reliably generates clear, concise summaries for documents like Uganda’s budget papers, with original_text excerpts highlighting key gender equality points.

  • Accessibility Focus: By supporting English and Swahili translations and planning voice transcriptions, we’ve laid the groundwork for reaching women with low literacy or disabilities.

  • Robust, Scalable Architecture: Overcoming resource constraints to deploy a stable, multi-service application on Render, with asynchronous task processing and fact-checking, is a significant achievement.

  • Impact Potential: WaziGov empowers women by making their rights actionable, aligning with SDG 5 and SDG 10, and setting the stage for broader community impact.

What we learned

Technical Growth: Mastered Django and Celery for building and scaling asynchronous workflows, critical for processing large PDFs without server timeouts.

Learned to optimize NLP tasks using Hugging Face’s transformers, reducing memory and CPU usage with techniques like half-precision and text capping.

Gained expertise in deploying containerized applications on Render, managing private services, and debugging resource issues.

Social Insights: Understood the importance of user-centric design, prioritizing simple language and accessible formats (text, audio) based on women’s needs.

Deepened knowledge of how budget policies impact marginalized groups, guiding the summarization focus on gender and equity.

Problem-Solving: Tackling errors like OOM, SIGKILL, and Document Not Found honed my ability to diagnose and optimize under constraints.

What's next for WaziGov

WaziGov is just the beginning of a larger vision to empower women across Uganda and beyond: Expand Language Support: Add translations for Luganda and other local languages to reach more communities.

Voice Transcription: Integrate text-to-speech APIs to deliver audio summaries, enhancing accessibility for low-literacy users.

Public Interface: Develop a mobile-friendly frontend for women to access summaries and audio directly, with offline capabilities.

Community Outreach: Partner with women’s groups and local radio stations to distribute summaries via SMS or broadcasts, youtube, Twitter, TikTok.

Scalability: Optimize for larger document volumes and explore cloud credits or grants to support higher resource plans.

WaziGov is more than a platform—it’s a movement to ensure every woman’s rights are clear, accessible, and actionable.

PITCH DECK: https://easygov-frontend-xuh5.vercel.app/women

Built With

Share this project:

Updates