Technology Stack
Astro
Static site generation with zero-JS-by-default architecture. React islands hydrate only interactive components.
React 19
Leveraging React 19's concurrent features, compiler-assisted hooks, and client rendering for seamless transitions.
Tailwind CSS v4
High-performance styling utilizing Tailwind's next-generation engine, modern grid architectures, and OKLCH color spaces.
Shadcn / UI & Base UI
Accessible component structure built on top of robust styling primitives to ensure focus states and screen-reader friendliness.
xlsx-js-style
Styled Excel sheet generator creating gridline-enabled, colored, and custom-sized XLSX files directly in-browser.
Bun Runtime
Fast local building, linting, formatting, and unit testing via Bun's high-speed JS engine toolchain.
Subtitle Conversion Engine
Converts styled subtitles to clean, industry-standard SRT files.
- Maps inline codes (
\b,\i,\u,\s) to HTML tags (<b>, etc.). - Filters out comments, drawing paths, and positional override commands.
- Adjusts sequential subtitle gaps using snap/threshold limits to prevent overlap flickers.
- Enforces minimum duration (e.g. 200ms) to guarantee legibility.
Preserves all typesetting code blocks verbatim for advanced players (e.g. mpv, VLC).
- Injects starting alignment codes (
\anN) based on track defaults. - Supports style resets (
\rStyleName) and drawing coordinate vectors. - Implements stable depth sorting (signs before dialogue) to ensure dialogue stays visible at the bottom.
Scales coordinate metrics to match targets when video resolution changes.
- Applies linear transformation matrices to positions (
\pos) and motion parameters (\move). - Scales vector drawing clip coordinates (
\clip,\iclip). - Proportionally adjusts font sizes (
\fs) and outline border widths (\bord). - Compensates for aspect-ratio differences between source and target targets.
Spreadsheet Compiler & Importer
When loading spreadsheets (.xlsx, .xls, .csv, .tsv, .txt), the importer reads data columns in memory and analyzes column names using heuristic regex patterns to map subtitle fields:
Timestamps can be formatted as fractional days (Excel time format), decimal seconds, milliseconds, standard timecodes (HH:MM:SS.mmm), or frame-based codes (HH:MM:SS:FF). Frame-based timestamps are translated accurately using project-specific frame rates (FPS).
Translating multi-episode sheets or script lists is simplified through row segmentation. The compiler automatically parses rows, looks for empty cells containing specific episode boundaries, and breaks them down:
Upon discovering marker rows, the compiler splits the spreadsheet's dialog lists into discrete sub-tracks, letting you name, preview, modify, and convert individual episode subtitle files in a single pass.
Transpiling subtitles back to Excel sheets generates highly styled, publication-ready workbooks. Our engine formats the worksheet layout dynamically:
- Auto-Calculated Widths: Analyzes text and timing content lengths to resize columns, preventing overflow truncation and text clipping.
- Color-Coded Templates: Highlights headers and index markers in professional theme colors (Aegisub Blue/Red accents) with styled border divisions.
- Worksheet Combination: Combines batch converted subtitles into a single spreadsheet workbook—either mapped onto separate named tabs or consolidated into a single sheet using custom episode markers.
Privacy by Architecture
Unlike online subtitle sites that upload personal documents to backend servers, this application runs on a Zero-Trust architecture. All parsing, resampling, spreadsheet mapping, and workbook formatting happen entirely inside your local browser memory space.
No Server Uploads
Subtitle bytes and dialogue contents never cross the network interface. Absolute privacy.
100% Offline Capable
Once loaded, all features and script compilation algorithms operate perfectly without internet connectivity.