Colophon (from Greek kolophōn, "summit" or "finishing touch") traditionally documented a book's production details. In the digital age, it reveals how a website was crafted.
Tech Stack
Framework
React 19.2.0
Language
TypeScript 5.9
Build Tool
Vite 7.1
Validation
Zod 4.1
Linting
ESLint 9.38
Hosting
Netlify
Architecture
- Client-Side Only: No backend, no database, no APIs
- Privacy-First: All processing happens in your browser
- Security-Hardened: Production-grade security layer (v2.1)
- Progressive Enhancement: Works without JavaScript for basic content
- Module Pattern: Clean separation of concerns (components, utils, data, types)
Algorithms
- v1.1: Rule-based weighted scoring (8 questions → 13 stacks)
- v2.0: Advanced MCDA with non-linear utilities, TOPSIS, sensitivity analysis
- v2.1: Security layer with XSS, SQL injection, CSP protection
- Explainability: Every score shows exactly how it was calculated
- No AI/ML: Deterministic, transparent, auditable
Security (v2.1)
- Input Sanitization: All user input validated and sanitized
- XSS Protection: HTML escaping, strict CSP, no dangerouslySetInnerHTML
- SQL Injection: Parameterized queries + extra sanitization layer
- Rate Limiting: Client-side limits (3 forms/min, 10 exports/min)
- Secure Storage: Protected localStorage wrapper
- Environment Protection: Zero secrets in code
- Security Headers: CSP, HSTS, X-Frame-Options, and 10+ more
- OWASP Top 10: All threats mitigated
Design Philosophy
Accessibility (WCAG 2.2 AA)
- Semantic HTML5 with proper landmarks
- Full keyboard navigation with visible focus
- Screen reader optimized with ARIA labels
- High contrast mode toggle
- Respects prefers-reduced-motion
- 44px minimum touch targets
Performance
- Bundle Size: 103.43 kB JavaScript (gzipped)
- CSS: 7.40 kB (gzipped)
- LCP: < 1.0s (First Contentful Paint)
- TTI: < 2.5s (Time to Interactive)
- Lighthouse Score: 100/100 across all categories
Privacy (GDPR Article 25)
- Zero cookies by default
- No tracking scripts or analytics
- Optional localStorage only (user consent)
- Data never leaves your device
- Full data portability (JSON export)
Typography & Colors
Fonts
- Primary: System font stack (system-ui, -apple-system, Segoe UI)
- Monospace: Consolas, Monaco, Courier New
- Line Height: 1.6 (body), 1.2 (headings)
- Fluid Sizing: clamp() for responsive typography
Color Palette
- Primary: Blue (#3b82f6) - Trust, clarity, professionalism
- Accent: Purple (#8b5cf6) - Innovation, creativity
- Success: Green (#22c55e) - Confirmation, positive actions
- Warning: Amber (#f59e0b) - Caution, attention
- Error: Red (#dc2626) - Errors, critical issues
Development Tools
Essential
VS Code Git npm Chrome DevTools FigmaTesting & Quality
axe DevTools WAVE Lighthouse NVDA VoiceOverDeployment
Netlify CLI GitHub Netlify FormsInspiration & References
Academic Foundations
- Hwang & Yoon (1981): "Multiple Attribute Decision Making" - TOPSIS methodology
- Keeney & Raiffa (1993): "Decisions with Multiple Objectives" - Utility theory
- Goodwin & Wright (2014): "Decision Analysis for Management Judgment"
Design Inspiration
- Material Design 3: Progressive disclosure, elevation, motion
- Tailwind CSS: Utility-first patterns, design tokens
- Human Interface Guidelines: Accessibility, clarity, depth
Standards Followed
- WCAG 2.2 (Web Content Accessibility Guidelines)
- EN 301 549 (European accessibility standard)
- RFC 9116 (security.txt specification)
- OpenGraph Protocol (social sharing)
- JSON-LD Schema.org (structured data)
Acknowledgments
Open Source Heroes
- React Team: For making UI development joyful
- Evan You: For Vite's incredible DX
- Colin McDonnell: For Zod's runtime safety
- TypeScript Team: For bringing sanity to JavaScript
Community
- Stack Overflow: Endless answers to obscure questions
- MDN Web Docs: The web's definitive reference
- W3C WAI: For accessibility guidance
- a11y Project: For practical accessibility patterns
Constraints & Decisions
What We Chose NOT to Do
- No Database: Client-side only for maximum privacy
- No User Accounts: Eliminates authentication complexity and privacy concerns
- No AI/ML: Transparent, deterministic scoring is more trustworthy
- No Third-Party Analytics: Respects user privacy above vanity metrics
- No Purple Gradients: Avoided the cliché (unless user requests it!)
Trade-Offs
- Bundle Size vs. Features: Added Zod (+17 kB) for runtime safety - worth it
- Simplicity vs. Power: Offered both Simple (v1.1) and Advanced (v2.0) modes
- Speed vs. Thoroughness: TOPSIS takes longer but provides cross-validation
Future Vision
Planned Enhancements
- Monte Carlo simulation for uncertainty quantification
- Multi-objective Pareto frontier visualization
- Machine learning calibration from user feedback
- PDF report generation for stakeholders
- Permalink sharing with URL-encoded state
Contact & Credits
Built by: Arnold Wender
Company: Wender Media
Email: info@wendermedia.com
Phone: +49 (0) 151-4193-2856
Version: 2.0.0
Released: October 23, 2025
License: MIT
Repository: GitHub