Every Lip Gloss style now has Background(ScreenBg) so ANSI sequences
carry the cream color inherently. Previously only PadLine added bg
to padding spaces, but inner escape codes reset the background.
All spacing between styled segments uses bg()/wbg() helpers.
Cursor row elements use Background(Warm) for highlight.
- PadLine now wraps entire line content with Background(ScreenBg) so
cream color shows behind all text, not just the right-edge padding
- Added PadLineWithBg for active row warm highlight (#f8f0e6)
- Restructured View() to pin bottom bar at terminal bottom with blank
fill between file list and footer
- Removed 'd remove' from bottom bar keybindings to match web reference
- Fixed column widths for cursor, selection, size, format selector, status
- Flexible name column that adapts to terminal width
- Active row highlighted with warm background color
- Column header aligned with file row columns
- Proper Unicode symbols (arrows, dots, check/cross marks)
- Consistent 2-char padding on dividers and title bar
- Full-screen Bubble Tea TUI with cream background fill using PadLine/FillBlankLines
- Self-update command (--update) pulling from GitHub releases
- install.sh for curl one-liner installation
- Terminal Lovers section on web landing page with install command and CLI features
- All 7 format categories, glob/directory batch support, auto-download ffmpeg
Dark terminal window with macOS title bar auto-types conversion commands
with realistic keystroke delays. Shows colored output for each format
category. Cycles through 10 different conversions, clears after 6 to
stay clean. Category format counts shown below terminal. Dramatic visual
contrast against the pastel page.
Four animated marquee rows (Images, Documents, Audio/Video, Data/Fonts)
scroll continuously in alternating directions. Category labels pinned on
left with edge fade. Badges pause on hover. Each row has distinct color
and scroll speed.
All 70+ formats displayed as color-coded badges in a flowing cloud layout.
Popular formats are larger, all badges animate in with staggered entrance.
Category legend at top with colored dots. Hover effects on each badge.
Redesign 'How it works' as illustrated timeline with unique scene
per step (pink/purple/mint), connecting line, and staggered animations.
Redesign 'Features' as asymmetric bento grid and 'Privacy' as
side-by-side layout with animated shield. Redesign FileCard as paper
note style with random rotation, washi tape strip, ruled lines, and
typewriter typography.
- Fix Unicode escapes (\u26A1, \u2192, \u{1F6E1}) rendered as literal text in JSX
by wrapping them in JSX expressions
- Increase orbit radii (520/320px -> 720/480px) so items don't overlap hero text
- Add orbit animation keyframes (orbit-slow, orbit-med) to globals.css
- Add Tesseract.js OCR fallback for scanned/image-based PDFs that have no
extractable text layer — renders pages to canvas then runs browser-based OCR
- Thread onProgress through all PDF conversion functions for OCR progress
- Wire presentationConverter (pptx read/write via pptxgenjs+jszip)
- Add fontConverter (ttf/otf/woff/woff2 via opentype.js + woff2-encoder)
- Add PSD support via ag-psd in imageConverter
- Add spreadsheetConverter (xlsx/xls/ods via SheetJS)
- Add ebookConverter (epub via jszip)
- Expand data converter with ini/env/properties/ndjson/jsonl/sql formats
- Add context-aware previews for pptx, epub, fonts, and psd in PreviewModal
- Remove unsupported .doc extension from fileDetector
- Replace Node-only wawoff2 with browser-compatible woff2-encoder
- Add PreviewModal component with support for images, PDFs, HTML, audio, video, and text-based formats
- FileCard now shows Preview + Download buttons side-by-side after conversion
- Preview opens in a modal overlay with Escape/backdrop-click to close
- Text files truncated at 100KB for preview performance
- Harden pdfjs-dist worker loading with try/catch fallback (runs on main thread if CDN fails)
- Add useSystemFonts option to PDF document loading for better text extraction
- Rewrite all components to use Tailwind utility classes (Tailwind v4 broke custom CSS classes)
- New landing page at / with hero, features bento grid, how-it-works, privacy section
- Converter tool moved to /convert route
- Fonts: Fraunces (serif headlines) + Plus Jakarta Sans (body) + JetBrains Mono (labels)
- Warm cream palette with pastel category colors (pink, blue, purple, orange, mint)
- Remove all gradients — solid colors only throughout
- Remove floating badge bounce animation
- Responsive action bar and file grid for mobile
- Register design tokens via @theme inline for Tailwind v4 compatibility
Replace jsPDF.text() (plain text dump) with jsPDF.html() + html2canvas-pro
which renders actual styled DOM elements into the PDF. DOCX headings, bold,
italic, tables, lists, links now render correctly. All HTML output also gets
a full styled document wrapper with embedded CSS. HTML-to-Markdown converter
rewritten with proper DOM-walking parser instead of fragile regex.
Full-stack client-side file converter with Next.js 15 static export.
Supports images (Canvas API), documents (mammoth/pdf-lib/jspdf),
audio/video (ffmpeg.wasm), and data formats (papaparse/yaml/xml).
Dark industrial UI with Space Grotesk + JetBrains Mono, animated
drop zone, glassmorphism file cards, progress rings, and ZIP downloads.
Zero server dependencies — files never leave the browser.