Skip to content

Instantly share code, notes, and snippets.

@txtsd
Created February 20, 2025 08:04
Show Gist options
  • Save txtsd/16d325752dc67136643e5a5f7dba8c26 to your computer and use it in GitHub Desktop.
Save txtsd/16d325752dc67136643e5a5f7dba8c26 to your computer and use it in GitHub Desktop.
Feminist Development Guidelines

To develop a website aligned with feminist design principles, focus on technical implementation, infrastructure, and code practices that prioritize accessibility, privacy, sustainability, and inclusivity. Below is a structured approach:

  1. Accessibility-First Development

    • Semantic HTML: Use HTML5 elements (<header>, <nav>, <article>) and ARIA roles for screen-reader compatibility.

    • Multiple Interaction Modes:

      Build a text-only toggle using CSS display: none/block or a separate lightweight HTML page.

      Implement audio descriptions via HTML5 tags or Web Speech API.

    • Offline Access: Use service workers for caching static assets (HTML, CSS, JS) via a manifest.json file.

    • Low-Bandwidth Optimization: Serve compressed images (WebP/AVIF), lazy-load media, and use static site generators (SSGs) like Hugo or Jekyll to minimize server load.

  2. Privacy-Centric Architecture

    • Data Minimization: Collect only essential user data. Use anonymized identifiers for analytics (e.g., Plausible or self-hosted Matomo).

    • Encryption: Enforce HTTPS via Let’s Encrypt, encrypt sensitive data at rest (AES-256), and hash passwords with bcrypt.

    • Anti-Surveillance Tools: Avoid third-party trackers; use privacy-first APIs (e.g., Tor-friendly CAPTCHAs).

    • Moderation Features: Integrate report/block functionality with a backend moderation dashboard (e.g., Django Admin).

  3. Inclusive Development Practices

    • Diverse User Testing: Use automated tools (axe-core, Lighthouse) and recruit beta testers via community partnerships.

    • CMS Customization: Implement a headless CMS (Strapi, Decap) with multi-language fields (i18n) and alt-text enforcement for images.

    • Non-Discriminatory Language: Use libraries like gender-neutral-language to scan content, or integrate inclusive language guidelines into CMS workflows.

  4. Democratized Knowledge Infrastructure

    • Open-Source Codebase: Host code on GitHub/GitLab with AGPL licensing. Use open-source frameworks (React, Django).

    • Collaborative Tools: Embed federated platforms (Matrix for chat, PeerTube for video) or integrate wiki.js for community editing.

    • Multi-Language Docs: Use GitLocalize or Weblate for crowd-sourced translations.

  5. Ecofeminist Technical Implementation

    • Static Site Generation: Deploy via Hugo/11ty to reduce server processing. Host on green providers (GreenGeeks, Netlify’s green hosting).

    • Energy Efficiency: Minimize client-side JS; use server-side rendering (SSR) or pre-rendering. Opt for dark mode via CSS prefers-color-scheme.

    • Hardware Longevity: Avoid heavy frameworks (e.g., use vanilla JS over React). Support older browsers with polyfills (core-js) and progressive enhancement.

    • Low-Tech Practices: Serve SVG icons instead of images, use system fonts, and disable non-essential animations.

  6. Global & Intersectional Infrastructure

    • Localization: Implement i18n routing (e.g., example.com/es/). Use CDNs with global edge nodes (Cloudflare) for faster access.

    • Low-Data Optimization: Create a ?lite=true version with stripped CSS/JS and cached assets.

    • Economic Accessibility: Offer downloadable content (ZIP) for offline use and ensure compatibility with low-cost devices (test via BrowserStack).

  7. Care-Centered Codebase

    • Mental Health UX: Add screen-time reminders using JavaScript setInterval() and provide a “pause animations” button.

    • Community Feedback: Build a public issue tracker (GitHub Issues) and embed anonymous feedback forms with encrypted submissions.

    • Boundaries in Code: Avoid infinite scroll; implement pagination. Rate-limit APIs to prevent burnout.

Tech Stack Example

Frontend: Static HTML/CSS, vanilla JS, Hugo SSG.

Backend: Strapi (headless CMS), Python/Django for moderation tools.

Hosting: GreenGeeks (renewable energy), Cloudflare CDN.

Privacy: Plausible Analytics, Let’s Encrypt SSL.

Accessibility: axe-core, Pa11y CI in GitHub Actions.

Sustainability: Service workers for offline mode, WebP images, system fonts.

Implementation Checklist

  • Conduct automated accessibility audits in CI/CD pipelines.
  • Test site performance on 2G/Low-End devices (via Chrome DevTools).
  • Document code publicly with contribution guidelines.
  • Implement HTTP/3 and Brotli compression for faster loads.
  • Use localStorage for user preferences (dark mode, text size).

By prioritizing these technical choices, the website becomes a feminist praxis in action—ethical, sustainable, and equitable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment