Skip to content

v0.2.0 — Daily Free tier, SEO, presets, share links

Latest

Choose a tag to compare

@YashvanthSankar YashvanthSankar released this 20 May 13:03

The "make people come back" release. Free plan resets daily, twenty hand-tuned conversion landing pages target organic search, platform presets cover the eight most common asks in one tap, and shareable links + force-downloads remove the last bits of "save then upload again" friction.

Headline changes

Daily Free tier (A)

  • 10 conversions / day, resets at UTC midnight (was 15 / month).
  • File-size cap 25 MB → 100 MB so a single iPhone video fits.
  • Live "Resets in Xh Ym" countdown in the sidebar meter.

20 SEO landing pages (B)

  • New routes at /convert/{from-to} for the most-searched conversions: mp4-to-mp3, mov-to-mp4, mkv-to-mp4, webm-to-mp4, avi-to-mp4, heic-to-jpg, png-to-jpg, jpg-to-png, webp-to-png, webp-to-jpg, svg-to-png, gif-to-mp4, wav-to-mp3, m4a-to-mp3, pdf-to-jpg, pdf-to-png, png-to-pdf, jpg-to-pdf, compress-pdf, compress-video.
  • Each page has unique intro + FAQs (FAQPage JSON-LD for Google rich results), a pre-filled prompt, and a composer entry point.
  • Master index at /formats. Featured on the homepage.

Platform presets (C)

  • Pill row above the composer: WhatsApp, WhatsApp Status, Instagram Reel, Instagram Post, YouTube Thumbnail, Email-safe PDF, Email attachment, Print-ready.
  • Tapping one fills the composer with the right natural-language prompt. The LLM still picks the actual tool — preset prompts get the corrector + learned-lessons pipeline for free.

Shareable output links (E)

  • New /d/{code} pages with 24h validity. Inline Share button on every result.
  • Copy link + Share on WhatsApp from a dropdown.
  • 24h expiry matches the cleanup cron — when files are deleted the share page shows "file no longer available" rather than a broken link.

Conversational follow-up (F)

  • Filename in prompt now resolves to that file. Stops the auto-chain from silently using last turn's output when you clearly mention a different file in your prompt.
  • Visible "↳ Following up on X" indicator when auto-chain does fire.

Trust page rewrite (I)

  • Concrete commitments: where files run (Modal sandbox), when they're deleted (24h, cron-enforced), what the AI sees (prompt only, never bytes), what's stored, "commands visible before execution", no ads/training/resale.
  • "How one conversion actually flows" — a 4-step walkthrough.
  • Link to the public GitHub repo so every claim is verifiable.
  • Trust badge in the composer: "Files auto-delete in 24h".

History improvements (H)

  • Search bar in the history panel.
  • Favorite (star) a chat → sorts to the top.
  • Per-turn "Run again" button reopens the dashboard with the prompt pre-filled.

Mobile polish (G)

  • 44px touch targets on Attach + Send.
  • Haptic feedback on conversion complete (navigator.vibrate).
  • Tap-friendly drop zone with "Tap to select files (or use the camera)" copy.

Downloads work everywhere

  • Native <a download> is ignored cross-origin (Convex storage runs on another host), which is why downloads used to open in a new tab. New downloadFile helper fetches into a Blob and triggers a real save dialog. Applied to: chat result card, uploads panel, share page, preview modal.

Analytics (J)

  • New events table + daily rollup cron.
  • Admin dashboard at /admin/analytics: conversion lifecycle chart, success rate, daily-limit hits, per-event explorer.
  • Shared /admin hub + sub-nav with claim-access flow.

Other notable

  • New nav: footer "Convert" column + homepage "Popular conversions" grid surface the /convert/* pages to users who never see Google.
  • Compact usage meter — projected bill collapses to one line with Groq+Modal expansion on click.
  • prompts.adminDebug + users.grantAdminByEmail admin tooling for live triage.

Deferred to v0.2.1

  • Google Drive import/export — needs Google's OAuth verification (4–6 weeks).
  • Composer voice button/api/transcribe endpoint exists; needs a MediaRecorder UI (~150 lines).

Schema changes

  • userUsage gains period + periodKind (legacy month double-written for one deploy cycle).
  • prompts gains chainedFromPromptId.
  • chats gains favorite + searchIndex by title.
  • New tables: events, eventDailyRollup, shareLinks.

Commits in this release

sidebar: compact usage meter + reuse history list on desktop rail
v0.2 wrap: changelog entry, footer Convert column, home conversions grid
history: search, favorites (sort to top), and per-turn Run again
mobile: 44px touch targets, haptic on completion, tap-friendly dropzone
follow-up polish + inline share + force-download everywhere
prompts: prefer literally-named file over auto-chain output
share: 24h shareable output links + /d/{code} download page
presets: platform quick-actions (WhatsApp, Instagram, Email, ...)
seo: 20 hand-tuned /convert/* landing pages + /formats index
security: rewrite trust page with concrete commitments + in-app badge
admin: /admin hub + shared AdminShell with sub-nav and claim flow
free tier: daily 10/day quota + 100MB file cap + reset countdown
users: add grantAdminByEmail internalMutation for bootstrap
analytics: events table, fire sites, rollup cron, admin dashboard