Skip to content

TshwetsoMo/bua

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

43 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation


GitHub repo size GitHub watchers GitHub language count GitHub code size in bytes linkedin-shield behance-shield

Tshwetso K. Mokgatlhe
221411
DV300 β€” Interaction Development | 2025

Bua Logo

πŸ—£οΈ Bua β€” AI-Powered Student Voice & Reporting Platform

Empowering learners to speak out through technology, empathy, and AI ethics.
Explore the Docs Β»

View Demo Β· Report Bug Β· Request Feature


πŸ“‘ Table of Contents


🧭 About the Project

![image1][image1]

Project Description

Bua (meaning β€œSpeak” in Setswana) is an AI-powered web application designed to empower South African learners to safely report issues in their schools such as unfair rules, discrimination, bullying, misconduct, or neglected facilities, through a secure and anonymised platform managed by a school’s Student Representative Council.

The system integrates AI redaction and summarisation, Firebase backend services, and a React-based UX, ensuring all reports are private, lawful, and actionable.
Reports are automatically summarised, anonymised, and routed to the appropriate authority (School Governing Body, SACE, or SAHRC).

Built With


βš™οΈ Getting Started

Follow these steps to set up Bua locally.

Prerequisites

  • Node.js v18 or later
  • Firebase project (with Firestore + Authentication enabled)
  • Google Gemini API key (optional for offline mock AI)

How to Install

  1. Clone the Repository:

    git clone https://github.com/TshwetsoMo/bua.git
    cd bua
    npm install
    

Configure Environment Variables: Create a .env.local file:

NEXT_PUBLIC_FIREBASE_API_KEY=your_api_key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_project.appspot.com
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
NEXT_PUBLIC_FIREBASE_APP_ID=your_app_id

FIREBASE_SERVICE_ACCOUNT_JSON={"type":"service_account", ...}
GEMINI_API_KEY=your_gemini_api_key
GEMINI_MODEL=gemini-2.5-flash
Run Development Server:
npm run dev

Visit: http://localhost:3000

Build & Deploy:

npm run build
npm run start

Deploy via Vercel or Firebase Hosting.

πŸš€ Core Features

🧠 AI Advisor

  • Built-in conversational assistant powered by Google Gemini API (2.5 Flash).
  • Offers guidance on school policies, wellbeing, and rights.
  • Users can seamlessly β€œStart a Report” from any conversation context.

πŸ“‹ Smart Report Submission

  • Automatically redacts personally identifiable information (PII) using AI.
  • Classifies issues by topic: Bullying, Academics, Facilities, Policy, Other.
  • Generates structured report drafts for review and submission.

πŸ“° News Feed (formerly β€œJournal”)

  • Generates anonymised summaries of resolved cases into a public β€œNews Update” feed.
  • Highlights systemic patterns and school-wide trends.
  • Avoids repetitive posts and always references the latest cases first.

πŸ§‘β€πŸ’Ό Admin Dashboard

  • Administrators can manage reports and generate public News Feed entries.
  • AI-assisted journal generation summarises key cases while maintaining confidentiality.

πŸ”’ Privacy & Safety

  • All user reports are anonymised at the point of submission.
  • PII is detected and replaced with placeholders such as [REDACTED_PERSON] or [REDACTED_LOCATION].
  • Access is role-controlled via Firebase Authentication (Admin vs Student).

###🧩 Concept Process The conceptual process focuses on turning social responsibility into a practical, safe, and intelligent reporting tool.

πŸ’‘ Ideation

Concept inspired by South African learners’ limited access to safe reporting systems.

🧱 Wireframes

πŸ”„ User-flow

Illustrates student β†’ AI assistant β†’ anonymisation β†’ admin review β†’ news journal.

πŸ’» Development Process

Implementation Process Next.js 14 for app routing and server actions.

Firebase Firestore for real-time reporting and case storage.

Gemini API for language processing (summarisation + PII redaction).

React Context Hooks for state management.

Highlights

Achieved real-time AI-assisted reporting with redaction accuracy >90%.

Integrated multi-role dashboards (Student & Admin).

Challenges

Managing offline AI simulation during local testing.

Designing secure client-side anonymisation pipelines.

Reviews & Testing

Feedback from Reviews β€œSimple, powerful, and necessary β€” the anonymisation feature is brilliant.” β€œGreat real-world application of ethical AI and interaction design.”

Future Implementation

🌍 Multilingual support (English, Setswana, isiZulu, Afrikaans)

🧩 Role-specific dashboards for authorities (SGB, SACE, SAHRC)

πŸ“Š Data visualisation analytics

πŸ“± Progressive Web App (PWA) conversion

🧠 Final Outcome

Mockups

Bua Web App Mockup Bua Web App Mockup Bua Web App Mockup

πŸŽ₯ View Demonstration

View Demo

🧾 Conclusion

Bua demonstrates the potential of AI for ethical social innovation β€” bridging empathy, governance, and technology to protect student voices. It’s not just a web app; it’s a movement toward transparency and empowerment in schools.

πŸ‘¨πŸ½β€πŸ’» Author & Maintainer

Tshwetso K. Mokgatlhe Interaction Development & UX Design Student πŸŽ“ The Open Window Institute β€” Faculty of Creative Technologies πŸ“ South Africa

πŸ™ GitHub: https://github.com/tshwetsomo

πŸ“§ Email: [221411@virtualwindow.co.za]

πŸͺͺ License

Distributed under the MIT License. See LICENSE for more information.

πŸ“¬ Contact

Email: 221411@virtualwindow.co.za

GitHub: TshwetsoMo

LinkedIn: Tshwetso Mokgatlhe

Behance: https://www.behance.net/tshwetsmokgatl1

πŸ“š References & Acknowledgements

Google AI. (2024). Gemini 2.5 API Documentation. Retrieved from https://ai.google.dev/gemini-api

Firebase. (2025). Firebase Admin SDK & Firestore Documentation. Retrieved from https://firebase.google.com/docs

Next.js. (2025). App Router & API Routes Documentation. Retrieved from https://nextjs.org/docs

Tailwind Labs. (2025). Tailwind CSS Framework Documentation. Retrieved from https://tailwindcss.com/docs

OpenAI ChatGPT & Google Gemini (2025). Collaborative assistance for conceptualisation, architecture, and code generation. Tailwind CSS

The Open Window Institute

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages