Building Data-Driven Products in the Age of AI
A look at how product teams can leverage AI to build better data products while maintaining strategic focus.
A showcase of available UI components and design tokens for timjmitchell.com
Body text in Inter. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore.
Muted text for secondary content and metadata.
This is a styled link within paragraph text.
Inline code styling// Code block
function hello() {
console.log("Hello, world!");
}This is a blockquote with the sky blue border accent.
font-sans (Inter): The quick brown fox jumps over the lazy dog.
font-serif (Lora): The quick brown fox jumps over the lazy dog.
font-display (Plus Jakarta Sans): The quick brown fox jumps over the lazy dog.
font-mono: The quick brown fox jumps over the lazy dog.
.tag
.meta
.divider
.prose-container
Centers content with max-width of 680px (optimal reading width)
Primary (Sky Blue)
Secondary
Accent
Muted
Destructive
Card / Background
Foreground
Border
Card content with any React children.
Eyebrow
SectionHeader
A practical framework for data-driven organizations
SectionDivider
ContentCard
Basic content card
Content card with hover lift
FeatureGrid + FeatureCard
A playbook for making data strategic.
Practical AI adoption for enterprise teams.
Building high-performing product organizations.
Container
Centered container with max-width. Widths: narrow (768px), default (1024px), wide (1152px). Use inside FullBleedSection.
BackLink
Back to homePostRow
A look at how product teams can leverage AI to build better data products while maintaining strategic focus.
A look at how product teams can leverage AI to build better data products while maintaining strategic focus.
PageLayout
Container with responsive padding. Width variants: narrow (672px), default (896px), wide (1152px), full.
PageHeader
Consistent page title with optional subtitle. See the header of this page.
Section
Content section with consistent vertical spacing (py-8 md:py-12) and optional title.
Responsive Text (resize window to see)
This text grows: text-lg → md:text-xl → lg:text-2xl
Responsive Grid
grid-cols-1 → md:grid-cols-2 → lg:grid-cols-3
Flex Direction Switch
flex-col (stacked) → md:flex-row (side by side)
Hidden/Shown
← This only shows on mobile (hidden on md+)
← This only shows on tablet+ (hidden on mobile)
Using Tailwind's default scale (1 unit = 0.25rem = 4px)
p-2 (8px)
p-4 (16px)
p-6 (24px)
p-8 (32px)
p-12 (48px)
Custom animation utilities defined in globals.css
These sections break out of the container to span the full viewport width.
This section spans the full viewport width with a muted background.
Cards inside a full-bleed section.
With hover lift effect enabled.
Using the FeatureGrid layout.
Primary background with inverted text colors for high-contrast sections.
Sections can include subtle dot or grid pattern overlays.