Builder's Log

The development journal behind RayRay's construction. This captures the day-by-day journey - the decisions, discoveries, and iterations that shaped the platform.

Phase 1: Research & Discovery

Day 1-2: Mental Prep (Mar 5-6)

  • Read the POC three times
  • Identified gaps: no weighting, no decision capture, no feedback loop
  • Researched MCDA methods (AHP, TOPSIS, SAW)
  • Discovered M-25-21 compliance requirements

Day 3: The Deep Dive (Mar 7)

  • Started research on radar systems
  • Discovered OMB M-25-21 memorandum
  • Went down the MCDA rabbit hole
  • Designed the extraction pipeline

Phase 2: Foundation

Architecture Decisions

  • Monorepo structure with Turborepo
  • Next.js 15 for frontend
  • FastAPI for backend
  • SQLAlchemy 2.0 async for data layer

Core Features Built

  • Document ingestion pipeline
  • Claim extraction system
  • Comparison engine
  • Scoring framework

Phase 3: Auth & Security

Authentication System

  • OAuth 2.0 password flow
  • JWT tokens with refresh
  • MFA with TOTP
  • Role-based access control

Compliance Layer

  • Audit logging
  • Session management
  • Rate limiting

Phase 4: Polish & Ship

UI/UX Refinements

  • Dark theme implementation
  • Footer with system status
  • Responsive layouts
  • Error handling

Key Decisions

DecisionRationale
TurborepoMonorepo for shared code, faster builds
Next.js 15App router, server components
FastAPIAsync Python, OpenAPI built-in
JWT + MFASecurity compliance requirement

Lessons Learned

  1. Start with compliance — M-25-21 shaped many decisions
  2. Simple beats clever — The scoring system started complex, simplified
  3. Document as you go — Future you will thank present you

For the full interactive timeline with code samples, see the main Builder's Log.