SpinJockey Network

Professional Content Management Platform for Film Industry

Project Overview

Objective: Develop a comprehensive content management platform specifically designed for independent filmmakers and creative studios. The platform enables project management, collaboration, and content distribution with industry-specific workflows and multi-tier access control.

Innovation: Built on Rails 8.0.4 with Ruby 3.2.2 on a modern Redis-free architecture using Solid Queue, Solid Cache, and Solid Cable, demonstrating cutting-edge Rails development practices for professional film industry applications.

Ecosystem: SpinJockey Network has expanded into a multi-application ecosystem including a Script Analysis App for automated screenplay evaluation and a Screenplay Editor mountable Rails engine (published as a Ruby gem to the self-hosted Gitea package registry) for collaborative script writing, providing end-to-end tools for film production workflows.

Source Repositories

  • Main Platform: Spinjockey-Network/spinjockey-network-website
  • Script Analysis: Spinjockey-Network/script-analysis-app
  • Screenplay Editor: Spinjockey-Network/screenplay-editor
5
User Role Tiers
3
Applications
Rails
8.0.4
Latest Framework
100%
Redis-Free

✨ Recent Enhancements (v1.0.1)

🔐 Security & Monitoring

  • Rack::Attack: rate limiting on authentication endpoints (5 attempts per 20 seconds)
  • Sentry: error tracking and performance monitoring with configurable sample rate
  • Session timeout: 2-hour inactivity timeout with fixation protection on login
  • Structured JSON logging: via Lograge for machine-readable audit trails
  • Health checks: /health and /health/detailed endpoints with allow-listed IPs

⚡ Database Performance

  • Nine performance indices added for common query paths
  • Optimized lookups for users, projects, and content items
  • 40–60% improvement in query performance on targeted workloads

🎬 Screenplay Editor Integration

  • Custom screenplay-editor Ruby gem (v0.1.1)
  • Published to self-hosted Gitea package registry
  • Automated gem publishing via CI/CD pipeline
  • Industry-standard screenplay formatting and validation

💻 Browser Compatibility

  • Chrome 60+, Firefox 60+, Safari 10+ (macOS Sierra and later)
  • -webkit- vendor prefixes for older Safari
  • Password visibility toggle on sign-in, registration, and password-reset forms
  • Stimulus.js progressive enhancement with proper ARIA labels

⚙️ CI/CD Automation

  • Automated testing via Gitea Actions on every push
  • Tag-based automated deployment to production
  • Self-hosted Docker-based CI/CD runner
  • ~2–3 minute end-to-end deployment time

📧 Email & Spam Protection

  • Resend API for user registration and notification delivery
  • reCAPTCHA on registration and contact forms
  • Suspicious-request blocking: .php, .asp, .env scan attempts dropped
  • Host authorization protects against host-header attacks

Platform Architecture

Frontend Layer Stimulus + Turbo (Hotwire) | Responsive Cinema-themed Design Ruby on Rails 8.0.4 Application Controllers Admin + Public Models User + Project + Content Policies Pundit + RBAC Mailers Resend API Modern Rails 8 Stack (Redis-Free) Solid Queue Solid Cache Solid Cable Thruster PostgreSQL 15 Database Users | Projects | Content Items | Analytics | 9 Performance Indices Multi-Tier Access Admin Collaborator Premium Registered Guest Self-Hosted Deployment Debian + systemd Puma 6.6 Docker SSL + HSTS

🎭 Multi-Tier User System

Role-Based Access Control: Designed specifically for film industry workflows with granular permissions for different types of collaborators and content access levels. Authorization is enforced server-side via the Pundit gem, with role-based policies applied to every controller action.

👑 Admin

Full platform management and analytics access

🎬 Collaborator

Team member access to production materials

⭐ Premium

Access to premium content and advanced features

📝 Registered

Member access to registered content

👤 Guest

Browse public content only

🔐 Authentication & User Management

  • Multi-tier User System: 5 distinct user roles with hierarchical permissions
  • Secure Authentication: BCrypt hashing, email confirmation, and password reset with time-limited tokens
  • Role-based Authorization: Pundit gem with granular content and project policies
  • Rate Limiting: Rack::Attack throttles login attempts (5 per 20 seconds)
  • Session Management: 2-hour timeout, fixation protection, CSRF protection
  • Password Visibility Toggle: Accessible UI with ARIA labels across all forms

📁 Content Management System

  • Project Organization: Manage multiple film projects with metadata
  • Content Upload: Support for scripts, storyboards, character guides, and marketing materials
  • Flexible Storage: Both file uploads and direct HTML editing
  • Access Control: Configure content visibility by user role
  • Content Analytics: Track views, unique viewers, and engagement metrics
  • Screenplay Authoring: Integrated via the mountable Screenplay Editor engine

🛡️ Administrative Interface

  • Comprehensive Dashboard: System overview with statistics
  • Project Management: Create, edit, and manage project status through Development → Archive
  • User Management: Search, filter, and manage user roles with toggle functionality
  • Content Organization: Upload and organize production materials
  • Analytics & Reporting: View counts, user engagement, system health

📊 Analytics & Observability

  • Content Engagement: Track views and access patterns
  • User Activity: Monitor content consumption behavior
  • Error Tracking: Sentry captures production errors and performance traces
  • Structured Logs: JSON log format via Lograge for ingestion by downstream tools
  • Health Endpoints: /health and /health/detailed for uptime checks
  • Access Audit: Complete logging of who accessed what content and when

🎯 Film Industry Content Types

📜 Production Documents

  • Scripts: Screenplays and revisions (via Screenplay Editor gem)
  • Storyboards: Visual production planning
  • Character Development: Guides and profiles
  • Production Notes: Behind-the-scenes documentation

💼 Business Materials

  • Marketing Materials: Promotional content and strategies
  • Budget Documents: Financial planning materials
  • Contracts: Legal and business documents
  • Project Tracking: Development through Archive phases

🚀 Ruby on Rails 8.0.4

  • Ruby 3.2.2: Latest stable Ruby
  • Modern Rails Stack: Cutting-edge features, no Redis required
  • Solid Queue: Background jobs without Redis dependency
  • Solid Cache: Caching system without Redis
  • Solid Cable: WebSockets without Redis
  • Thruster: HTTP caching and compression
  • Pundit: Role-based authorization
  • Puma 6.6.0: Production application server

🎨 Frontend Technologies

  • Stimulus & Turbo: Hotwire for reactive interfaces
  • Propshaft: Modern Rails asset pipeline
  • Custom CSS: Hand-crafted responsive design
  • Cinema-themed Design: Professional film industry styling
  • Mobile-first: Optimized for all screen sizes
  • Importmap: Modern JavaScript without bundling

🔒 Security & Resilience

  • BCrypt: Secure password hashing
  • Rack::Attack: Request throttling and attack mitigation
  • Sentry: Error tracking and performance monitoring
  • reCAPTCHA: Registration and contact-form spam protection
  • CSRF Protection: Built-in Rails security features
  • Content Sanitization: XSS protection on user content
  • Host Authorization: Prevents host-header attacks
  • SQL Injection Prevention: Parameterized queries throughout

☁️ Infrastructure & Deployment

  • Self-Hosted Debian: Production Linux server with systemd service
  • Docker: Containerized development environment
  • Gitea Actions: Self-hosted CI/CD pipeline
  • Tag-Based Deployment: git tag v1.0.x triggers ~2–3 minute production deploy
  • PostgreSQL 15: Robust, scalable database
  • Resend API: Transactional email delivery
  • SSL Enforcement: HTTPS-only in production
  • Health Monitoring: /health and /health/detailed endpoints

🔧 Implementation Highlights

🎬 Industry-Specific Design

  • Cinema-themed responsive design optimized for film professionals
  • Role-based UI that adapts to user permissions dynamically
  • Project workflow designed for film production lifecycles
  • Content organization matching film industry standards

⚡ Modern Rails Architecture

  • Rails 8.0.4 with the full Redis-free Solid* stack
  • Background job processing with Solid Queue
  • WebSocket support through Solid Cable
  • Advanced caching with Solid Cache
  • Screenplay Editor integrated as a mountable engine gem

🛡️ Enterprise Security

  • Multi-tier role-based access control via Pundit
  • Rack::Attack rate limiting on authentication endpoints
  • Session timeout and fixation protection
  • Sentry error tracking for security incident monitoring
  • Suspicious-request blocking for common vulnerability scans

📈 Performance & Observability

  • Nine database indices delivering 40–60% query improvement
  • Structured JSON logging via Lograge
  • Sentry performance traces with configurable sample rate
  • Health endpoints for monitoring integration

🎯 Project Impact

Professional film industry platform enabling independent filmmakers and creative studios to manage projects, collaborate effectively, and distribute content with enterprise-grade security and analytics. Built with cutting-edge Rails 8.0 architecture for optimal performance and maintainability.

Technical Innovation: Successfully implemented Redis-free Rails 8.0 stack with Solid Queue, Solid Cache, and Solid Cable, and extended the platform with a custom mountable engine (Screenplay Editor) published as a private Ruby gem, demonstrating modern Rails development practices while delivering industry-specific functionality for film production workflows.