The log of meaningful changes to Zikit - new features, improvements, fixes, and content. We eat our own dogfood: you can subscribe to this page with Zikit and get AI-summarized alerts every time we ship.
Sign in with Apple is now wired with the right OAuth scopes (name + email) so we capture the user's full name on first signup. Joins Google, GitHub, and Microsoft as supported sign-in providers. Apple Pay + Google Pay + card + PayPal are all accepted via Paddle (our merchant of record) - the four payment-method badges are now visible under the pricing tiles. /faq, /press, and /signup all updated to reflect the auth and payment surface.
fix
Build infra fix: parallel SSG vs. Postgres pool
Vercel build started failing this afternoon. Root cause: 29 parallel Vercel SSG workers each opened their own Supabase connection pool while pre-rendering pages that read live production data, exhausting the database connection budget and timing out individual page builds at 180s. Production stayed up the whole time on the previous successful deployment - no visitor saw a 5xx - but new deploys couldn't ship until the fix landed. Switched the homepage, /press, and /catches/[id] to render-on-demand (still cached at the edge) so SSG no longer races on the DB. Wrapped the shared metric loaders in a 4-second Promise.race timeout so if the pool ever stalls again, pages render with fallback copy instead of hanging the build.
improvement
Real production numbers, live on every public page
The homepage hero shows the most recent public-interest catch with a snippet of the actual AI summary ("18 mins ago · Zikit caught openai.com — Pro plan moved from $20 to $25"). The trust strip replaced "smart noise filtering" with a live "1 alert per 7 checks" ratio and a "p95 16s detection → alert" SLA. /stats grew five data views: noise-suppression callout, importance-score histogram, 30-day daily trend, change-type breakdown, top 10 hosts by catches, plus an alert-delivery-speed card (median + p95). The shared <LiveNumbersPill /> ships on every conversion-zone page: 11 /X-alternative pages, 7 /use-cases pages, 5 /integrations pages, plus /chrome, /docs, /free-website-change-monitoring, /alternatives, /use-cases, /integrations, /faq, /about, /pricing, /tracked, /how-it-works. /how-it-works prepends an actual recent catch. /press shows three quote-ready real AI summaries. /catches/[id] now shows the exact added/removed text the AI saw. Dynamic OG images on /, /stats, /alternatives, /recent-catches, /pricing, /about so every social share renders with today's numbers. /onwebchange-alternative is the 11th comparison, closing the "next up" list completely.
content
Dedicated setup guides for every alert channel + 10th comparison page
Slack, Telegram, Discord, and Webhook each got their own landing page under /integrations with step-by-step setup and an accurate preview of what the alert looks like in each channel (Slack message, Telegram markdown, Discord color-coded embed, raw JSON payload + Node/Python handler examples). /followthatpage-alternative is the 10th honest comparison in the hub - modern AI summaries + multi-channel routing vs. the 2005 email-diff classic. /use-cases/press-release-monitoring gives PR / IR / journalism teams a use-case home for newsroom tracking.
content
Four more alternative pages + feed-discovery polish
/fluxguard-alternative, /wachete-alternative, /changetower-alternative, and /versionista-alternative bring the comparison hub to 8 honest side-by-sides. Homepage gets a subtle 'Comparing Zikit to another tool?' prompt below the live-catch pill. /pricing CTA gains a 'Compare with alternatives' button. RSS + JSON Feed pills are now visible on /blog and each /tracked/[host] page, not just /recent-catches. Canonical URLs backfilled on /blog, /store, and /integrations. /auth/extension marked noindex.
feature
Shareable permalink for every public catch
Every catch on a well-known public SaaS / news domain now has its own URL: /catches/[id]. Open Graph image + NewsArticle JSON-LD per page, related-catches section with up to 3 other catches on the same host, and the cards on the homepage strip link to the permalink instead of bouncing off to the source. Up to 100 recent permalinks are in sitemap.xml so Google can find them.
content
Competitive-alternative hub + 4 comparison pages
Honest side-by-sides with the tools people most often compare Zikit against - Distill.io, Visualping, changedetection.io, Hexowatch. Each page names where the competitor is the better pick (self-host, pixel-diff, selector depth, specialised monitor types) and where Zikit's AI-summary approach wins. /alternatives hub links all four. No bashing, live catch-count proof strip on every page.
feature
Email alerts now include a page thumbnail
Change alert emails render the most recent snapshot screenshot of the monitored page at the top of the email. Signed URL valid 7 days so Gmail / Apple / Outlook can fetch the image long after send. Hides gracefully when no screenshot is available (new monitor, upload failed).
improvement
Homepage hero rebuilt: animated demo + live catch count
Replaced the 22-second demo video with a CSS-only 6-second animation showing a vendor pricing page swap ($79 -> $99 with strike-through), Camo catching it, and an iOS 26-style push notification sliding in with the AI summary. Tightened H1/subhead copy. The 'See real changes' pill now renders a live 30-day meaningful-catch count straight from the database.
improvement
Dashboard: broken-monitor banner + inline URL input in the empty state
New ruby banner at the top of the dashboard when any monitor enters a failing health state - names the first broken monitor and deep-links to the fix. Fresh accounts now see an inline URL input ('Watch this page') in the empty state instead of a secondary link, cutting 2-3 clicks off the first-monitor flow.
feature
Bulk-add monitors from a sitemap
Paste a vendor's sitemap.xml at /dashboard/monitors/bulk and Zikit auto-classifies the pages that matter (pricing / changelog / legal / docs / blog / careers / about), pre-selects pricing + changelog + legal, and creates them all in one pass. Huge activation win for users coming from a vendor's /tracked page who want to watch everything that vendor publishes.
feature
Public embed widgets for every tracked vendor
One-line iframe snippet that drops a live 3-catch feed onto any blog. Global (/embed/recent-catches) or per-vendor (/embed/tracked/vercel.com, etc). CORS-open so external dashboards can consume, 10-min edge cache so it costs nothing at scale.
feature
Public read-only API + JSON Feeds
GET /api/v1/public/stats returns the same aggregates you see on /stats as JSON. /recent-catches/feed.json and /tracked/[host]/feed.json are JSON Feed 1.1 companions to the existing RSS feeds - all three surfaces (HTML / RSS / JSON) stay in sync. No auth, CORS-open, 10-30 min edge cache.
improvement
Honesty pass across every public surface
End-to-end sweep of every customer-facing claim on the site to make sure it matches what the code actually does. Fixed seven divergences at once.
·/stats now excludes internal / demo accounts from Teams + Registered-user counts (was showing 16, real external is 10)
·/tracked index cards show real catch counts per domain (22 on Vercel, 10 on OpenAI, etc.) instead of inflated user-tracking numbers
·/tracked/[domain] meta descriptions + titles now include real catch counts + latest-catch date dynamically
·/tracked/[domain] empty state lists the actual monitored URLs per host instead of a boilerplate list
·Pricing CTAs changed from 'Start Pro trial' to 'Upgrade to Pro' - there is no trial period in the Paddle setup
·FAQ 'iOS in TestFlight' claim softened to match reality (active development, no TestFlight invite open yet)
·Removed /tracked/cloudflare.com - we don't actually monitor Cloudflare
improvement
Noise filter: 18 -> 42 patterns
The 'noise filter' marketing claim of 40+ patterns was based on 18 in the actual code. Expanded to 42 real patterns covering cache-busters, UTM params, GA/GTM IDs, Stripe pk_ keys, live-viewer widgets, star/fork counts, countdown timers, welcome-name personalization, uptime percentages, and cookie-banner variants. 10 new tests verify each new pattern removes noise without eating real content.
feature
Source-URL links on every catch card
Every catch on /recent-catches, the homepage strip, and /tracked/[domain] timelines now links to the actual monitored source URL (target=_blank, rel=nofollow). Proves each AI summary is grounded in a real public page and gives outbound credit to source sites. /recent-catches also adds a 'Full history →' link per card to the matching /tracked/[host] page.
feature
Per-domain RSS feeds
/tracked/vercel.com/feed.xml, /tracked/openai.com/feed.xml, and every other tracked domain now have their own RSS 2.0 feed. Subscribe to just 'Vercel changes' or 'OpenAI changes' in Feedly / Inoreader / a Slack RSS app without following the /recent-catches firehose. Feeds auto-discovered via <link rel='alternate'> + listed in sitemap.xml.
feature
Activity-feed search + silent-monitor banner
Dashboard activity feed gets a client-side 'Search activity…' input when a user has 4+ entries (matches summary + monitor name). Separately, a new dashboard banner surfaces when a monitor has no active alert channels wired up - the #1 retention leak I found in a production audit.
When OpenAI GPT returned a hedged summary like 'many pricing changes but I can't name specific values', we were still alerting at importance 6. Prompt now forces importance 1 in that case. Separately, when the LLM tagged a change 'content' on a pricing page but the structural extractor caught 2+ price-section changes, the classifier upgrades the tag to 'price' so the email subject / channel icon matches reality.
improvement
Email kill switches + removed cold email flows
Policy change: the only two user-facing emails Zikit now sends are (1) the welcome email on signup, and (2) change-alert emails when the user explicitly turned on email alerts for that specific monitor. Re-engagement and weekly-digest flows are gated off at the code level and the corresponding Vercel crons are removed. Never cold-email a user.
content
Use-cases cluster complete
Six dedicated landing pages live, one per persona and job-to-be-done. Each one links the real pages teams actually monitor with the problems Zikit solves.
·/use-cases hub page
·/use-cases/competitor-pricing-monitoring
·/use-cases/terms-of-service-monitoring
·/use-cases/changelog-monitoring
·/use-cases/job-posting-monitoring
·/use-cases/api-docs-monitoring
·/use-cases/regulatory-monitoring
feature
RSS feed for detected changes
zikit.ai/recent-catches/feed.xml is live. Subscribe in any RSS reader (Feedly, Inoreader), or pipe it through the Slack RSS app. Deduplicated per domain, public-interest SaaS only.
content
FAQ page with rich-snippet schema
/faq covers 22 questions across 7 sections. FAQPage JSON-LD so Google can surface individual answers in search results without a click-through.
feature
Live catches strip on homepage
Three real high-importance catches now render inline on the homepage, pulled live from production DB every 10 minutes. Social proof without a click.
improvement
Popular monitors v3 - category grouping + preview
The empty-state templates got a major UX pass. Category grouping when a role is filtered. Preview icon to open a page in a new tab before adding. Better empty state when search returns zero. Search box for finding templates.
feature
One-click popular monitors (empty state)
New users who land on an empty dashboard now see ~50 curated monitor templates by role (Developer, Marketing, Legal, Jobs, Student, Shopper, News). Tap once, the monitor is created, no URL typing. Dedupe-by-domain in the default view.
improvement
Zero emojis across the product
Replaced all emoji characters in UI, alerts, email subjects, and docs with inline SVG icons or plain text. Consistent rendering across platforms, cleaner brand.
fix
Mobile navigation polish
Fixed several mobile-specific issues: sidebar logo padding, sticky submit button on the long add-monitor form, sidebar link z-index for reliable taps, logo alignment.
fix
Sync-all has a 30s cooldown and 15s watchdog
Clicking 'Sync all' used to re-enable after ~1s even though dispatcher work takes minutes. Now button stays disabled 30s. If the request itself hangs, a 15-second AbortController resets state so you can retry.
improvement
URL compatibility warnings
When you paste a URL for a known-unsupported platform (TikTok, Google search results, Instagram/FB feeds, Netflix, Amazon seller), we block creation with a clear message explaining why and what to try instead.
feature
Camo chat v2 - Action Palette
Camo's chat got a button-based action menu so you can manage monitors with one tap instead of typing commands. Chat AI is now used only to explain results, not to pick tools.
content
Data-driven blog post shipped
/blog/saas-price-changes-march-2026 uses our real production detections: Vercel Pro shifting to usage-based, ChatGPT's new $20 tier, Stripe regional-pricing adjustments, AWS EC2 notice, OpenAI ToS date, Resend holding steady.
feature
Dashboard monitor sorting
Sort your monitor list by: last checked, alphabetical, changes count, health status, most-recent-first. Preserved across sessions.
feature
Chrome extension shipped
One-click website monitoring from any page. Visual CSS selector picker. Badge alerts. Approved on the Chrome Web Store.
feature
Camo AI chat assistant
Ask Camo questions about your monitors in natural language. 'What changed today?' 'Show me pricing changes this month.' Works in English, Hebrew, Arabic.
feature
Public launch
Zikit.ai went live. 3 sites, unlimited pages, daily checks, AI summaries on the free plan - no credit card.