In active development

Read By My Eyes, an Accessible Audio Services Platform

A multi-role platform connecting beneficiaries, service providers, coordinators, administrators, and sponsors through an experience designed from the beginning for both blind and sighted users.

View live project

Problem

Blind and sighted users need a shared platform for audio services, content discovery, and coordinated fulfillment without forcing separate tools or inaccessible workflows.

My role

End-to-end product analysis, user flows, technical architecture, data design, backend development, Flutter application, infrastructure, integrations, accessibility, and implementation.

  • Product analysis and user flow design across all roles
  • Technical architecture and database design
  • Laravel API backend development
  • Flutter mobile application structure and role-based interfaces
  • WordPress public site and Laravel Blade catalog surfaces
  • Filament administration panel
  • Accessibility engineering across web and mobile

Solution

A multi-surface platform with a public WordPress site, Laravel Blade catalog, Filament administration, Flutter mobile app, and a Laravel API backend designed around role-based access and accessibility from the start.

Mobile app and role-based experiences

Beneficiary home screen with request status overview.
Personal audio library and playback entry point.
Training course bookings inside the mobile app.
Points ledger for reading requests and refunds.

Implemented scope

  • Laravel API as the central backend with MySQL data store
  • Redis and queue workers for background processing
  • WordPress public site for organization pages and app download
  • Laravel Blade public catalog with search, filtering, and content display
  • Filament admin for content, users, roles, requests, and donations management
  • Flutter application structure with role-based interface foundations
  • Temporary SSO approach between the mobile app and the catalog
  • Google and Apple Sign-In integration where adopted
  • File protection through presigned URLs
  • Role-based permission model across platform surfaces
Audiobook page with sample and full playback.
Narrator profile with sample playback and stats.
Mobile catalog view for public discovery.

Planned scope

  • Docker-based deployment pipeline and full CI/CD automation
  • Cloudflare R2 object storage integration
  • Firebase FCM push notification delivery
  • Manual, automated, and urgent fulfillment distribution workflows
  • Request-linked in-platform messaging
  • Full production launch across all roles and surfaces

Operations and administration

Main admin dashboard and operational overview.
Automated request and task distribution settings.
Voice test review before onboarding narrators.
Periodic automated distribution report.

Key engineering decisions

  • Single Laravel data source shared across catalog, admin, and API
  • Separation of public discovery from daily authenticated usage
  • Temporary SSO between the Flutter app and the Blade catalog
  • Google and Apple Sign-In where social authentication is adopted
  • Presigned URLs for protected file access instead of public media links
  • Role-based permissions enforced at API and surface level
  • Accessibility-first architecture across web and mobile surfaces

Sponsor panel and platform guide

Sponsor dashboard for contributions and impact.
Unified platform guide for the different user roles.

Architecture

Six platform surfaces connected through a single Laravel backend: a WordPress public site for discovery, a Blade catalog for content browsing, Filament for operations, Flutter for mobile roles, and shared API, queue, and storage infrastructure.

Architecture diagram of the Read By My Eyes platform, showing Flutter, the central Laravel application, Blade, Filament, MySQL, Redis, background processing, R2, Firebase, and Docker.

Accessibility

  • TalkBack and VoiceOver screen reader support in mobile flows
  • Semantic HTML structure and keyboard navigation on web surfaces
  • Focus management across interactive components
  • Sufficient color contrast on public and admin interfaces
  • Reduced motion respect across animated web elements
  • Accessible forms, validation feedback, and screen reader labels

Technologies

LaravelMySQLRedisQueuesWordPressLaravel BladeFilamentFlutterDockerCloudflare R2Firebase FCM

Related services