Changelog
What we shipped.
A running log of every release and the meaningful change in between — newest first. The honest version: real dates, real reasons, no "improved performance" filler.
- Release v0.2.0GitHub →
The make-people-come-back release
Plans & quotas
- — Free plan switched to 10 conversions per day (resets at UTC midnight) instead of 15 per month. The old monthly cap was making every Free user anxious about a single conversion eating their allowance.
- — Free file-size cap raised 25 MB → 100 MB so a single iPhone video fits.
- — New usage meter: live "Resets in Xh Ym" countdown for Free; compact "Projected bill" line that expands to the Groq + Modal split for paid plans.
Growth & SEO
- — 20 hand-tuned landing pages at /convert/{from-to} (mp4-to-mp3, heic-to-jpg, mov-to-mp4, png-to-pdf, compress-pdf, …) — each with unique copy + FAQPage JSON-LD for rich results.
- — Master index at /formats grouping every conversion by category.
- — Footer "Convert" column + homepage "Popular conversions" grid so internal traffic finds the pages without Google.
Composer & follow-ups
- — Platform presets pill row: WhatsApp, WhatsApp Status, Instagram Reel/Post, YouTube Thumbnail, Email-safe PDF, Email attachment, Print-ready. One tap drops the right natural-language prompt.
- — Conversational follow-up: typing a filename in your prompt now resolves to that file instead of silently auto-chaining the previous output. When auto-chain does fire, a clear "Following up on X" indicator shows in the chat.
- — /presets page now leads with "Official prompts" (the platform + conversion recipes) above community presets — same list, two clearly-labeled lanes.
Sharing
- — Shareable output links at /d/{code}, 24h validity. Copy link + Share on WhatsApp from a dropdown on every output.
- — Share page is robots-noindexed and shows a clean download card with a "Try ReFile" CTA — every share is also a marketing surface.
- — Downloads everywhere now trigger a real save dialog instead of opening in a new tab (the cross-origin `<a download>` issue).
History
- — Search bar in the history panel (full-text across chat titles).
- — Favorite (star) a chat → sorts to the top of the list.
- — Per-turn "Run again" button reopens a fresh chat with the prompt pre-filled.
Mobile polish
- — 44px touch targets on the composer Attach + Send buttons (Apple HIG / Material minimum).
- — Haptic feedback on conversion complete via `navigator.vibrate`.
- — Tap-friendly drop zone with "Tap to select files (or use the camera)" copy.
- — "Files auto-delete in 24h" trust badge under the composer.
Trust & security
- — Trust page rewrite at /security with concrete commitments: where files run (Modal sandbox), when they're deleted (24h, cron-enforced), what the AI sees (prompt + filenames only, never bytes), what we store, no ads/training/resale.
- — "How one conversion actually flows" — a 4-step walkthrough mapping the claims to the real data path.
- — Public GitHub link so every claim is verifiable: if the code doesn't match this page, that's a bug.
Operations & analytics
- — Analytics events table + daily rollup cron + admin dashboard at /admin/analytics.
- — Shared /admin hub with sub-nav (Analytics, Lessons) and a Claim-access flow for allowlisted accounts.
- — Force-download proxy for all output links.
Bug fixes
- — Sidebar footer overflow: logout no longer escapes the border for users with long names.
- — Chat history list actually scrolls when long (min-h-0 propagation fix in the sidebar flex chain).
- — /presets page is scrollable for signed-in users (was clipped by the app-mode shell).
- Release v0.1.0GitHub →
First public tag
Core product
- — Conversational dashboard with chat-style history and a unified composer.
- — Multi-step pipeline support (chain commands per request, per-plan step cap).
- — Auto-chain across turns: previous outputs become the next turn's inputs automatically.
- — File previews for image, PDF, video, audio, CSV, text.
Billing & plans
- — Locked four-tier pricing (Free / Student / Pro / Power) with global + India regional pricing.
- — Polar.sh integration: subscriptions, customer portal, $0.02-per-conversion overage on paid plans with a real-provider-cost floor.
- — Region verification against Polar's billing country (anti-spoof).
Developer API
- — Public REST API v1 (uploads, jobs, jobs/:id).
- — API key management with hashed storage and visible prefix.
- — Per-job webhooks delivered on settlement.
- — 20-job free trial; payment method required past that.
- — /docs/api reference + /developers landing.
Reliability & ops
- — Self-improving loop: clustered command failures get distilled into prompt lessons, admin-reviewed before being injected.
- — 24-hour file retention with an hourly cleanup cron.
- — Tool / command / flag names are never surfaced to the browser — sanitized server-side.
UI
- — Claude-style collapsible sidebar with persisted expand state.
- — Uploads panel.
- — Community presets surface with likes, search, and category filters.
- Infra
Polar billing wired end-to-end
- — Polar.sh checkout + customer portal integration.
- — Webhook handler that resolves user, plan, and region from the purchased product.
- — Regional pricing locked: global vs. India variants per tier.
- Design
Mono-tonal design system
- — Instrument Serif as the display face; Inter for UI; JetBrains Mono for code.
- — Surfaces, borders, and tokens unified across the dashboard, presets, and marketing pages.
- — Hero video + spotlight on the landing.
- Infra
Convex migration
- — Moved from Supabase to Convex for real-time data + reactivity.
- — Job execution is now event-driven — no more status polling from the browser.
- — Convex Auth replaces the custom Arctic OAuth flow.
- Stability
Resilient routes
- — Every API route is force-dynamic with lazy backend init — first-deploy builds never block on missing env.
- — Page-level error boundaries on dashboard and presets.
- — Loading skeletons everywhere; no more flash of empty page.
- Workflows
Visual workflow builder
- — Canvas for chaining presets into a reusable pipeline.
- — Preset detail pages with one-click "Use preset" → dashboard composer pre-filled.
- Features
Voice input + multilingual
- — Voice transcription via Groq-hosted Whisper.
- — Script hints for Hindi, Tamil, Telugu, Kannada, Malayalam, Marathi, Bengali, Gujarati, Punjabi, Urdu, and English — Whisper output stays in the right script for short utterances.
- Features
Community presets
- — Reusable command recipes shared by other operators.
- — Likes, usage counts, category + tag filtering, search.
- — Create-preset stepper with command-template validation.
- Stack
FastAPI → Next.js + Modal
- — Modal sandboxes replace the original FastAPI worker for command execution — per-job ephemeral containers with no shared state.
- — Next.js App Router replaces the original SPA + FastAPI split.
- AI
Groq integration
- — Groq replaces the first-pass model for command generation.
- — Token usage metered per turn; cost surfaced in the live usage meter.
- Features
Multi-file uploads + delete endpoint
- — Upload multiple files in one turn; the AI plans across them.
- — Per-file delete from the uploads panel.
- Started
ReFile begins
- — Day one: a static home page, dark/light mode, and a sketch of the chat surface.
- — First end-to-end demo: upload a file, ask in plain English, the FastAPI backend calls an LLM, runs a command, returns the result.