These Architecture Decision Records (ADRs) document the significant technical choices made during the development of the RAISE Manifesto website, capturing the context, considerations, and rationale behind each decision.
Architecture Decision Records
The following records document key architecture decisions in chronological order:
ADR-001: Host Comments on External Platforms
Context
We want to maximize accessibility and encourage open feedback on the RAISE Manifesto, while keeping the site as simple as possible. Platforms like Reddit and Substack already offer robust, familiar commenting and discussion tools.
Decision
We will not build a native commenting system into the RAISE Manifesto site. Instead, we will share the site on platforms like Reddit and Substack, and direct visitors to join the discussion there. Links to these discussions will be included on the site.
Consequences
- The site remains extremely simple and easy to maintain.
- Readers can participate in discussion using platforms they already know.
- We lose some control over the discussion space, but gain reach and ease.
- If needs change, we can revisit the decision and add native comments later.
ADR-002: Use GitHub Pages for Site Hosting
Context
We need a CSS architecture that is maintainable, provides visual consistency, and supports progressive enhancement while implementing our design system.
Decision
We will implement a CSS architecture with the following characteristics:
- CSS custom properties (variables) for design tokens
- Logical component-based organization
- No CSS preprocessors or frameworks
- Mobile-first responsive approach
- Progressive enhancement principles
Rationale
- Design System Implementation: CSS variables effectively implement our design tokens
- Maintainability: Component organization follows logical content structure
- Simplicity: Vanilla CSS3 provides the features we need without tooling complexity
- Accessibility: Mobile-first approach ensures content works on all devices
- Performance: No framework overhead means faster loading
Consequences
Positive:
- Straightforward architecture that's easy to understand
- No build step required for CSS processing
- Direct implementation of our design system
- Better performance through reduced file size
Negative:
- Limited code reuse mechanisms compared to preprocessors
- Some manual vendor prefixing may be needed for older browsers
- Potential for style inconsistencies without strict enforcement
ADR-003: GitHub Pages for Hosting
Context
We need a hosting solution for the RAISE Manifesto website that is reliable, free or low-cost, and integrates well with our development workflow.
Decision
We will host the RAISE Manifesto website on GitHub Pages, using the organization's github.io domain.
Rationale
- Integration: Direct integration with our GitHub repository
- Cost: Free hosting for open source projects
- Reliability: GitHub's infrastructure provides excellent uptime
- Simplicity: Built-in deployment from repository branches
- Transparency: Open source hosting aligns with our values
- Community: Facilitates collaboration through GitHub's platform
Consequences
Positive:
- Automated deployment through git workflows
- Visibility of source code and development process
- No hosting costs
- Familiar platform for most developers
Negative:
- Limited to static content only
- No server-side processing capabilities
- Dependency on GitHub's platform and policies
- Limited performance optimization options
These architecture decisions represent key technical choices made during development, documented to preserve context and rationale for future reference.