Photo Reelz

Technical Architecture & Implementation

Mobile application with powerful video processing capabilities.

Mobile App Tech Stack

MOBILE APPLICATION

App Technology Stack

Technology Purpose
Expo SDK 53 App framework
React Native 0.76.7 Mobile UI
TypeScript Type-safe code
NativeWind/Tailwind Styling
Zustand Local state management
React Query Server/async state
RevenueCat Subscriptions
react-native-reanimated Animations

Server Stack & API

CORE ENVIRONMENT

API Foundation

Environment

Node.js

Framework

Express.js
RESTful API

Language

JavaScript
(CommonJS)

Security

Key and Token

TECHNICAL CAPABILITIES

Advanced Video Processing

Video Processing Engine

High-performance video encoding using FFmpeg interfaced through fluent-ffmpeg for seamless media manipulation.

Hardware Acceleration

Intel Quick Sync Video (QSV) hardware acceleration with h264_qsv codec for ultra-fast encoding performance.

High Resolution Output

Native resolution of 1800px × 1800px ensures crisp, professional-quality video output for all platforms.

Concurrency Management

Promise-based queue (p-queue) limiting server to two concurrent video jobs, preventing resource exhaustion.

File Handling

Multer manages disk storage for uploaded assets with Sharp for advanced image manipulation and logo processing.

Logging System

Custom logging utility with automatic rotation writes general and error logs to apiLogs directory when files reach size threshold.

TECHNOLOGY STACK

Core Packages & Libraries

fluent-ffmpeg

Primary Node.js library providing a fluent API to build complex FFmpeg commands for encoding, filtering, and combining media streams.

FFmpeg

Core command-line tool for video encoding, applying transitions (xfade), and mixing audio tracks with professional-grade output.

FFprobe

Analyzes media files to extract information including duration, codec details, and comprehensive metadata.

p-queue

Promise-based queue utility managing concurrency of video processing jobs to optimize server resource utilization.

multer

Handles file uploads and manages storage of incoming photos and audio files in job-specific directories before processing.

sharp

Copies and converts the credit image logo, applying it to the end of each video for the configured photo duration.

child_process (execSync)

Built-in Node.js module executing standalone FFmpeg commands, including generateSilenceFile function using anullsrc filter for base audio tracks.