A modern, interactive web application for exploring Netflix's technical evolution through architecture layers and engineering blog posts.
Architecture Timeline is a BigTech-inspired web application that visualizes 700+ Netflix engineering blog posts across multiple architecture layers and categories. Built with modern web technologies, it offers four distinct visualization modes inspired by industry-leading platforms like Pinterest, Medium, and Spotify.
-
π¨ 4 Visualization Modes
- Cards View - Pinterest-style infinite scroll with gradient cards
- Magazine View - Medium-inspired editorial layout with large banners
- Grid View - Year-collapsible compact timeline
- Classic Timeline - Interactive swimlane visualization
-
π Advanced Analytics
- Real-time statistics with gradient cards
- Collapsible sections for top years and categories
- Layer distribution analysis
- Temporal trend insights
-
π Smart Filtering
- Multi-layer architecture filtering (Presentation, Application, Domain, Infrastructure, ML)
- Date range filtering with quick presets (Last Year, Last 3/5 Years, All Time)
- Category multi-select with visual chips
- Sort options (Newest/Oldest, Title A-Z/Z-A)
- Full-text search across titles and content
- Real-time filter updates with 300ms debounce
-
π Modern UI/UX
- GitHub-style footer with tech stack and credits
- Gradient-based color coding by category
- Responsive design for all screen sizes
- Dark mode optimized
- Smooth animations and transitions
- BigTech-inspired design patterns
- Docker & Docker Compose
- Git
- Clone the repository
git clone git@github.com:BehindTheStack/architecture-timeline.git
cd architecture-timeline- Start development environment
docker-compose -f docker-compose.dev.yml up -d- Access the application
- Frontend: http://localhost:3000
- API: http://localhost:8000
- API Docs: http://localhost:8000/docs
- Hot-reload is enabled! π₯
- Frontend changes auto-reload instantly
- Backend changes auto-reload with uvicorn --reload
docker-compose up -dwebapp/
βββ frontend/ # Next.js 14 Application
β βββ app/
β β βββ components/ # React Components
β β β βββ TimelineCards.tsx # Pinterest-style cards
β β β βββ TimelineMagazine.tsx # Medium editorial layout
β β β βββ TimelineGrid.tsx # Year-collapsible grid
β β β βββ TimelineVisualization.tsx # Classic timeline
β β β βββ StatsPanel.tsx # Analytics dashboard
β β β βββ AdvancedFilters.tsx # Smart filters with presets
β β β βββ LayerFilter.tsx # Architecture layer filters
β β β βββ PostDetail.tsx # Modal with full post
β β β βββ CreditsFooter.tsx # GitHub-style footer
β β βββ page.tsx # Main page component
β β βββ layout.tsx # Root layout
β β βββ globals.css # Global styles
β βββ Dockerfile # Production build
β βββ Dockerfile.dev # Development build
β βββ package.json
β
βββ api/ # FastAPI Backend
β βββ main.py # API routes and logic
β βββ Dockerfile # Production build
β βββ Dockerfile.dev # Development build
β βββ requirements.txt
β
βββ docker-compose.yml # Production compose
βββ docker-compose.dev.yml # Development compose
βββ README.md
- Framework: Next.js 14 (App Router)
- Language: TypeScript 5.0
- Styling: Tailwind CSS 3.4
- Icons: Lucide React
- Timeline: vis-timeline
- State: React Hooks
- Framework: FastAPI 0.100+
- Language: Python 3.11
- Server: Uvicorn with uvloop & httptools
- Performance: Multi-stage Docker builds
- Containerization: Docker with multi-stage builds
- Orchestration: Docker Compose
- Development: Hot-reload enabled for both services
- Production: Optimized standalone builds (~150MB frontend, ~180MB backend)
Posts are classified across 5 layers:
- Presentation Layer - UI/UX, frontends, mobile apps
- Application Layer - Business logic, microservices
- Domain Layer - Core domain models and logic
- Infrastructure Layer - Databases, caching, messaging
- ML Layer - Machine learning, AI, recommendation systems
- Engineering Culture
- System Design
- Performance
- Security
- Data Engineering
- DevOps
- Testing
- Mobile
- And more...
This project follows BigTech design standards, inspired by:
- Pinterest - Masonry card layout with infinite scroll
- Medium - Editorial magazine layout with large imagery
- Spotify - Credits presentation and dark theme
- Netflix - Color palette and gradient usage
Frontend (frontend/.env.local):
NEXT_PUBLIC_API_URL=http://localhost:8000Backend (api/.env):
# No additional configuration requiredDevelopment (with hot-reload):
docker-compose -f docker-compose.dev.yml up -dProduction (optimized builds):
docker-compose up -dRebuild after dependency changes:
docker-compose -f docker-compose.dev.yml up -d --build- Frontend: Next.js standalone output, SWC minification, automatic code splitting
- Backend: uvloop for faster async I/O, httptools for faster HTTP parsing
- Docker: Multi-stage builds with layer caching, minimal base images
- Caching: Multi-layer strategy (in-memory, LRU, HTTP headers) - see PERFORMANCE.md
The application uses a centralized layer configuration system that synchronizes with the ML classification pipeline. All layer definitions, colors, and metadata are managed in frontend/app/lib/layers.ts.
Current Layers (9 ML-classified):
- Backend APIs (Orange)
- Video Streaming (Pink)
- Platform Tooling (Yellow)
- Data Infrastructure (Blue)
- Observability (Indigo)
- Engineering Culture (Purple)
- Performance (Red)
- Distributed Systems (Green)
- Cloud Infrastructure (Cyan)
π For detailed information on layer management, synchronization with the ML pipeline, and how to update layers after retraining, see LAYER_CONFIGURATION.md
- UI: Infinite scroll pagination (30 posts/page), lazy loading, debounced search
- Filtering: Client-side sorting and filtering for instant response
- Data: JSON-based storage with in-memory caching
Modern card layout with infinite scroll and gradient accents.
Editorial layout with large banners perfect for immersive reading.
Quick presets, category selection, and sort options.
Get all timeline entries with optional layer filtering.
Query Parameters:
layers(array): Filter by architecture layers
Response:
{
"entries": [
{
"path": "string",
"title": "string",
"date": "2024-01-01",
"layers": ["Application", "Infrastructure"],
"snippet": "string"
}
]
}Get all available architecture layers with metadata.
Response:
{
"layers": [
{
"name": "Application Layer",
"count": 150,
"earliest": "2010-01-01",
"latest": "2024-12-31"
}
]
}Get comprehensive statistics about the timeline.
Query Parameters:
layers(array): Filter statistics by layers
Response:
{
"total_posts": 541,
"date_range": {
"earliest": "2010-01-01",
"latest": "2024-12-31"
},
"layer_distribution": {
"Application Layer": 150
},
"top_years": [
{"year": "2023", "count": 45}
],
"top_categories": [
{"category": "System Design", "count": 78}
]
}Full-text search across posts.
Query Parameters:
q(string): Search querylayers(array): Optional layer filtering
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
This project is open source and free to use for:
- β Personal projects and learning
- β Commercial applications
- β Portfolio demonstrations
- β Educational purposes
- β Research and analysis
We encourage:
- π Star this repository if you find it useful
- π Link back to this project in your README or about page
- π¬ Share what you built with it!
- π€ Contribute improvements back to the community
Optional Attribution:
Built with [Architecture Timeline](https://github.com/BehindTheStack/architecture-timeline) by BehindTheStackNo attribution required, but greatly appreciated! β€οΈ
- β Use this code in your own projects
- β Modify and adapt for your needs
- β Create derivative works
- β Use commercially without fees
- β Fork and create your own version
The Netflix blog posts data is publicly available from Netflix Tech Blog. This project provides a visualization layer for educational and analysis purposes.
- Export timeline as PNG/PDF
- Social sharing features
- User annotations and bookmarks
- GraphQL API support
- Real-time collaboration features
- AI-powered post recommendations
- Advanced data visualizations (D3.js charts)
BehindTheStack - @BehindTheStack
Project Link: https://github.com/BehindTheStack/architecture-timeline
Made with β€οΈ by BehindTheStack
Exploring tech evolution, one blog post at a time π