CopyPilotCopyPilot
Open FAQ tool →

Changelog

Every fix, improvement, and new feature shipped across CopyPilot tools.

FAQPlatformFeatureFixImprovement
v2.3
19 May 2026
FAQFeature

Job duplication

Copy icon on each job in the dashboard. Duplicates the job settings and rows as a new draft job and navigates directly to it. No need to reconfigure settings for repeat runs.

v2.2
19 May 2026
FAQFeature

Re-run single row

Refresh icon on each result card in the cards view. Click to re-run just that URL through the full pipeline without rerunning the whole job. Spins while running, updates the result in place.

v2.1
19 May 2026
FAQFeature

Results table view

Toggle between Cards and Table view on the job results page. Table shows URL, keyword, source, scrape status, AI Overview, PAA count, FAQ count, and status for all rows at a glance. Click any row to open it in card view.

v2.0
19 May 2026
PlatformImprovement

Version bump to v2

Product is now public-facing with a real domain and landing page. Shifting from Streamlit parity work to genuine new features. v1.x = SaaS conversion. v2.x = product features.

v1.31
19 May 2026
PlatformFeature

Landing page

Built copypilot.app landing page. Hero with animated fade-in, tools suite showing FAQ Copy live and Meta Copy / Page Intro / Page Copy as coming soon, bottom CTA, footer. Matches dark theme of the FAQ tool.

v1.30
19 May 2026
PlatformFeature

Public changelog at copypilot.app/changelog

Created copypilot-web project for the root domain. Changelog page at copypilot.app/changelog lists all versions as a static page matching the dark theme. Changelog moved from Notion to Craft and now also lives as a public static page.

v1.29
19 May 2026
FAQFeature

Live progress steps

Job processing now shows exactly what is happening at each step: scraping page, fetching GSC data, fetching DataForSEO keyword data, fetching AI Overview + PAA, generating FAQs. Batch mode shows Batch X/Y. Steps pulse in accent colour with percentage on the right.

v1.28
19 May 2026
FAQFeature

Debug panel per result row

Each result row now has a collapsible debug panel matching the Streamlit app. Shows AI Overview YES/NO, attempts count, scrape status, PAA count, SERP types, and a full textarea with all data sent to AI: keyword, scraped page content, AI Overview raw, and PAA raw.

v1.27
16 May 2026
FAQImprovement

Final comprehensive audit

All 5 provider call functions verified identical to Streamlit. Integer key handling in generate_faq_batch confirmed correct. Auth key separation confirmed. 35 discrete checks all passing.

v1.26
16 May 2026
FAQFix

Structural audit + URL validation in batch

URL validation added to batch mode (was only in single mode). import re moved to module level. Full endpoint and Supabase field mapping verified.

v1.25
16 May 2026
FAQFix

Critical: runner_up key fix + rate limiting

Runner Up Keyword column was always blank due to wrong key (query vs keyword) when extracting from select_keyword result. Fixed in single and batch mode. Added rate limiting between batch AI calls. h1 "none" string now filtered. GSC debug info added to fallback keyword_source label.

v1.24
16 May 2026
FAQFix

46-point parity audit

URL validation for rows where URL does not start with http. faq_combined question filter added to batch mode. used_question_patterns now updated between batches so subsequent batches avoid repeating questions. _fingerprint_question moved to top-level import.

v1.23
16 May 2026
FAQFix

Batch keyword selection parity

Batch keyword selection brought to full parity with single mode: GSC error handling, gsc+dfs/gsc-only labels, GSC-only fallback, runner_up tracking, has_dfs_volume check. Error result dict now includes all 16 CSV fields. faq_combined newline escaping fixed.

v1.22
16 May 2026
FAQFix

Batch result assembly + paa_raw_text format

Batch result assembly was missing all diagnostic fields. GSC-only fallback when DFS returns zero volume. forbidden_phrases cleaned before passing to copy_gen. paa_raw_text now stores Q: .../A: ... format matching Streamlit.

v1.21
16 May 2026
FAQFix

CSV column order + paa_raw_text

CSV column order fixed to match Streamlit exactly (schema before FAQ content/sources). paa_raw_text now includes answer snippets in Q/A format, not just questions.

v1.20
16 May 2026
FAQFix

Parity: branded_terms_input + scrape_status detail

branded_terms_input was missing from JobSettings model. scrape_status now shows ok (N chars) and failed: error message matching Streamlit exactly.

v1.19
16 May 2026
FAQFix

CSV columns: AI Overview Content + PAA Content

Two columns were missing from CSV export: AI Overview Content (ai_overview_raw_text) and PAA Content (paa_raw_text). Added and column order corrected to match Streamlit.

v1.18
16 May 2026
FAQFix

JSX syntax fix

Fixed Vercel build failure caused by broken label tag structure when inserting the load_async_ai_overview toggle.

v1.17
16 May 2026
FAQImprovement

Load async AI Overview toggle + branded terms

Added load_async_ai_overview toggle (doubles DFS cost, disable on large runs). Added branded terms to exclude textarea. Both were missing from the original SaaS build.

v1.16
16 May 2026
FAQImprovement

Streamlit parity fixes

Scraper max_chars increased from 4000 to 10000. Full Brand Name field added for abbreviation expansion. Batch size default changed from 1 to 5. Keyword source labels now descriptive (gsc+dfs, gsc-only, fallback: ...). Forbidden phrases changed from comma-separated to textarea.

v1.15
16 May 2026
PlatformFeature

Custom domain: faq.copypilot.app

Purchased copypilot.app on Vercel ($9.99/yr). FAQ tool connected to faq.copypilot.app. Permanent 308 redirect from faq-saas-frontend.vercel.app. CORS locked to new domain. Supabase redirect URLs updated.

v1.14
15 May 2026
FAQFix

Backend crash fix

Fixed Railway crash caused by escaped quotes introduced by a bad str_replace in routers/faq.py. 54 instances of backslash-quote replaced. Python syntax was invalid, causing immediate crash on startup.

v1.13
15 May 2026
FAQImprovement

Settings page redesign

About section redesigned with version badge, live backend health indicator with animated dot, GitHub repo links, and full stack tag list. GSC upload area improved with hover animation.

v1.12
15 May 2026
FAQFix

TypeScript fix

Fixed Vercel build failure: Property faq_combined does not exist on type RowResult. Added all new diagnostic fields to the RowResult TypeScript type.

v1.11
14 May 2026
FAQImprovement

Favicon

Added FAQ speech bubble favicon (two-tone mint green/grey). Applied to browser tab, sidebar logo, login and signup pages. All sizes generated.

v1.10
14 May 2026
FAQImprovement

CSV output aligned to Streamlit

Previous CSV exported individual Q1/A1/Q2/A2 columns. Now exports 16 columns matching Streamlit: SEO Target Keyword, Keyword Source, Runner Up Keyword, Page Scrape Status, AI Overview Content, PAA Content, FAQ Content, FAQ Sources, FAQ Schema JSON-LD, FAQ Schema Script, FAQ Status.

v1.9
14 May 2026
FAQFeature

Inline job rename

Hover a job name on the dashboard to reveal a pencil icon. Click to edit in place, Enter to save, Escape to cancel.

v1.8
14 May 2026
FAQImprovement

Batch size slider

Replaced batch mode on/off toggle with a slider from 1 to 15. Live explanation text updates as you drag. 1 = per-page mode (default 5). Backend groups pages into batches of batch_size per AI call.

v1.7
14 May 2026
FAQImprovement

Resizable columns

Replaced grid-based table with pixel-width layout. Drag handles on URL, Keyword, Type, H1 column headers. Minimum column width 80px. Row area scrolls horizontally.

v1.6
14 May 2026
FAQFeature

Row management

Added multi-select checkboxes to manual row input. Select all / deselect all via header checkbox. Delete selected rows. Clear all button. Live URL count display.

v1.5
14 May 2026
FAQImprovement

Input UX improvements

Fixed page type case sensitivity. Flexible CSV column name matching (type, Type, page_type, Page Type all accepted). Smart paste parser auto-detects 2, 3, or 4 column formats.

v1.4
14 May 2026
FAQFeature

AI model selection

Added per-provider model dropdown. Model resets to provider default when switching. Claude: Sonnet 4.6/4.5/Haiku. OpenAI: GPT-5.5/5.4. Gemini: 2.0 Flash. Mistral: Small/Large. Groq: Llama 3 70B/8B/3.3 70B.

v1.3
14 May 2026
PlatformFix

Git author fix

Rewrote commit history on both repos to use the noreply GitHub email. Prevented Vercel deployment blocks caused by unrecognised commit author.

v1.2
14 May 2026
FAQFix

Auth callback + email branding

Added /auth/callback route to handle Supabase email confirmation. Set Supabase Site URL and Redirect URLs to Vercel domain. Added branded HTML email template for signup confirmation.

v1.1
14 May 2026
FAQFix

Supabase key fix

Fixed SupabaseException: Invalid API key. Switched from new sb_publishable_ key format to legacy JWT keys. Bumped supabase-py from 2.9.0 to 2.15.0.

v1.0
13 May 2026
FAQFeature

Initial build

Full stack built from scratch as a standalone SaaS product, converted from the internal Streamlit app. FastAPI backend on Railway, Next.js frontend on Vercel, Supabase auth and DB. Auth flow, dashboard, new job page with manual/paste/CSV input, results page with CSV download, settings page.

CopyPilot — AI-powered SEO copy production