Core Technologies
AniDev is built on a modern, performant stack optimized for streaming and content delivery.Framework & Runtime
Astro 5.16.8
Web FrameworkServer-side rendering with islands architecture for optimal performance. Configured with:
- SSR mode (
output: 'server') - Node.js adapter in standalone mode
- Automatic HTML compression
- Prefetch all strategy with viewport detection
TypeScript 5.8.3
Type SystemStrict type checking with Astro’s strict tsconfig. Features:
- Path aliases for clean imports
- React JSX support
- Domain-driven type organization
React 19.2.3
UI LibraryInteractive islands for dynamic functionality:
- Video player components
- Search interfaces
- User profile management
- Drag-and-drop collections
Node.js (Standalone)
Runtime EnvironmentDeployed as standalone Node.js server with:
- Environment-based configuration
- Graceful error handling
- Production optimizations
Why Astro?
astro.config.mjs
Astro’s islands architecture delivers near-instant page loads by sending minimal JavaScript to the client. Only interactive components hydrate, keeping bundle sizes small.
Backend & Data
Database & Authentication
- Supabase
- Redis
- Auth.js
Backend-as-a-Service (v2.90.1)Features Used:
src/libs/supabase.ts
- PostgreSQL database with RPC functions
- Row-level security (RLS)
- PKCE authentication flow
- Real-time subscriptions
- Server-side client for admin operations
get_anime_by_id- Fetch anime with parental controlsget_animes_full- Advanced anime searchget_related_anime- Relationship queriesget_unique_studios- Studio aggregation
Styling & UI
TailwindCSS 4.1.10
- Utility-first CSS framework
- Vite plugin for build optimization
- Custom animations (
tailwind-animations) - Responsive design system
- Dark mode support
- Custom component library in
@shared/components - Reusable patterns across domains
- Accessibility-focused design
State Management & Forms
Zustand 5.0.5
Lightweight StateUsed for:
- User preferences
- Search filters
- UI state (modals, sidebars)
- Anime lists and collections
Zod 3.25.63
Schema ValidationType-safe validation for:
- API request/response
- Form inputs
- Environment variables
- Database queries
Media & Content
Video Playback
Vidstack React (v1.12.13)- HLS/DASH streaming support
- Custom controls and UI
- Keyboard shortcuts
- Quality selection
- Progress tracking
Image Processing
Sharp (v0.34.2) - Server-side optimizationAI Integration
Google Generative AI (v0.24.1)Development Tools
Code Quality
- Biome 1.9.4
- Prettier 3.5.3
- Vitest 3.2.3
Fast Formatter & LinterBenefits:
biome.json
- 10-100x faster than ESLint
- Built-in formatter
- Accessibility rules
- Security checks
Performance & Monitoring
Error Tracking
Sentry (v10.27.0)astro.config.mjs
Rate Limiting
rate-limiter-flexible (v7.1.1)src/middlewares/rate-limit.ts
Logging
Pino (v10.1.0) + pino-pretty (v13.1.2)src/libs/pino.ts
Interactive Components
Drag & Drop
dnd-kit (v6.3.1)Notifications
@pheralb/toast (v1.0.0)Storage & CDN
Pinata (v2.4.8) - IPFS IntegrationPackage Manager
pnpm - Fast, disk space efficientpackage.json
Scripts
pnpm dev- Development serverpnpm build- Production buildpnpm test- Run testspnpm format- Format code
Dependencies
50 production dependenciesCarefully selected for:
- Performance
- Bundle size
- Maintainability
Version Control
standard-version (v9.5.0)Automated versioning and CHANGELOG generation
Technology Selection Criteria
Each technology was chosen based on:- Performance - Fast runtime and build times
- Developer Experience - Clear APIs and documentation
- Type Safety - First-class TypeScript support
- Bundle Size - Minimal client-side JavaScript
- Ecosystem - Active maintenance and community
- Security - Regular updates and vulnerability patches
The stack emphasizes server-side rendering and minimal client JavaScript for optimal performance, while providing rich interactivity where needed through React islands.
