chore(openspec): propose web stack decision (Next.js vs Flutter Web)

This commit is contained in:
admin 2025-11-17 23:32:37 +00:00
parent 3d95ecea9f
commit 1daefa3bb6

View file

@ -0,0 +1,46 @@
# Proposal: Web Stack Decision
Status: draft
Authors: Platform Team
Owners: Architecture Lead, Web Lead
Created: 2025-11-17
Scope: spec
Related: openspec/specs/architecture.md
Summary
- Decide between Next.js (React/SSR) vs Flutter Web to deliver accessible, SEOfriendly, performant web with parity to mobile.
Motivation
- Ensure the web stack supports public SEO content (resources/blog), membersonly features, and strong a11y/compliance.
Goals / NonGoals
- Goals: select stack, document SSR/SEO approach, a11y/testing strategy, and performance budgets.
- NonGoals: design system details (future proposal).
Evaluation Criteria
- Accessibility: semantic HTML, keyboard/focus, screen readers, reduced motion, large text.
- SEO & SSR: canonical URLs, Open Graph, sitemaps, incremental static regen.
- Performance: Core Web Vitals targets (LCP < 2.5s, INP < 200ms, CLS < 0.1).
- Ecosystem: routing, data fetching, auth integration, CMS/blog interop.
Options
- Next.js (App Router, React 18, RSC + server actions)
- Flutter Web (single codebase, a11y improvements; evaluate SEO constraints)
Risks & Mitigations
- SEO constraints with Flutter Web → fallback to Next.js for public surfaces if chosen.
Rollout Plan
- Implement public resource list and blog index prototype; measure CWV and a11y checks.
Test Plan
- Lighthouse/CWV, axe, keyboard nav tests; SEO meta validation.
Acceptance Criteria
- Decision recorded with rationale; prototype metrics captured; a11y/SEO signoff.
Slash Commands
- `/review areas=web,accessibility,security`
- `/apply spec=openspec/specs/architecture.md`
- `/archive link=<PR>`