Words matter. In a world where gender inequality persists despite decades of progress, BiaSight addresses one of the most pervasive yet often overlooked aspects of discrimination: the language we use in our digital spaces. BiaSight uses the power of Google's cutting-edge AI, including Gemini, to analyze and improve the inclusivity of online content.
While content creators and website authors often focus on performance, usability, and visual appeal, the impact of words on discrimination against women and girls and how this impacts equality is frequently underestimated. BiaSight aims to change this by providing an intuitive, AI-driven analysis of web content across various equality categories, much like how Google PageSpeed Insights has become an indispensable tool for web performance optimization.
The vision of BiaSight is to make gender-inclusive language as integral to web development as responsive design or SEO optimization and to inspire creators for change.
Remember, words matter. They shape perceptions, influence behaviors, and can either reinforce or challenge the gender inequalities that persist in our society.
Try it yourself: biasight.com
This project was created as part of the She Builds AI Hackathon 2024.
The BiaSight backend is a powerful engine built with FastAPI and Python. It leverages BeautifulSoup to extract readable content from web pages, preparing it for analysis. Using Jinja templating, prompt generation is modularized, allowing seamless integration of web content into advanced prompts for Google’s Gemini LLM.
To ensure both accurate and deterministic results, Gemini is configured to use JSON mode for structured output and a low-temperature setting is applied to minimize variability in its generation. Pydantic ensures robust data modeling and validation, while Poetry manages dependencies efficiently. Docker streamlines deployment, and Ruff, combined with GitHub Actions, maintains high code quality through automated testing and linting.
For optimal performance and user experience, the backend employs a TTLCache, reducing analysis time by caching recent results. This architecture fosters easy and secure extensibility, allowing for future enhancements and integrations as BiaSight continues to evolve.
The frontend is powered by Vue 3 and Vite, supported by daisyUI and Tailwind CSS for efficient frontend development. Together, these tools provide users with a sleek and modern interface for seamless interaction with the backend.
This is the frontend part of the project. Backend: biasight
- VueJS 3.4 for frontend development
- Vite for frontend tooling
- Tailwind CSS as a utility-first CSS framework
- daisyUI as a component library for Tailwind CSS
Ensure to configure the correct API endpoint for local or live usage in src/config.js
. When you run the
backend locally, ensure to set API_BASE_URI
accordingly, for example:
export const API_BASE_URI = 'http://localhost:8000'
npm install
npm run dev
npm run build
The frontend is separated into the following components:
- 📚 Main Components
- Init: Component to enter a valid URL
- Analyze: Running the actual analysis talking to the API and presenting the report
- 📄 Page Components
- Home: Start page
- About: About page with basic project information
- ⚙️ Utility Components
- CustomCursor: Custom cursor implementation
- LoadingAnimation: Loading animation with customizable loading text