Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
ddb5e9d
navbar styling updates
mahikachadha5 Mar 30, 2026
42af92b
theme toggle moved to footer
mahikachadha5 Mar 30, 2026
de38d68
add grid background component
mahikachadha5 Mar 31, 2026
8f0f400
add gradient component
mahikachadha5 Mar 31, 2026
8778329
update hero styling
mahikachadha5 Mar 31, 2026
bb7d9d8
add changelog to navbar features menu and remove from nav items
mahikachadha5 Mar 31, 2026
d14a5b1
remove dot from changelog
mahikachadha5 Mar 31, 2026
06ec20f
all layers stacked, smaller bunny
mahikachadha5 Apr 1, 2026
9a6c075
cleanup gradient component
mahikachadha5 Apr 1, 2026
3983c5e
changed opacity of grain to 0, can be removed altogether
mahikachadha5 Apr 1, 2026
e5c3872
add mask to blend bunny to background
mahikachadha5 Apr 1, 2026
a6c4eb3
add value prop section after hero
mahikachadha5 Apr 1, 2026
7961326
add typography to feature cards and CTA
mahikachadha5 Apr 1, 2026
7db12d0
add ValueProp section to page
mahikachadha5 Apr 1, 2026
539552a
update footer buttons to match hero
mahikachadha5 Apr 1, 2026
2982f14
update secondary button styling
mahikachadha5 Apr 1, 2026
853180e
remove text from newsletter form button
mahikachadha5 Apr 1, 2026
0971286
add spacing around CTA section
mahikachadha5 Apr 1, 2026
54ef259
redesign footer
mahikachadha5 Apr 2, 2026
17f944f
quick changes
mahikachadha5 Apr 2, 2026
f61cf53
add feature pages
mahikachadha5 Apr 2, 2026
a7ca762
update error tracking demo
mahikachadha5 Apr 2, 2026
2a6642e
add header to features section
mahikachadha5 Apr 2, 2026
badda02
add web vitals href for feature page
mahikachadha5 Apr 2, 2026
6168701
cleanup error tracking demo
mahikachadha5 Apr 3, 2026
48d97ca
update hero gradient
mahikachadha5 Apr 7, 2026
7273a8d
Revert "update hero gradient"
mahikachadha5 Apr 7, 2026
976d2a3
update hero gradient
mahikachadha5 Apr 7, 2026
62e6f0f
delete grid-background component
mahikachadha5 Apr 7, 2026
8ea7189
update navbar
mahikachadha5 Apr 8, 2026
bb2c36a
remove mid-page CTA in web vitals feature page
mahikachadha5 Apr 8, 2026
9af75c9
remove features section in web vitals feature page
mahikachadha5 Apr 8, 2026
28de162
create vital breakdown section in web vitals feature page
mahikachadha5 Apr 8, 2026
86f3d5b
create alerts section in web vitals feature page
mahikachadha5 Apr 8, 2026
8cb54da
create percentile cycle demo for web vitals feature page
mahikachadha5 Apr 9, 2026
2d46b58
create device mockup animation for web vitals feature page
mahikachadha5 Apr 9, 2026
4c2ae77
remove device mockups demo
mahikachadha5 Apr 10, 2026
9ea7cf0
create closing CTA section (dark mode only)
mahikachadha5 Apr 10, 2026
82bffa2
add eyebrow to FAQ section
mahikachadha5 Apr 10, 2026
e4f04f3
refactor FAQ section to 2-column layout
mahikachadha5 Apr 10, 2026
79bf17f
create sparkliine demo for web vitals feature page
mahikachadha5 Apr 10, 2026
64ac903
create graph demo for web vitals feature page
mahikachadha5 Apr 10, 2026
14a54d9
create web vitals breakdown demo
mahikachadha5 Apr 10, 2026
9cb9ed0
create web vitals alert cycle demo
mahikachadha5 Apr 10, 2026
42b930a
refactor web vitals feature page
mahikachadha5 Apr 10, 2026
ed37c7e
refactor percentile cycle demo
mahikachadha5 Apr 10, 2026
17f91c3
create error frequency chart demo for error tracking page
mahikachadha5 Apr 10, 2026
ca62e3e
create per page error breakdown demo for error tracking page
mahikachadha5 Apr 10, 2026
8a8586e
create alerts capture demo for error tracking feature page
mahikachadha5 Apr 10, 2026
e98a320
create impact table demo for error tracking page
mahikachadha5 Apr 10, 2026
6321463
refactor error tracking feature page
mahikachadha5 Apr 10, 2026
c7104a5
create uptime monitoring feature page visuals
mahikachadha5 Apr 11, 2026
2287c5e
refactor uptime monitoring feature page
mahikachadha5 Apr 11, 2026
e650162
cleanup uptime monitoring page visuals
mahikachadha5 Apr 13, 2026
a03b753
create compact feature flag dashboard demo
mahikachadha5 Apr 13, 2026
9fbcfe2
create feature flag template grid demo
mahikachadha5 Apr 13, 2026
37d861e
create feature flag instant rollouts demo
mahikachadha5 Apr 13, 2026
7c3944f
create feature flags percentage rollout demo
mahikachadha5 Apr 13, 2026
b891a5b
create feature flag a/b testing demo
mahikachadha5 Apr 13, 2026
395c999
create feature flag user targeting rule demo
mahikachadha5 Apr 13, 2026
973eff7
refactor feature flags page
mahikachadha5 Apr 13, 2026
37b093d
hero page update with gradient and bunny
mahikachadha5 Apr 13, 2026
d14f1ae
update gradient to be theme compatible
mahikachadha5 Apr 13, 2026
5bffcbd
remove error tracking demo
mahikachadha5 Apr 13, 2026
6950803
cleanup footer
mahikachadha5 Apr 13, 2026
bda0090
cleanup faq section
mahikachadha5 Apr 13, 2026
d7ea75d
update bento card hover state and webvitals href
mahikachadha5 Apr 13, 2026
f7306de
remove old feature page paths
mahikachadha5 Apr 13, 2026
f0227c4
scroll reveal for feature flag page
mahikachadha5 Apr 13, 2026
fa8814c
add packages to render world map demo
mahikachadha5 Apr 13, 2026
d7e6587
update dependencies
mahikachadha5 Apr 13, 2026
e7b8adc
increase row height of alert stacks and replace text
mahikachadha5 Apr 13, 2026
28792ba
fix bug on error tracking card
mahikachadha5 Apr 13, 2026
7683834
Update font-regular to font-normal
mahikachadha5 Apr 13, 2026
3c562ed
use weight='fill' for arrow rather than thin weight
mahikachadha5 Apr 13, 2026
ea1b16a
fix build error & update arrow right icon weight
mahikachadha5 Apr 14, 2026
0a274a3
update d3 import with specfic types used and replace external CDN fet…
mahikachadha5 Apr 14, 2026
76fb9d4
replace d3 with d3-geo and add world-atlas packages
mahikachadha5 Apr 14, 2026
5f79c8a
FAQ mismatch fix
mahikachadha5 Apr 14, 2026
2a6b3b2
remove unused stars prop from hero.tsx
mahikachadha5 Apr 14, 2026
7039d37
replace router.push on changelog link to <Link />
mahikachadha5 Apr 14, 2026
c4d2c9f
remove right-200 from hero bunny image
mahikachadha5 Apr 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
180 changes: 180 additions & 0 deletions apps/docs/app/(home)/errors/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,180 @@
import type { Metadata } from "next";
import Link from "next/link";
import { Footer } from "@/components/footer";
import { ClosingCtaSection } from "@/components/landing/closing-cta-section";
import { ErrorAutoCaptureAlertsStackDemo } from "@/components/landing/error-auto-capture-alerts-stack-demo";
import { ErrorPerPageBreakdownDemo } from "@/components/landing/error-per-page-breakdown-demo";
import { ErrorFrequencyChartDemo } from "@/components/landing/error-frequency-chart-demo";
import { ErrorImpactTableArtifact } from "@/components/landing/error-who-it-affects-artifacts";
import { FaqSection } from "@/components/landing/faq-section";
import Section from "@/components/landing/section";
import { StructuredData } from "@/components/structured-data";
import { Button } from "@/components/ui/button";

export const metadata: Metadata = {
title: "Error Tracking | Databuddy",
description:
"Catch, group, and fix errors before your users notice. Stack traces, user impact, release tracking, and instant alerts — built into your analytics stack.",
alternates: {
canonical: "https://www.databuddy.cc/errors",
},
openGraph: {
title: "Error Tracking | Databuddy",
description:
"Catch, group, and fix errors before your users notice. Stack traces, user impact, release tracking, and instant alerts — built into your analytics stack.",
url: "https://www.databuddy.cc/errors",
images: ["/og-image.png"],
},
};


const FAQ_ITEMS = [
{
question: "Will error tracking slow down my site?",
answer:
"No. The error tracking SDK is tiny and runs asynchronously. It only activates when something goes wrong — there's no polling, no impact on your page load time.",
},
{
question: "How does Databuddy group errors?",
answer:
"Errors are grouped by their stack trace fingerprint, so the same bug hitting thousands of users shows up as one issue — not thousands. You can also manually merge or split groups.",
},
{
question: "Can I see which users were affected by an error?",
answer:
"Yes. If you identify users in your analytics setup, every error is linked to the affected user sessions. You can see exactly who hit the bug and replay the context.",
},
{
question: "Does it work with server-side errors too?",
answer:
"Yes. The Node.js SDK captures unhandled exceptions and rejections on the server side. Both client and server errors appear in the same dashboard.",
},
{
question: "Is error tracking included in all plans?",
answer:
"Error tracking is available on every plan. The free plan gives you 1,000 error events per month — paid plans scale from there with higher limits and longer retention.",
},
] as const;

const CELL_TITLE_CLASS =
"mb-5 text-balance font-semibold text-base text-foreground sm:mb-6 sm:text-lg";

export default function ErrorsPage() {
return (
<>
<StructuredData
elements={[{ type: "faq", items: [...FAQ_ITEMS] }]}
page={{
title: "Error Tracking | Databuddy",
description:
"Catch, group, and fix errors before your users notice. Stack traces, user impact, release tracking, and instant alerts.",
url: "https://www.databuddy.cc/errors",
}}
/>
<div className="overflow-x-hidden">
{/* Hero */}
<Section
className="overflow-hidden border-border border-b"
customPaddings
id="hero"
>
<section className="relative flex w-full flex-col overflow-hidden">
<div className="mx-auto w-full max-w-7xl px-4 pt-16 pb-12 sm:px-6 sm:pt-20 sm:pb-16 lg:px-8 lg:pt-24 lg:pb-24 xl:pb-28">
<div className="flex w-full max-w-4xl flex-col items-start space-y-5 text-left sm:space-y-6">

<h1 className="max-w-3xl text-balance font-bold text-4xl leading-[1.1] tracking-tight sm:text-5xl md:text-6xl lg:text-7xl">
Understand what your errors are costing users.
</h1>

<p className="max-w-2xl text-pretty font-medium text-muted-foreground text-sm leading-relaxed sm:text-base lg:text-lg">
Every error tied to the session, the page, and the funnel step where it happened.
</p>

<div className="flex flex-wrap items-center justify-start gap-3">
<Button asChild className="px-6 py-5 text-base sm:px-8">
<a href="https://app.databuddy.cc/login">
Start Monitoring
</a>
</Button>
<Button
asChild
className="px-6 py-5 text-base sm:px-8"
variant="secondary"
>
<Link href="/docs/error-tracking">Read Docs</Link>
</Button>
</div>
</div>
</div>
</section>
</Section>

<Section
className="border-border border-b pt-12 pb-0 sm:pt-16 sm:pb-0 lg:pt-24 lg:pb-0 xl:pt-32 xl:pb-0"
customPaddings
id="impact"
>
<div className="mx-auto mb-8 w-full max-w-7xl px-4 sm:mb-10 sm:px-6 lg:px-8">
<p className="mb-2 font-medium font-mono text-[10px] text-muted-foreground uppercase tracking-widest sm:text-[11px]">
Impact
</p>
<h2 className="text-balance font-semibold text-3xl leading-tight sm:text-4xl lg:text-5xl">
Prioritize by{" "}
<span className="text-muted-foreground">real impact.</span>
</h2>
<p className="mt-3 text-pretty text-muted-foreground text-sm sm:text-base lg:text-lg">
See affected user counts, per-page error rates, and track progress post-fixes all in one place.
</p>
</div>

<div className="w-full border-border border-t border-b">
<div className="relative mx-auto grid w-full max-w-7xl grid-cols-1 lg:grid-cols-2">
<div aria-hidden className="pointer-events-none absolute inset-y-0 left-1/2 hidden w-px -translate-x-1/2 bg-border lg:block" />
<div className="border-border border-b px-4 pt-5 pb-2 sm:px-6 lg:border-r lg:border-b-0 lg:px-8 lg:pt-6 lg:pb-2">
<h3 className={CELL_TITLE_CLASS}>
Find the one page generating all the errors.
</h3>
<ErrorPerPageBreakdownDemo />
</div>
<div className="px-4 pt-5 pb-2 sm:px-6 lg:px-8 lg:pt-6 lg:pb-2">
<h3 className={CELL_TITLE_CLASS}>
Know about errors before your users report them.
</h3>
<ErrorAutoCaptureAlertsStackDemo />
</div>
</div>
</div>
<div className="w-full border-border border-b">
<div className="relative mx-auto grid w-full max-w-7xl grid-cols-1 lg:grid-cols-2">
<div aria-hidden className="pointer-events-none absolute inset-y-0 left-1/2 hidden w-px -translate-x-1/2 bg-border lg:block" />
<div className="px-4 pt-5 pb-2 sm:px-6 lg:border-r lg:border-b-0 lg:px-8 lg:pt-6 lg:pb-2">
<h3 className={CELL_TITLE_CLASS}>
An error hitting 500 users matters more than one hitting 1
user 500 times.
</h3>
<ErrorImpactTableArtifact />
</div>
<div className="px-4 pt-5 pb-2 sm:px-6 lg:px-8 lg:pt-6 lg:pb-2">
<h3 className={CELL_TITLE_CLASS}>
See when the error stops hitting users.
</h3>
<ErrorFrequencyChartDemo />
</div>
</div>
</div>
</Section>


{/* FAQ */}
<Section className="border-border border-b" id="faq">
<div className="mx-auto w-full max-w-7xl px-4 sm:px-6 lg:px-8">
<FaqSection eyebrow="FAQ" items={[...FAQ_ITEMS]} />
</div>
</Section>

<ClosingCtaSection docsHref="/docs/error-tracking" />
<Footer />
</div>
</>
);
}
Loading