Development Approach
Norri is built with a focus on quality, performance, and user experience. This page outlines our development principles and approach.
Clean Room Development
Norri is developed using a clean room methodology. This means:
- Original implementations — All code is written from scratch based on general programming knowledge
- No derivative code — We do not copy, reference, or derive from other media server codebases
- Public documentation only — We only reference publicly available API documentation and specifications
- Independent design decisions — Architecture and features are designed independently
Why Clean Room?
Clean room development ensures:
- Legal clarity — No licensing ambiguity or copyleft concerns
- Fresh perspective — Freedom to make different architectural choices
- No legacy baggage — No inherited technical debt or design constraints
- Clear ownership — Complete control over the codebase
What This Means in Practice
When implementing features, our developers:
- Read public specifications and API documentation
- Design solutions based on general software engineering principles
- Do not look at source code of similar projects
- Document the rationale for significant design decisions
Technology Stack
Norri is built on modern, proven technologies:
Server
- Go — Fast, compiled language with excellent concurrency
- PostgreSQL — Robust database for large media libraries
- FFmpeg — Industry-standard media processing
Web Interface
- SvelteKit — Modern, reactive UI framework
- TypeScript — Type-safe JavaScript
Native Apps
- Swift/SwiftUI — Native Apple TV and iOS
- Kotlin — Native Android TV and mobile
Quality Standards
Testing
- Comprehensive unit and integration tests
- End-to-end testing for critical workflows
- Performance benchmarks for database operations
Security
- Security-first design principles
- Regular dependency updates
- No telemetry or data collection
Performance
- Designed for 100,000+ item libraries
- Optimized database queries
- Efficient media streaming and transcoding
Contributing
While Norri is not currently open source, we value community feedback:
- Bug reports — Email hello@norri.tv
- Feature requests — Share your ideas with us
- Documentation — Help improve these docs
See Open vs Closed Source for more on our licensing approach.