A comprehensive web-based tool for visualizing various vision conditions and impairments. This tool helps create awareness and understanding of different visual conditions by simulating their effects on images and videos, while also educating users about famous blind and visually impaired individuals throughout history.
VisionSim.mp4
Clean, modern interface with two main sections: Vision Condition Simulator and Famous People educational content
Personal journey and mission statement explaining the tool's purpose and creator's experience
- Real-time visualization of various vision conditions
- Multiple input sources:
- Webcam feed
- Uploaded images
- YouTube videos
- Adjustable intensity for each condition
- Comprehensive condition library:
- Color blindness (Protanopia, Deuteranopia, Tritanopia, etc.)
- Visual field defects (Hemianopia, Quadrantanopia, Scotoma)
- Eye conditions (Glaucoma, Cataracts, AMD, Diabetic Retinopathy)
- Neurological conditions (Visual Auras, Visual Snow, Hallucinations)
- Refractive errors (Nearsightedness, Farsightedness, Astigmatism)
- Progressive conditions (Retinitis Pigmentosa, Stargardt Disease)
Real-time vision condition simulation with multiple effects applied
- 14 famous individuals across 5 categories:
- Historical Figures (John Milton, Louis Braille, Galileo Galilei)
- Musicians & Artists (Ray Charles, Stevie Wonder, Andrea Bocelli)
- Writers & Activists (Helen Keller, Ved Mehta)
- Contemporary Figures (Christine Ha, Lucy Edwards, David Paterson)
- Athletes & Scientists (Erik Weihenmayer, Marla Runyan, Dr. Mona Minkara, Joshua Miele)
- Search and filter functionality by name, condition, or category
- Detailed person cards with medical information and life stories
- Direct simulation integration - experience each person's specific vision condition
Example of famous person profile with detailed information and simulation integration
- Screen reader compatibility
- Keyboard navigation support
- High contrast mode
- Font size adjustments
- Focus indicators for better visibility
- Node.js (version 14 or higher)
- npm or yarn
# Clone the repository
git clone https://github.com/bloo-berries/blindness-visualizer.git
# Navigate to the project directory
cd blindness-visualizer
# Install dependencies
npm install
# Start the development server
npm start
The application will open at http://localhost:3000
- Visit the home page to see two main options:
- Vision Condition Simulator: For real-time vision condition simulation
- Famous People: To learn about famous blind and visually impaired individuals
- Choose Input Source: Select webcam, image upload, or YouTube video
- Select Conditions: Toggle the vision conditions you want to simulate
- Adjust Intensity: Use sliders to control the severity of each condition
- View Simulation: Observe the real-time visualization
- Browse Categories: Explore people by category (Historical, Musicians, etc.)
- Search & Filter: Use the search bar or filters to find specific individuals
- View Details: Click on any person to see detailed information
- Experience Simulation: Click "Experience Simulation" to try their specific vision condition
src/
βββ components/
β βββ HomePage.tsx # Landing page with navigation options
β βββ VisionSimulator.tsx # Main simulator component
β βββ FamousBlindPeople.tsx # Famous people educational section
β βββ Visualizer.tsx # Real-time visualization engine
β βββ ControlPanel.tsx # Condition selection controls
β βββ InputSelector.tsx # Input source selection
β βββ NavigationBar.tsx # Site navigation
β βββ [other components]
βββ contexts/
β βββ AccessibilityContext.tsx # Accessibility state management
βββ styles/
β βββ App.css # Main application styles
β βββ Visualizer.css # Visualization-specific styles
β βββ Accessibility.css # Accessibility feature styles
βββ assets/
βββ images/
βββ people/ # Famous people images
- React 18 with TypeScript
- Material-UI (MUI) for UI components
- React Router for navigation
- Canvas API for real-time image processing
- WebRTC for webcam integration
- YouTube API for video integration
# Start development server
npm start
# Build for production
npm run build
# Run tests
npm test
# Eject from Create React App
npm run eject
- Add the condition to the
effects
array inVisionSimulator.tsx
- Implement the visual effect in the
Visualizer.tsx
component - Update the condition mapping in
FamousBlindPeople.tsx
if applicable
- Add person data to the
personData
object inFamousBlindPeople.tsx
- Add their image to
public/images/people/
- Update the
imageMap
in thegetPersonImage
function - Add them to the appropriate category in the
categories
array
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature
- Commit your changes:
git commit -m 'Add amazing feature'
- Push to the branch:
git push origin feature/amazing-feature
- Open a Pull Request
- New vision conditions: Add more realistic simulations
- Additional famous people: Expand the educational content
- Accessibility improvements: Enhance screen reader support
- Performance optimization: Improve rendering speed
- Mobile experience: Enhance touch interactions
- Documentation: Improve guides and tutorials
This project is licensed under the MIT License - see the LICENSE file for details.
If you encounter any issues or have questions:
- Open an issue on GitHub
- Check the existing issues for solutions
- Review the documentation in this README
Note: This tool is for educational and awareness purposes. It provides approximations of vision conditions and should not be used for medical diagnosis or treatment decisions.