Modern Accessibility Reading System for ADHD
Open|Bionic helps ADHD readers improve focus and comprehension by transforming text into bionic reading formatβbolding the first half of each word to guide the eye and reduce cognitive load.
An accessibility tool that makes reading easier for people with ADHD by:
- Bolding word beginnings to guide eye movement
- Reducing reading friction through visual anchoring
- Improving focus and comprehension
This version has been completely refactored into a universal, technology-agnostic library:
- β RESTful API accessible from any technology
- β Real-time text transformation
- β Export to HTML, RTF, and PDF
- β High performance (<50ms response time)
- β Modern, responsive web interface
- β Dark/Light mode toggle
- β Live bionic text preview
- β PDF & RTF download functionality
- β WCAG 2.1 AA accessibility compliant
- Elixir 1.15+ & Erlang/OTP 26+
- PostgreSQL 15+
- Node.js 20+
Run PowerShell as Administrator:
# Install dependencies
choco install elixir postgresql15 nodejs-lts -y
# Initialize backend
.\setup-backend.ps1
# Initialize frontend
.\setup-frontend.ps1See INSTALLATION.md for detailed instructions.
Terminal 1: Backend
cd open_bionic_lib
mix deps.get
mix ecto.create
mix phx.serverBackend: http://localhost:4000
Terminal 2: Frontend
cd frontend
npm install
npm run devFrontend: http://localhost:3000
# GET endpoint
curl http://localhost:4000/api/v1/transform/Hello%20World
# POST endpoint
curl -X POST http://localhost:4000/api/v1/transform \
-H "Content-Type: application/json" \
-d '{"text":"Hello World"}'Response:
{
"success": true,
"data": {
"html": "<b>Hel</b>lo <b>Wor</b>ld",
"raw": "Hello World",
"stats": {
"word_count": 2,
"char_count": 11
}
}
}# PDF
POST /api/v1/export/pdf
# RTF
POST /api/v1/export/rtf
# HTML
POST /api/v1/export/htmlSee Backend README for complete API documentation.
Open.Bionic/
βββ open_bionic_lib/ # Elixir/Phoenix backend
β βββ lib/
β β βββ open_bionic/
β β β βββ core/ # Transformation algorithm
β β β βββ export/ # HTML, RTF, PDF generators
β β βββ open_bionic_web/
β β βββ controllers/api/
β βββ test/
β
βββ frontend/ # TypeScript/Vite frontend
β βββ src/
β β βββ api/ # API client
β β βββ components/ # UI components
β β βββ styles/ # Design system
β β βββ utils/
β βββ index.html
β
βββ backend.py # Legacy Python backend (preserved)
βββ frontend.py # Legacy Streamlit UI (preserved)
βββ INSTALLATION.md # Setup guide
- β RESTful API with versioning
- β Phoenix LiveView support
- β CORS enabled for cross-origin access
- β Native PDF generation (no external dependencies)
- β Comprehensive test coverage (>90%)
- β Modern TypeScript architecture
- β Real-time bionic text preview (300ms debounce)
- β Dark/Light theme toggle (localStorage persistence)
- β Responsive design (mobile, tablet, desktop)
- β Accessibility: WCAG 2.1 AA, keyboard navigation, screen reader support
# Backend tests
cd open_bionic_lib && mix test
# Frontend type check
cd frontend && npm run type-check
# E2E tests
cd frontend && npm run test:e2e# Backend
cd open_bionic_lib
fly launch
fly deploy
# Frontend (static hosting)
cd frontend
npm run build
# Deploy dist/ to Fly.io, Vercel, or Netlifydocker-compose up -d| Document | Purpose |
|---|---|
| Implementation Plan | Refactoring architecture |
| Backend API | API reference |
| Frontend Guide | Component documentation |
| Installation | Setup instructions |
- Rebuilding core with Elixir/TypeScript
- HTML, RTF, PDF export support
- Text-to-speech (Whisper API integration)
- Multiple font styles and sizes
- Enhanced dark mode and letter fixation
- OpenAI tokenization for advanced saccade control
- Browser extensions (Chrome, Firefox)
- Speed reading features
- Divergent Readers Annual Challenge
Contributions welcome! This is an open-source accessibility project.
- Fork the repo
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open a Pull Request
Created by: @ahmedbenaw (Product Manager, ADHD Survivor)
Refactored by: @Ahmadkhaled11 (Technical Lead)
This tool exists to help people with ADHD learn, grow, and thrive by making reading more accessible and less overwhelming.
If Open.Bionic helps you, please:
- β Star this repository
- π’ Share with others who might benefit
- π¬ Report bugs or suggest features via Issues
- π€ Contribute to the codebase
Let's make reading accessible for everyone! π