Latest update

Supr Keywords Changelog

jobskeywordsclusters

Results summaries, smarter filters, and API access

Shipped8 commits+3598282
  • Completed jobs now open with a Summary tabA new **Summary** tab gives you a quick view of personas, references, keywords, clusters, and recent volume trends for finished jobs.
  • Keywords and Clusters now have more powerful filtersYou can now use multi-select intent and persona filters, numeric ranges, and saved filter settings between backtests to narrow results faster.
  • API keys can now be managed in the dashboardCreate, view, and revoke API keys in **Settings → API Keys**, then use them with Bearer auth or the `X-API-KEY` header.
  • jobsAdded a new **Summary** tab for completed jobs with at-a-glance counts and trend charts.
  • keywordsAdded advanced filters for **Keywords** and **Clusters**, including multi-select intent and persona filters, plus saved settings between backtests.
  • keywordsKeyword processing was tuned to finish sooner while surfacing a broader set of related keywords.
  • clustersClustering now includes all keywords, not just enriched ones, for more complete groupings.
  • keywordsIntent and persona filter labels now use the same colors as the results tables, making them easier to scan.
  • authenticationAPI requests can now be authenticated with a dashboard session, `Authorization: Bearer <your-api-key>`, or `X-API-KEY: <your-api-key>`.
  • apiAdded live API key management in the dashboard, including list, create, and revoke actions.
  • jobsAdded a job summary endpoint to support the new Summary tab for completed runs.
  • docsRefreshed the documentation site with a new look, updated launch messaging, and clearer product descriptions.
  • docsUpdated the quickstart, API reference, and API key guide to cover Bearer auth and `X-API-KEY` support.
  • docsImproved the docs playground so it can call live `/api/*` requests from the docs site or local preview.
  • securityAPI secrets are shown only once when created, and keys can be revoked later if needed.
  • securityA maximum of 10 active API keys is now enforced to help keep access manageable.
authbillingdemo

Auth, billing, and the demo experience got a major upgrade

Shipped113 commits+3184311761
  • Clerk sign-in, sign-up, and protected app access are now liveThe app now uses Clerk for sign-in and sign-up, keeps private routes protected by default, and syncs user accounts through webhooks so access stays up to date.
  • Run-based billing and in-app checkout are in placeUsers can now see their run balance in the app, buy more runs when they run out, and complete purchases through the new Paddle checkout flow.
  • The public demo and read-only job experience were expandedVisitors can now explore a fuller public demo, including demo job lists and read-only job pages, making it easier to try Supr Keywords before signing up.
  • authAdded dedicated sign-in and sign-up pages, plus Clerk-powered protection for private app routes.
  • demoAdded a public demo with a full demo job list and read-only job pages.
  • billingAdded run balance display, an in-app buy-runs screen, and Paddle checkout support.
  • jobsAdded job cloning from the job header so you can reuse an existing setup faster.
  • marketingAdded legal pages for Terms of Service, Privacy Policy, and Cookie Policy.
  • billingUpdated Solo run pack pricing to $149 and refreshed pricing references across the homepage, pricing content, and onboarding guidance.
  • marketingImproved the homepage, footer, FAQ, and navigation for a cleaner marketing experience.
  • dashboardMade the dashboard feel snappier with caching, hover prefetching, and smarter loading behavior.
  • jobsRefined job creation with locale suggestions, domain-limit messaging, and a confirmation step for smaller competitor lists.
  • jobsImproved persona, clustering, and keyword result displays with clearer labels, avatars, tooltips, and opportunity value fields.
  • marketingFixed homepage and marquee layout issues so marketing pages render more smoothly on larger and smaller screens.
  • dashboardImproved error handling so unexpected app failures now show a friendlier recovery message.
  • authFixed webhook handling and email CTA styling so account sync, job emails, and purchase messages are more reliable and readable.
  • jobsFixed several job, keyword, and cluster edge cases, including duplicate links, failed batches, and tooltip visibility near the bottom of the screen.
  • apiAdded user balance, locale suggestion, demo, references, live progress, Clerk webhook, and Paddle webhook endpoints.
  • apiExpanded job and keyword responses to support new billing, demo, persona, and opportunity value features.
  • apiUpdated the public API documentation and OpenAPI generation to match the current endpoints and authentication flow.
  • databaseAdded row-level access rules and auth database tables so users only see their own data.
  • securityHardened database functions and webhook verification to reduce security warnings and trust Clerk and Paddle signatures.
  • securityKept private jobs hidden from public users while still allowing the demo account to remain accessible.
  • performanceImproved keyword processing with parallel batch handling, smaller inserts, and better stopping behavior for large jobs.
  • performanceMade site previews and reference cards load more efficiently, with cached preview data reused for longer.
  • performanceIncreased background job concurrency and improved dashboard refresh behavior for faster overall throughput.
  • docsUpdated onboarding, auth, billing, deployment, and API docs to reflect the new sign-in, payment, and demo flows.
  • docsAdded OpenAPI generation, Mintlify docs content, and refreshed marketing/legal copy across the site.
  • docsMarked the main auth and billing milestones complete in the product planning docs.
  • marketingRemoved the standalone /pricing page; pricing is now surfaced on the homepage.
  • authMoved the main app flow to /app and retired the older /dashboard route.
homepagepricingkeyword-processing

Homepage pricing refresh, keyword processing improvements, and a cleaner build

Shipped4 commits+562768
  • Homepage pricing now better reflects the current plansWe refreshed the homepage messaging and pricing layout to make it easier to understand what each plan includes. The Global plan is now shown at **$399 / 5 runs**, and the pricing section was expanded to compare the three plans more clearly.
  • Keyword processing is more consistent for larger setsKeyword pruning guidance was clarified, and clustering was tuned to handle bigger jobs more smoothly.
  • homepageUpdated the homepage hero copy to better explain the product’s value.
  • pricingExpanded the pricing section to show clearer plan names, descriptions, and feature details.
  • pricingReworked the pricing layout to a three-column design for the Solo, Global, and Agency plans.
  • pricingAdded clearer plan details for keyword limits, domain coverage, and support options.
  • homepageUpdated the homepage footer to show the company’s location.
  • keyword-processingImproved keyword pruning guidance so relevant keywords are easier to tell apart from irrelevant ones.
  • pricingCorrected the Global plan price on the homepage to **$399 / 5 runs**.
  • web-appFixed web app build issues on Vercel caused by TypeScript and Next.js configuration problems.
  • web-appPrevented CSV downloads from depending on a missing date value in JobHeader.
  • web-appRemoved an unused JobListItem state value and an unused import from the cache clear API route to keep the app compatible with the latest checks.
  • keyword-processingImproved clustering processing so larger keyword batches can be handled more reliably.
  • authUpdated the authentication and billing plan to reflect run-based billing, no free trial, and Solo, Global, and Agency run packs.
  • authAdded a public demo account flow and clarified read-only access for the demo experience.
  • apiStandardized API route examples under /api/v1/, including `GET /api/v1/users/me`.
  • documentationReorganized the implementation plan into 16 sequential commits and refreshed related planning notes.
keywordsjobspersonas

Smarter keyword discovery, live progress, and better locale matching

Shipped5 commits+1592343
  • Keyword jobs now keep searching until they find enough seedsThe system now discovers and enriches seed keywords in a loop before expansion starts, helping jobs continue until they reach a useful minimum of results.
  • See enriched keyword counts live while a job runsThe job header now updates in real time, so you can track enriched keyword progress without waiting for the run to finish.
  • Keyword generation now follows the selected language and marketPersona and seed keyword generation now use the chosen language and location more consistently, making results feel more local and relevant.
  • keywordsKeyword jobs are now more resilient, with retries increased from 3 to 5 to better handle temporary issues.
  • keywordsLarger jobs can move through pruning, clustering, and seed generation more smoothly thanks to higher processing limits.
  • localesCountry flags now appear alongside locale details in the job list and job header for quicker scanning.
  • personasPersona details are easier to read, with demographic fields shown as clear labels instead of raw field names.
  • jobsThe keyword hunting status message now gives a more realistic estimate of 30–60 minutes or more.
  • keywordsYou can now configure OpenAI output settings for keyword generation and persona creation.
  • jobsFixed job progress resetting and flickering during persona generation and seed keyword loops.
  • pruningFixed keyword deletion failures on large pruning jobs by splitting deletes into smaller batches.
  • pruningPrevented "URI too long" errors during pruning by limiting each delete request to 100 keyword IDs.
  • pruningImproved delete error messages so it is clearer which batch failed.
  • keywordsThe clustering keyword limit was reduced from 500 to 300, which may change results for larger jobs.
  • keywordsThe default expansion loop count was reduced from 50 to 30, which may shorten some runs.
pipelineclusteringweb-app

Smarter keyword discovery, faster clustering, and a new web app workflow

Shipped32 commits+223621772
  • Keyword discovery now completes the full loopSupr Keywords now runs the complete related → ideas → suggestions flow, so keyword discovery goes further with less manual work.
  • Clustering is now faster and works on much larger datasetsWe added automatic clustering selection for small and large jobs, plus a faster K-means path that handles thousands of keywords more reliably.
  • The web app now covers the full job workflowUsers can create jobs, review results in dedicated tabs, export keywords, and manage jobs from a cleaner dashboard experience.
  • pipelineAdded keyword suggestions expansion so discovery now continues from related keywords and ideas into suggestions.
  • clusteringAdded semantic clustering with cluster summaries and pillar keyword selection to group related keywords more meaningfully.
  • clusteringAdded automatic clustering selection, using simpler clustering for smaller jobs and K-means for larger ones.
  • web-appAdded the web app job workflow, including job creation, results tabs, and job deletion from the dashboard.
  • exportsAdded CSV export for keyword results, including cluster labels and smarter filenames.
  • pipelineMade keyword exclusion smarter by focusing on the highest-opportunity keywords instead of removing results at random.
  • dashboardImproved job browsing with clearer domain names, locale codes, status badges, and automatic sidebar refreshes.
  • dashboardAdded search, sorting, and pagination to the Keywords and Clusters views for easier exploration of large jobs.
  • dashboardAdded monthly volume charts and friendlier language and location names to make results easier to read.
  • pipelineImproved progress messages so long-running jobs show clearer, more user-friendly updates.
  • web-appFixed language and location dropdowns so they now load and select the right options correctly.
  • clusteringFixed clustering issues that could place all keywords into one group or leave matching keywords out.
  • exportsFixed CSV export problems so large downloads label clusters correctly and handle special characters safely.
  • dashboardFixed job status handling so failed jobs no longer get stuck in running or processing states.
  • web-appFixed several build and runtime issues in the web app to make local development and deployment more reliable.
  • apiAdded versioned job endpoints for creating jobs, listing jobs, viewing job details, and deleting jobs.
  • apiAdded results endpoints for personas, keywords, clusters, and cluster keywords, with filtering and pagination support.
  • apiAdded language and location endpoints for the job form, plus support for downloading keyword data as CSV.
  • apiImproved cache control endpoints so teams can clear data by domain or by specific locale when needed.
  • clusteringReduced clustering time dramatically for large jobs by using a faster K-means path and batching embeddings.
  • pipelineLowered keyword discovery costs by limiting suggestion requests and applying smarter API-level filters.
  • web-appImproved form speed by loading language and location lists from built-in data instead of runtime external requests.
  • dashboardReduced unnecessary polling and API usage across the dashboard and pipeline.
  • docsAdded onboarding guides for the web app, pipeline, database, and shared utilities.
  • docsUpdated the web app PRD, roadmap, and changelog notes to reflect the new dashboard and clustering work.
  • docsAdded planning and onboarding docs for future authentication, credits, and billing work.
  • apiLanguage and location APIs now return built-in data only, so any integrations expecting live external lookups should be updated.
platformapidatabase

Keyword research pipeline foundations landed this week

Shipped22 commits+361942343
  • Keyword jobs now run through a background pipelineWe added the first end-to-end job flow for Supr Keywords, covering persona generation, seed keywords, expansion, clustering, and webhook delivery.
  • The product now has a real app, database, cache, and API foundationThis week established the monorepo, Supabase storage, Redis caching, and Express API structure needed for the product to grow.
  • Live keyword data and dual opportunity scores are now in placeKeyword research now pulls live DataForSEO data, and keywords are scored separately for organic and paid opportunity.
  • platformSet up the Supr Keywords workspace with app stubs for the web app, API, and docs site, plus shared packages for the core product areas.
  • databaseAdded Supabase-backed storage for keyword jobs, personas, keywords, clusters, and keyword lineage.
  • jobsBuilt the Inngest-powered pipeline for persona generation, seed keywords, expansion, clustering, and webhook delivery.
  • integrationsConnected DataForSEO for keyword overview, related keywords, keyword ideas, and keyword suggestions.
  • databaseAdded separate organic and paid opportunity scores to better compare SEO and PPC potential.
  • apiMoved the API service to Express and added quick health checks for uptime monitoring.
  • cacheAdded Redis caching and automatic local startup so repeated work is faster and local development is easier.
  • jobsImproved keyword expansion with deduplication, volume-based filtering, and automatic cleanup of low-value keywords.
  • jobsMade the pipeline more reliable with better job tracking, safer startup handling, and more resilient retries.
  • docsUpdated the development rules, project layout, and test guidance to match the new monorepo setup.
  • databaseFixed cluster embeddings so similarity matching works correctly.
  • jobsFixed duplicate keyword inserts and edge cases that could stall expansion runs.
  • integrationsFixed TypeScript and startup issues in the DataForSEO and pipeline code.
  • cacheChanged `pnpm dev` to require Docker so Redis can start automatically.
  • databaseRenamed `opportunity_score` to `organic_opportunity_score` in the database and related queries.
  • apiUpdated the API route structure as part of the move from Next.js to Express.
  • databaseSwitched database commands to the Supabase CLI workflow.
  • securityAdded a password to the development Redis connection for a safer local setup.
  • performanceReduced DataForSEO usage by filtering keyword ideas and related keywords earlier, which lowers API costs.
  • docsAdded the first product requirements document, onboarding notes, and milestone plans for Supr Keywords.
  • docsExpanded setup guides for Supabase, Redis, DataForSEO, and Inngest.
  • docsUpdated the README, backlog, and changelog to reflect the new product workflow.