Skip to content

feat: redesign Hypersense Cost Observability landing page#4877

Open
muditbhutani wants to merge 1 commit into
mainfrom
feat/hypersense-home-redesign
Open

feat: redesign Hypersense Cost Observability landing page#4877
muditbhutani wants to merge 1 commit into
mainfrom
feat/hypersense-home-redesign

Conversation

@muditbhutani

@muditbhutani muditbhutani commented May 28, 2026

Copy link
Copy Markdown
Collaborator

Type of Change

  • Bugfix
  • New feature
  • Enhancement
  • Refactoring
  • Dependency updates
  • Documentation
  • CI/CD

Description

Redesigns the Hypersense / Cost Observability landing screen (HypersenseHome.res) to align with the latest Figma spec.

  • Replaces the hero illustration with the new 877×360 SVG (DefaultHomeHypersenseCard.svg) and constrains the <object> to the design's intended aspect ratio (previously rendered at ~896×650 because the SVG was stretched to max-w-4xl).
  • Tightens the vertical rhythm to the design tokens: image → heading 20 px, heading → sub 10 px, sub → button 40 px, button → feature grid 64 px.
  • Drops PageUtils.PageHeading for the title block in favor of plain elements. PageHeading was overriding the custom spacing and applying opacity-50 to the subtitle, which is why the hierarchy looked off even with the right gap classes.
  • Updates typography to match Figma: title text-fs-24 font-semibold text-nd_gray-700, subtitle text-fs-16 font-medium text-nd_gray-500.
  • Button switched from LargeMedium to match the design.
  • Feature tiles resized (32 px icon container, 16 px icon, 14 px title/description) and icons swapped: nd-piggy-bank for Optimize Your Payment Fees (previous vertical_slider wasn't in the sprite, so the slot was blank) and nd-analytics for Forecast Impact of Network Changes.

Uploading Screenshot 2026-05-28 at 6.26.17 PM.png…

Motivation and Context

The previous implementation didn't match the Figma — the hero illustration was oversized and dominated the viewport, two feature icons were missing/wrong, and spacing tokens passed to PageHeading were being silently swallowed by the component's baked-in mb-6, mt-2, and opacity-50. This brings the screen back in line with the agreed design.

How did you test it?

Manually on the local dev server against the Figma reference. Verified hero proportions, type sizes and colors, button size, feature tile icon rendering, and overall spacing rhythm.

Where to test it?

  • INTEG
  • SANDBOX
  • PROD

Backend Dependency

  • Yes
  • No

Backend PR URL:

Feature Flag

  • New feature flag added
  • Existing feature flag updated
  • No feature flag changes

Feature flag name(s):

Checklist

  • I ran npm run re:build
  • I reviewed submitted code
  • I added unit tests for my changes where possible

@muditbhutani muditbhutani requested a review from a team as a code owner May 28, 2026 12:55
@semanticdiff-com

Copy link
Copy Markdown

Review changes with  SemanticDiff

@muditbhutani muditbhutani linked an issue May 28, 2026 that may be closed by this pull request

@XyneSpaces XyneSpaces left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Review Summary

Clean redesign implementation aligning Hypersense landing page with Figma specifications. Code follows established patterns.

Changes Analysis

Visual/Structural improvements:

  • Properly constrained hero illustration with h-[360px] w-auto object-contain to match design aspect ratio
  • Removed PageUtils.PageHeading component dependency in favor of direct element composition, fixing spacing override issues
  • Updated typography to use design tokens: text-fs-24, text-fs-16, text-fs-14
  • Button sizing corrected from Large to Medium
  • Feature tiles properly sized with consistent icon containers (32px), 16px icons, 14px text
  • Fixed feature icons: nd-piggy-bank replaces missing vertical_slider, nd-analytics for forecast section

Component structure:

  • New FeatureBlock component extracted for reusability across 4 feature tiles
  • Responsive grid layout with md:grid-cols-2 for larger screens
  • Proper gap spacing following design tokens throughout

Analytics:

  • Mixpanel events preserved: cost_observability_explore and cost_observability-redirect

Verification Checklist

  • Tailwind classes use design system tokens
  • Typography follows module patterns
  • Icon names verified against sprite
  • Mixpanel events tracked
  • No unused imports or bindings
  • Component extraction is justified (4 usages)

LGTM - ready to merge.

@XyneSpaces XyneSpaces left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Review Summary

Clean redesign of the Hypersense landing page with proper component abstraction and consistent styling patterns.

Changes Analysis

New FeatureBlock component:

  • Well-structured sub-module with clear prop interface
  • Consistent Tailwind class ordering
  • Proper icon sizing (16px) and container constraints (h-8 w-8)
  • Semantic HTML structure with proper text hierarchy

Layout improvements:

  • Switched from h-screen to min-h-screen with overflow-y-auto — better for varying content heights
  • Proper max-width constraints (max-w-[933px], max-w-[877px]) matching Figma specs
  • Grid layout with responsive breakpoint (md:grid-cols-2)
  • Removed PageUtils.PageHeading dependency in favor of direct composition

Typography:

  • Consistent use of text-fs-* scale classes
  • Proper font-weight pairing (semibold for titles, medium for descriptions)
  • Color tokens following design system (text-nd_gray-700, text-nd_gray-500, etc.)

Event tracking:

  • Mixpanel event preserved: cost_observability_explore
  • Additional redirect event: cost_observability-redirect (existing)

Findings

None. The implementation follows established patterns and the PR description accurately reflects the changes.


Verification Checklist

  • Component structure follows ReScript conventions
  • Tailwind classes are valid and consistently ordered
  • Icon names verified (clock, file-icon, nd-piggy-bank, nd-analytics)
  • Mixpanel events properly instrumented
  • Responsive layout with proper breakpoints
  • No new dependencies introduced
  • SVG asset updated and referenced correctly

<Icon name=iconName size=16 />
</div>
<div className="flex flex-col gap-0.5">
<p className="text-fs-14 leading-5 font-semibold text-nd_gray-600">

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

use typography

<p className="text-fs-14 leading-5 font-semibold text-nd_gray-600">
{title->React.string}
</p>
<p className="text-fs-14 leading-5 font-medium text-nd_gray-400">

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

here also

<div className="mx-auto flex w-full max-w-[933px] flex-col items-center gap-16 px-4 py-12">
<div className="flex w-full max-w-[877px] flex-col items-center gap-5">
<object
className="h-[360px] w-auto object-contain"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

add height config to tailwind

{"Cost Observability"->React.string}
<div className="min-h-screen w-full overflow-y-auto bg-white">
<div className="mx-auto flex w-full max-w-[933px] flex-col items-center gap-16 px-4 py-12">
<div className="flex w-full max-w-[877px] flex-col items-center gap-5">

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

add to tailwind

className="border rounded-md text-nd_green-200 border-nd_green-200 font-semibold p-1.5 text-sm w-fit">
{"Cost Observability"->React.string}
<div className="min-h-screen w-full overflow-y-auto bg-white">
<div className="mx-auto flex w-full max-w-[933px] flex-col items-center gap-16 px-4 py-12">

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

add to tailwind

/>
<div className="flex w-full flex-col items-center gap-10">
<div className="flex flex-col items-center gap-2.5 text-center">
<p className="text-fs-24 font-semibold text-nd_gray-700">

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

use typography

<p className="text-fs-24 font-semibold text-nd_gray-700">
{"Gain Control & Optimize Payment Costs"->React.string}
</p>
<p className="text-fs-16 font-medium text-nd_gray-500">

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

same here

/>
</div>
</div>
<div className="grid w-full max-w-[877px] grid-cols-1 gap-10 px-7 md:grid-cols-2">

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

add to tailwind

Comment on lines +80 to +89
iconClass="bg-orange-50 text-orange-600"
title="Track Every Dollar"
description="Access a unified, drill-down view of your payment costs. Compare costs across Providers, payment methods, regions and uncover what's driving your spend"
/>
<FeatureBlock
iconName="file-icon"
iconClass="bg-purple-50 text-purple-600"
title="Audit Your Invoices"
description="Perform integrity check on your invoices seamlessly, verify your fee markups and contractual discounts with providers"
/>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Please use new nd_ colors.

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.

Redesign hypersense home page

4 participants