Adaptive User-Responsive Accessibility
A personalized accessibility browser that learns how a person uses the web, understands the page in front of them, and reshapes that real page around their needs and current goal.
▶ Watch the complete narrated demo · Watch the 80-second pitch · Silent edit master · Read the voiceover script · Product specification · Verified status
Most accessibility tools begin with a diagnosis or a fixed mode. AURA begins with functional needs and preferences that can overlap: visual comfort, auditory support, motor precision, cognitive processing, attention and sensory load, and language comprehension.
That produces one clear product journey:
- Learn Me — a short, AI-personalized and non-diagnostic onboarding.
- Make This Mine — a visible, reversible transformation of the real page.
- Talk to AURA — natural language that changes, explains, or guides the interface instead of merely chatting about it.
The flagship moment is simple: open a normal website, press Make This Mine, and watch the same page become a different interface for a different person.
The AURA Guide asks one short question at a time across six functional support areas. Trusted questions guarantee coverage; AI can personalize the order, wording, acknowledgement, and bounded follow-ups. The onboarding interface itself changes as AURA learns preferred text, controls, density, motion, and explanation style.
- no diagnosis labels;
- large explicit choices and an optional free-text response;
- reliable deterministic fallback when cloud AI is unavailable;
- local, editable profile and explicit remembered preferences;
- profile-aware browser UI as well as profile-aware webpages.
AURA keeps standards evidence and personalization honest and separate:
- Automated WCAG 2.2 A/AA evidence reports passed rules, failed rules, severity, affected locations, and checks that still need human review;
- AURA Fit is a separate, explainable profile-specific heuristic across Interaction, Visual comfort, Focus, Understanding, and Task simplicity;
- the interface never presents automated testing as WCAG certification or a conformance decision.
After adaptation, AURA rescans the active presentation and explains what was resolved, what remains, what was introduced, and why the personalized fit changed.
AURA does more than restyle the original layout. It creates a trusted alternative presentation from real page content and controls while keeping the original document loaded underneath.
The user can choose their learned profile or demonstrate four non-diagnostic comfort patterns:
- Clear & Calm — fewer simultaneous choices and quieter hierarchy;
- Easier to See — large reflowed content and high-visibility controls;
- Easy to Control — large explicit controls with generous separation;
- Step by Step — one clear stage at a time;
- My profile — the person’s Learn Me profile and remembered preferences.
Every AURA action maps back to a validated current-page target. Form state and real website controls remain underneath, and Original ↔ AURA restores the source presentation without a reload.
Talk to AURA is grounded in the current page, profile, session goal, and explicit memory. It optimizes four action families:
- Adjust — “Make this easier,” “Make the controls bigger.”
- Explain — “Explain this section.”
- Goal / Guide — “I want to hire a logo designer under ₹5,000.”
- Remember — “Keep technical terminology. Remember that.”
Adjustments and goals regenerate the visible AURA presentation. Goal guidance points to real page controls, and consequential actions remain with the user.
Push-to-talk uses OpenAI transcription when configured. Optional spoken replies
use installed native macOS voices through /usr/bin/say, with voice preview
and remembered selection.
flowchart LR
Person["Profile + explicit memory"] --> Brain["AURA planning"]
Page["Ranked PageModel<br/>DOM + ARIA + geometry + screenshot"] --> Brain
Goal["Current goal"] --> Brain
Brain --> Safe["1. Immediate trusted Recompose"]
Brain --> Local["2. Local Qwen structural refinement"]
Brain --> Cloud["3. GPT-5.6 Luna semantic refinement"]
Safe --> Plan["Validated RecomposePlan"]
Local --> Plan
Cloud --> Plan
Plan --> Aura["AURA presentation"]
Aura --> Bridge["Action bridge"]
Bridge --> Original["Real website controls and state"]
The current event pipeline is progressive:
Make This Mine
↓
deterministic Recompose appears immediately
↓
local qwen3.5:4b-mlx prioritizes real page targets
↓
GPT-5.6 Luna adds deeper page meaning and goal refinement
↓
ready — with Original always one click away
Local or cloud failure does not remove the immediately useful trusted presentation. Models return schema-validated target decisions only; AURA never executes model-generated HTML, CSS, or JavaScript.
flowchart TB
subgraph Window["Electron BrowserWindow — trusted local React shell"]
Chrome["Navigation chrome"]
Panel["Learn Me · Scan · Make This Mine · Talk to AURA"]
Main["Electron main<br/>profile · memory · providers · typed IPC"]
end
subgraph Remote["Child WebContentsView — arbitrary remote website"]
Preload["Isolated AURA page preload"]
Model["Stable target IDs + ranked PageModel"]
Runtime["Trusted adaptation and Recompose runtime"]
Site["Original website"]
end
Chrome <--> Main
Panel <--> Main
Main <--> Preload
Preload --> Model
Main <--> Runtime
Runtime <--> Site
Key boundaries:
- one trusted React
BrowserWindowshell; - one child remote
WebContentsView; - isolated page preload with narrow typed IPC;
- ranked DOM/ARIA/geometry extraction — never first-N DOM truncation;
- screenshots plus selective CDP enrichment when useful;
- stale-page and stale-model results are rejected;
- profile and explicit memory are stored locally in versioned JSON.
The earlier WXT browser extension and Hono API remain in the monorepo as
reference clients. apps/browser is the canonical judged product.
- macOS on Apple Silicon;
- Node.js 20 or newer;
- pnpm 11.9.0;
- an OpenAI API key for cloud refinement, conversation, and transcription;
- optional: Ollama with
qwen3.5:4b-mlxfor the local fast path.
If corepack is unavailable, install the pinned pnpm version directly:
npm install --global pnpm@11.9.0git clone https://github.com/Phloraxx/AURA.git
cd AURA
pnpm install --frozen-lockfile
pnpm browser:package:macThen launch with either:
pnpm browser:eventor double-click:
Launch AURA.command
The event launcher reads a local .env when present and otherwise prompts
without echoing for a temporary OpenAI key. It never writes the key into the
repository.
pnpm install
pnpm browser:devInstall and start Ollama, then:
ollama pull qwen3.5:4b-mlxAURA defaults to http://127.0.0.1:11434 with an 8192-token requested context.
If Ollama is absent, deterministic and cloud paths continue to work.
Copy the documented defaults and keep secrets local:
cp .env.example .envImportant browser variables:
OPENAI_API_KEY=
OPENAI_MODEL=gpt-5.6-luna
AURA_PAGE_REASONING_EFFORT=medium
AURA_LOCAL_MODEL=qwen3.5:4b-mlx
AURA_LOCAL_CONTEXT=8192
AURA_CONVERSATION_PROVIDER=cloud
AURA_TRANSCRIPTION_MODEL=gpt-4o-mini-transcribeNever commit .env or an API key.
pnpm lint
pnpm typecheck
pnpm test
pnpm build
pnpm browser:test:e2eGitHub Actions runs lint, typecheck, all unit/integration tests, all application
builds, and Electron Playwright E2E on every pull request and push to main.
Native darwin-arm64 packaging and Apple voice behavior are verified on macOS.
The latest recorded event-Mac pass includes:
- 149 passing unit/integration tests and two intentionally skipped live-provider tests;
- 3 passing end-to-end Electron journeys;
- 27-site real-web coverage across articles, commerce, universities, government/public services, documentation, forms, SPAs, and listings;
- a packaged and launched
AURA.app; - local Qwen, cloud Luna, native speech, page scan, before/after evidence, conversation-driven Recompose, memory, and Original restoration.
See STATUS.md for dated evidence and
tests/sites.md for the real-site matrix.
apps/browser/ canonical Electron/React AURA Browser
apps/extension/ earlier WXT extension reference
apps/api/ legacy extension API/provider host
packages/shared/ shared profile, message, and semantic contracts
docs/browser/ canonical product, architecture, AI, UX, and testing specs
docs/assets/ product screenshots used by documentation
fixtures/ deterministic browser/extension regression pages
tests/sites.md manual real-site compatibility matrix
artifacts/ demo video and rehearsal material
Start with docs/README.md for the documentation map and
docs/browser/README.md for the authoritative reading
order.
AURA is an event prototype and an assistive personalization layer. It:
- does not diagnose a disability;
- does not replace accessible web development, browser zoom, screen readers, or operating-system accessibility tools;
- does not claim that automated testing determines WCAG conformance;
- does not promise perfect support for Canvas/WebGL, DRM-heavy surfaces, browser-internal pages, or every embedded authentication flow;
- prioritizes macOS Apple Silicon for the judged build.
AURA is an 80/20 project collaboration:
Verified identities and attribution notes are recorded in
CONTRIBUTORS.md and normalized through .mailmap.
Read CONTRIBUTING.md, then follow
AGENTS.md and the canonical browser source of truth. Material
architecture or product-scope changes require an ADR update.
main is the source of truth. W1–W8 are implemented and the verified Mac build
is in release hardening: feature scope is frozen, CI is green, and the remaining
work is operational rehearsal with the event key/network plus fixes for any
issue that rehearsal reveals.
For the complete evidence, configuration, known constraints, and packaged app
path, read STATUS.md.



