Skip to content

Add comparison pages and content for various analytics platforms#675

Merged
goldflag merged 5 commits intomasterfrom
new-site
Nov 7, 2025
Merged

Add comparison pages and content for various analytics platforms#675
goldflag merged 5 commits intomasterfrom
new-site

Conversation

@goldflag
Copy link
Collaborator

@goldflag goldflag commented Nov 7, 2025

  • Introduced new comparison data and content for Cloudflare Analytics, Fathom, Google Analytics, Matomo, Plausible, PostHog, SimpleAnalytics, and Umami.
  • Created dedicated pages for each platform comparison, enhancing user experience and providing detailed insights into features and pricing.
  • Updated the main layout to include links to the new features and comparison pages in the header and footer for better navigation.
  • Added a contact page for user inquiries and a privacy policy page to outline data protection practices.
  • Removed outdated layout files to streamline the project structure.

Summary by CodeRabbit

  • New Features
    • Launched a Features landing page with categorized feature grids, hero, quota display, and CTAs.
  • Navigation
    • Added a Features link to the main header and footer for easier access.
  • Chores
    • Cleaned up site structure by removing several page layout wrappers and updated internal module resolutions.

- Introduced new comparison data and content for Cloudflare Analytics, Fathom, Google Analytics, Matomo, Plausible, PostHog, SimpleAnalytics, and Umami.
- Created dedicated pages for each platform comparison, enhancing user experience and providing detailed insights into features and pricing.
- Updated the main layout to include links to the new features and comparison pages in the header and footer for better navigation.
- Added a contact page for user inquiries and a privacy policy page to outline data protection practices.
- Removed outdated layout files to streamline the project structure.
@vercel
Copy link

vercel bot commented Nov 7, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
rybbit Ready Ready Preview Comment Nov 7, 2025 3:36am

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 7, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

Updates adjust several relative import paths, remove five route-specific layout files, add a new Features landing page (with metadata and default export), and add a Features link to header and footer navigation. No runtime logic changes beyond imports and the new page addition.

Changes

Cohort / File(s) Summary
Import path updates
docs/src/app/(home)/compare/components/ComparisonPage.tsx, docs/src/app/(home)/compare/fathom/ComparisonContent.tsx, docs/src/app/(home)/compare/fathom/comparison-data.tsx, docs/src/app/(home)/compare/google-analytics/ComparisonContent.tsx, docs/src/app/(home)/compare/matomo/comparison-data.tsx, docs/src/app/(home)/compare/plausible/ComparisonContent.tsx, docs/src/app/(home)/compare/plausible/comparison-data.tsx, docs/src/app/(home)/compare/simpleanalytics/ComparisonContent.tsx, docs/src/app/(home)/compare/umami/ComparisonContent.tsx, docs/src/app/(home)/pricing/components/ComparisonSection.tsx
Adjusted relative import depths (e.g., ../../../lib/const../../../../lib/const, ../../../components/TrackedButton../../../../components/TrackedButton). No logic changes.
Removed route-specific layouts
docs/src/app/compare/layout.tsx, docs/src/app/contact/layout.tsx, docs/src/app/pricing/layout.tsx, docs/src/app/privacy/layout.tsx, docs/src/app/terms-and-conditions/layout.tsx
Deleted five layout files and their default exports that previously wrapped pages with CustomHeader, a main container, and Footer.
New Features page
docs/src/app/(home)/features/page.tsx
Added Features landing page exporting metadata and default FeaturesPage component; includes hero, multiple feature grids, CTAs using TrackedButton, and displays DEFAULT_EVENT_LIMIT.
Security page import adjustment
docs/src/app/(home)/security/page.tsx
Updated local component import paths to resolve at the correct depth (e.g., ../../components/...../../../components/...). No logic changes.
Navigation additions
docs/src/components/CustomHeader.tsx, docs/src/components/Footer.tsx
Inserted a Features link (/features) into the desktop header navigation and Footer Resources list.

Sequence Diagram(s)

sequenceDiagram
  participant User
  participant Browser
  participant Next as Next.js
  participant FeaturesPage
  participant TrackedBtn as TrackedButton

  Note over Next,FeaturesPage: New route /features → FeaturesPage
  User->>Browser: Navigate to /features
  Browser->>Next: Request page
  Next->>FeaturesPage: Render page
  FeaturesPage->>TrackedBtn: Render CTA (reads DEFAULT_EVENT_LIMIT)
  User->>TrackedBtn: Click CTA
  TrackedBtn-->>FeaturesPage: Emit tracking event
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

  • Focus review on:
    • Correctness of updated relative import paths and build-time resolution.
    • Impact of removed route layouts on page rendering and layout inheritance.
    • New Features page exports (metadata and default) and used imports (icons, TrackedButton, DEFAULT_EVENT_LIMIT).
    • Header/footer markup and accessibility after adding the Features link.

Possibly related PRs

Poem

🐇 I hopped through folders, neat and bright,
Paths straightened under moonlit night.
A Features page sprung up to say,
"Come see what's new — let's leap and play!"
Rybbit twitches whiskers — what a sight!

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main change: adding comparison pages and content for various analytics platforms, which is the primary focus of the changeset.

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 5d8a71f and 68bb005.

📒 Files selected for processing (1)
  • docs/src/app/(home)/features/page.tsx (1 hunks)

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
docs/src/components/CustomHeader.tsx (1)

122-177: Add Features link to mobile navigation for consistency.

The Features link was added to the desktop navigation (lines 47-49) but is missing from the mobile menu. For consistent user experience across devices, the mobile navigation should also include a Features link.

Add this entry in the mobile menu (e.g., after Pricing or before Docs):

<Link
  href="/features"
  className="block rounded-md px-3 py-2 text-base font-medium text-neutral-300 hover:bg-neutral-800 hover:text-white"
  onClick={() => setMobileMenuOpen(false)}
>
  Features
</Link>
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0dd6a6f and fd0326f.

📒 Files selected for processing (19)
  • docs/src/app/(home)/compare/components/ComparisonPage.tsx (1 hunks)
  • docs/src/app/(home)/compare/fathom/ComparisonContent.tsx (1 hunks)
  • docs/src/app/(home)/compare/fathom/comparison-data.tsx (1 hunks)
  • docs/src/app/(home)/compare/google-analytics/ComparisonContent.tsx (1 hunks)
  • docs/src/app/(home)/compare/matomo/comparison-data.tsx (1 hunks)
  • docs/src/app/(home)/compare/plausible/ComparisonContent.tsx (1 hunks)
  • docs/src/app/(home)/compare/plausible/comparison-data.tsx (1 hunks)
  • docs/src/app/(home)/compare/simpleanalytics/ComparisonContent.tsx (1 hunks)
  • docs/src/app/(home)/compare/umami/ComparisonContent.tsx (1 hunks)
  • docs/src/app/(home)/features/page.tsx (1 hunks)
  • docs/src/app/(home)/pricing/components/ComparisonSection.tsx (1 hunks)
  • docs/src/app/(home)/security/page.tsx (1 hunks)
  • docs/src/app/compare/layout.tsx (0 hunks)
  • docs/src/app/contact/layout.tsx (0 hunks)
  • docs/src/app/pricing/layout.tsx (0 hunks)
  • docs/src/app/privacy/layout.tsx (0 hunks)
  • docs/src/app/terms-and-conditions/layout.tsx (0 hunks)
  • docs/src/components/CustomHeader.tsx (1 hunks)
  • docs/src/components/Footer.tsx (1 hunks)
💤 Files with no reviewable changes (5)
  • docs/src/app/pricing/layout.tsx
  • docs/src/app/contact/layout.tsx
  • docs/src/app/compare/layout.tsx
  • docs/src/app/terms-and-conditions/layout.tsx
  • docs/src/app/privacy/layout.tsx
🧰 Additional context used
🧬 Code graph analysis (1)
docs/src/app/(home)/features/page.tsx (1)
docs/src/components/TrackedButton.tsx (1)
  • TrackedButton (14-27)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Build Client Images (ubuntu-latest, linux/amd64)
  • GitHub Check: Build Client Images (ubuntu-24.04-arm, linux/arm64)
🔇 Additional comments (18)
docs/src/app/(home)/pricing/components/ComparisonSection.tsx (1)

5-5: LGTM - Import path updated consistently.

The import path adjustment from ../../../lib/const to ../../../../lib/const aligns with similar updates across comparison modules in this PR.

docs/src/components/Footer.tsx (1)

126-130: LGTM - Features navigation added.

The new Features link is properly integrated into the Resources section with consistent styling and structure.

docs/src/app/(home)/compare/simpleanalytics/ComparisonContent.tsx (1)

1-1: LGTM - Import path updated consistently.

The import path adjustment aligns with the broader directory restructuring in this PR.

docs/src/app/(home)/compare/google-analytics/ComparisonContent.tsx (1)

1-1: LGTM - Import path updated consistently.

The import path adjustment aligns with the broader directory restructuring in this PR.

docs/src/app/(home)/compare/plausible/ComparisonContent.tsx (1)

1-1: LGTM - Import path updated consistently.

The import path adjustment aligns with the broader directory restructuring in this PR.

docs/src/app/(home)/security/page.tsx (1)

1-2: LGTM - Import paths updated consistently.

Both component imports updated appropriately from ../../components/ to ../../../components/ to reflect the directory structure.

docs/src/app/(home)/compare/matomo/comparison-data.tsx (1)

1-1: LGTM - Import path updated consistently.

The import path adjustment aligns with the broader directory restructuring in this PR.

docs/src/components/CustomHeader.tsx (1)

47-49: LGTM - Desktop navigation updated.

The Features link is properly integrated into the desktop navigation with consistent styling.

docs/src/app/(home)/compare/fathom/comparison-data.tsx (1)

1-1: LGTM! Import path updated consistently.

The import path has been updated to reflect the directory structure. This change is consistent with similar updates across other comparison files.

docs/src/app/(home)/compare/plausible/comparison-data.tsx (1)

1-1: LGTM! Import path updated consistently.

The import path adjustment aligns with the directory restructure applied across all comparison components.

docs/src/app/(home)/compare/fathom/ComparisonContent.tsx (1)

1-1: LGTM! Import path updated consistently.

The import path has been adjusted to match the new directory depth, consistent with other comparison files.

docs/src/app/(home)/compare/components/ComparisonPage.tsx (1)

5-7: LGTM! Import paths updated consistently.

All three imports have been adjusted to the correct depth following the directory restructure. The changes maintain consistency across the comparison components.

docs/src/app/(home)/compare/umami/ComparisonContent.tsx (1)

1-1: LGTM! Import path updated consistently.

The import path adjustment matches the pattern applied across all comparison content files.

docs/src/app/(home)/features/page.tsx (5)

28-31: LGTM! Proper Next.js 15 metadata export.

The metadata export follows Next.js 15 patterns correctly with appropriate title and description for SEO.


119-139: LGTM! Well-implemented hero CTAs.

The hero section properly uses TrackedButton for analytics tracking and formats the event limit correctly. The accessibility is good with the CheckCircle icon providing visual feedback.


148-165: LGTM! Clean feature category grid implementation.

The feature categories are well-structured with proper hover effects, responsive grid layout, and semantic markup. Good use of CheckCircle icons for the feature lists.


185-195: LGTM! Effective feature showcase.

The demo components are properly imported and displayed in a responsive grid layout, providing users with interactive examples of the platform's capabilities.


309-327: LGTM! Strong bottom CTA section.

The final call-to-action section effectively uses both tracked and standard buttons, with clear messaging about the free tier and proper formatting of the event limit.

<div>
<h3 className="text-xl font-semibold mb-2">Lightning fast</h3>
<p className="text-neutral-300 text-sm">
Our tracking script is less than 2KB and doesn&apos;t slow down your site. Dashboard loads instantly with real-time updates.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

Critical: Contradictory script size claim.

This line claims the tracking script is "less than 2KB", but multiple comparison files in this codebase explicitly state the script is "18KB":

  • docs/src/app/(home)/compare/fathom/comparison-data.tsx line 170
  • docs/src/app/(home)/compare/fathom/ComparisonContent.tsx line 51
  • docs/src/app/(home)/compare/umami/ComparisonContent.tsx line 12

This factual inconsistency in user-facing marketing content could damage credibility.

Apply this diff to correct the claim:

-                  Our tracking script is less than 2KB and doesn&apos;t slow down your site. Dashboard loads instantly with real-time updates.
+                  Our tracking script is lightweight and doesn&apos;t slow down your site. Dashboard loads instantly with real-time updates.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Our tracking script is less than 2KB and doesn&apos;t slow down your site. Dashboard loads instantly with real-time updates.
Our tracking script is lightweight and doesn&apos;t slow down your site. Dashboard loads instantly with real-time updates.
🤖 Prompt for AI Agents
In docs/src/app/(home)/features/page.tsx around line 249, the marketing copy
incorrectly claims the tracking script is "less than 2KB" which contradicts
other comparison files that state "18KB"; replace that phrase with the accurate
size (e.g., "about 18KB" or "≈18KB") so the statement reads consistently (e.g.,
"Our tracking script is about 18KB and doesn't slow down your site. Dashboard
loads instantly with real-time updates."). Ensure the wording matches the other
comparison files' phrasing for consistency across the docs.

…oud sections

- Reorganized and expanded the FeaturesPage component to include detailed sections for Analytics, Insights, Privacy, and Cloud features.
- Introduced new feature arrays with icons and descriptions for better clarity and user engagement.
- Updated layout and styling for improved visual presentation and responsiveness.
- Enhanced descriptions to provide clearer insights into the functionalities offered by Rybbit.
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (1)
docs/src/app/(home)/features/page.tsx (1)

473-476: Critical: Contradictory script size claim (duplicate).

This "less than 2KB" claim contradicts comparison files stating "18KB". This issue was flagged in a previous review and remains unresolved.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between fd0326f and 62c4335.

📒 Files selected for processing (1)
  • docs/src/app/(home)/features/page.tsx (1 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
docs/src/app/(home)/features/page.tsx (1)
docs/src/components/TrackedButton.tsx (1)
  • TrackedButton (14-27)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Build Client Images (ubuntu-24.04-arm, linux/arm64)
  • GitHub Check: Build Client Images (ubuntu-latest, linux/amd64)
🔇 Additional comments (5)
docs/src/app/(home)/features/page.tsx (5)

1-58: LGTM!

The imports are well-organized, and the metadata export follows Next.js 15 conventions correctly. The comprehensive icon imports support the feature-rich UI below.


239-280: LGTM!

The Hero section is well-structured with proper responsive design, accessible buttons, and correct usage of TrackedButton for analytics tracking. The dynamic free tier display using DEFAULT_EVENT_LIMIT is a good pattern.


282-395: LGTM!

The feature grid sections follow a consistent pattern and render static feature arrays correctly. Using array index as the key (lines 293, 323, 352, 379) is acceptable here since the feature arrays are static and won't be reordered at runtime.


397-422: LGTM!

The interactive demos section cleanly composes the imported Card components in a responsive grid layout. All imported components are properly utilized.


528-559: LGTM!

The final CTA section maintains consistency with the Hero section, using TrackedButton for analytics and displaying the free tier information. The responsive layout and accessibility features are well-implemented.

icon: <Mail className="w-5 h-5" />,
title: "Email reports",
description:
"Send scheduled email reports to anyone. Send out website summaries in a compact and digestable email.",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix typo in user-facing text.

The word "digestable" should be "digestible".

Apply this diff:

-      "Send scheduled email reports to anyone. Send out website summaries in a compact and digestable email.",
+      "Send scheduled email reports to anyone. Send out website summaries in a compact and digestible email.",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"Send scheduled email reports to anyone. Send out website summaries in a compact and digestable email.",
"Send scheduled email reports to anyone. Send out website summaries in a compact and digestible email.",
🤖 Prompt for AI Agents
In docs/src/app/(home)/features/page.tsx at line 235, the user-facing string
contains a typo: "digestable" should be corrected to "digestible"; update the
text to "Send scheduled email reports to anyone. Send out website summaries in a
compact and digestible email." and ensure only the spelled word is changed
without altering punctuation or surrounding content.

- Introduced additional analytics features including Session Replay, Web Vitals, Error Tracking, Globe Views, Google Search Console integration, Bot Blocking, and User Sessions.
- Each feature includes an icon and description for enhanced clarity and user engagement.
- Removed the Interactive Feature Demos section to streamline the layout and focus on core features.
…yout

- Added new access features including Organizations, Public Dashboards, Private Link Sharing, and Role-Based Access Control (RBAC) with detailed descriptions.
- Reorganized the FeaturesPage component to incorporate a dedicated Access section, improving clarity and user navigation.
- Updated existing feature descriptions across Analytics, Insights, Privacy, and Cloud sections for enhanced understanding and engagement.
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (1)
docs/src/app/(home)/features/page.tsx (1)

458-462: Critical: Contradictory script size claim (previously flagged).

This line claims the tracking script is "less than 2KB", but as previously noted, other comparison files in this codebase explicitly state the script is "18KB". This inconsistency in user-facing marketing content remains unresolved.

Apply the previously suggested fix:

                 <h3 className="text-xl font-semibold mb-2">Lightning fast</h3>
                 <p className="text-neutral-300 text-sm">
-                  Our tracking script is less than 2KB and doesn&apos;t slow down your site. Dashboard loads instantly
+                  Our tracking script is lightweight and doesn&apos;t slow down your site. Dashboard loads instantly
                   with real-time updates.
                 </p>
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 201dd0b and 5d8a71f.

📒 Files selected for processing (1)
  • docs/src/app/(home)/features/page.tsx (1 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
docs/src/app/(home)/features/page.tsx (1)
docs/src/components/TrackedButton.tsx (1)
  • TrackedButton (14-27)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Build Client Images (ubuntu-24.04-arm, linux/arm64)
  • GitHub Check: Build Client Images (ubuntu-latest, linux/amd64)
🔇 Additional comments (4)
docs/src/app/(home)/features/page.tsx (4)

1-63: LGTM!

The imports are well-organized and appropriate for a comprehensive features page. While the large number of lucide-react icons might seem excessive, they're all used to illustrate different features, which is fitting for this page's purpose.


296-332: LGTM!

The FeatureGrid component is well-structured and reusable. Using array index as key (line 317) is acceptable here since the feature lists are static and won't be reordered or filtered dynamically.


334-408: LGTM!

The hero section and feature grids are well-implemented. The use of TrackedButton components with distinct eventProps.location values enables proper analytics tracking, and DEFAULT_EVENT_LIMIT is correctly formatted for display.


514-542: LGTM!

The CTA section is well-structured with appropriate calls-to-action, proper use of TrackedButton for analytics, and correct formatting of DEFAULT_EVENT_LIMIT for the free tier messaging.

…yout

- Consolidated core web analytics features into a dedicated array for better organization and clarity.
- Updated feature icons and descriptions to enhance user engagement and understanding.
- Introduced new advanced analytics features, including Bot Blocking and Goals, while refining existing descriptions.
- Adjusted layout and section titles for improved visual presentation and user navigation.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant