Skip to content

Repository files navigation

UBUNTU-XAI Logo

UBUNTU-XAI

Because AI Should See All of Us

An open-source research platform for evaluating AI bias, fairness, and cultural alignment across African languages and heritage contexts.

Features · Getting Started · Architecture · Contributing · Community · License

License PRs Welcome Languages


Why UBUNTU-XAI?

Most AI fairness tools are designed for Western contexts. African languages, cultures, and knowledge systems remain underrepresented in mainstream AI evaluation. UBUNTU-XAI addresses this gap by providing a purpose-built platform to:

  • Detect cultural bias in large language models when processing African heritage content
  • Evaluate fairness across demographic groups using metrics like Demographic Parity and Equalized Odds
  • Surface interpretable rules that explain why a model fails — not just that it fails
  • Compare models side-by-side across multiple dimensions of cultural sensitivity

The name reflects the Ubuntu philosophy: "I am because we are." AI systems should reflect the full diversity of human experience.

Features

  • Multi-Step Evaluation Wizard — Configure benchmarks, select models, choose languages, and pick evaluation templates through a guided setup flow
  • Fairness Dashboard — Interactive charts (bar charts, radar plots, progress bars) visualizing Demographic Parity, Equalized Odds, and overall fairness scores
  • Interpretable Rules Engine — Automatically extracted fuzzy rules that explain model behavior in human-readable language (e.g., "If Language is Yoruba AND Topic is Proverbs → Accuracy 87%")
  • Model Directory — Browse and compare AI models with cultural alignment and bias scores
  • Benchmark Datasets — Standardized evaluation suites (IrokoBench, INJONGO) covering 12+ African languages
  • Presentation Mode — Figma-like canvas view with realistic iPhone 14 Pro mockup frames and export to PNG, PDF, and PPTX
  • Full-Stack Architecture — PostgreSQL database, Express API, React frontend with TanStack Query

Getting Started

Prerequisites

Installation

# Clone the repository
git clone https://github.com/ubuntu-xai/ubuntu-xai.git
cd ubuntu-xai

# Install dependencies
npm install

# Set up your database
export DATABASE_URL="postgresql://user:password@localhost:5432/ubuntu_xai"

# Push the database schema
npm run db:push

# Start the development server
npm run dev

The application will be available at http://localhost:5000.

Quick Tour

  1. Home (/) — Landing page introducing the platform
  2. Evaluate (/evaluate) — 4-step wizard to configure a new evaluation run
  3. Dashboard (/dashboard) — View fairness analysis results with charts and interpretable rules
  4. Models (/models) — Browse the AI model directory
  5. Benchmarks (/benchmark) — Explore available evaluation datasets
  6. Presentation (/presentation) — Export-ready design views

Environment Variables

Variable Description Required
DATABASE_URL PostgreSQL connection string Yes
PORT Server port (default: 5000) No

Architecture

ubuntu-xai/
├── client/                  # React frontend (Vite)
│   └── src/
│       ├── pages/           # Page components
│       ├── components/ui/   # shadcn/ui components
│       └── lib/             # Query client, utilities
├── server/                  # Express backend
│   ├── index.ts             # Server entry point
│   ├── routes.ts            # API route handlers
│   ├── storage.ts           # Database access layer (Drizzle ORM)
│   ├── seed.ts              # Initial seed data
│   └── db.ts                # Database connection
├── shared/
│   └── schema.ts            # Drizzle schema + Zod validation
└── attached_assets/         # Static assets (logos, images)

Tech Stack

Layer Technology
Frontend React, Vite, TanStack Query, Wouter, Recharts, shadcn/ui, Tailwind CSS
Backend Express.js, Drizzle ORM, Zod
Database PostgreSQL
Export html-to-image, jsPDF, pptxgenjs
Typography Inter (sans-serif), Lora (serif)

API Endpoints

Method Endpoint Description
GET /api/models List all models
POST /api/models Add a new model
GET /api/benchmarks List all benchmarks
GET /api/languages List supported languages
POST /api/evaluations Create a new evaluation run
GET /api/evaluations/latest/full Get latest evaluation with all results
GET /api/evaluations/:id/full Get specific evaluation with all results
GET /api/evaluations/:id/results Get fairness results for a run
GET /api/evaluations/:id/rules Get interpretable rules for a run
GET /api/evaluations/:id/radar Get radar comparison data

Supported Languages

UBUNTU-XAI currently supports evaluation across these African languages:

Yoruba · Swahili · Hausa · Amharic · Igbo · Zulu · Oromo · Somali

We are actively working to expand coverage. Help us add more languages →

Contributing

We welcome contributions from researchers, developers, linguists, and anyone passionate about fair AI for African communities. See our Contributing Guide for details on:

  • Setting up your development environment
  • Our code review process
  • How to add new languages, benchmarks, or models
  • Reporting bugs and requesting features

Community

Research Context

UBUNTU-XAI is built on the CARE Principles for Indigenous Data Governance (Collective Benefit, Authority to Control, Responsibility, Ethics) and draws from established African NLP benchmarks including:

  • IrokoBench — Cultural heritage evaluation across 12 African languages
  • INJONGO — Intent and sentiment alignment for Southern African dialects
  • SAfriSenti — Sentiment analysis for African languages

About

UBUNTU-XAI is a project of African AI Heritage Labs, an initiative of the AI for Cultural Heritage Institute.

Our mission is to ensure that AI systems understand, respect, and accurately represent African cultures, languages, and knowledge systems.

License

This project is licensed under the MIT License.


Built with Ubuntu philosophy — "I am because we are."

About

An open-source research platform for evaluating AI bias, fairness, and cultural alignment across African languages and heritage contexts.

Topics

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages