Present Day

The future
is cliché

A forward-thinking software development company focused on strategy, design, and development that bring ideas to life today.

Open source

Built once.
Published loud.

We care most about how software feels. The interface tooling we build — real scroll physics, gestures, haptics — gets extracted into tiny TypeScript packages anyone can use. All MIT licensed.

@present-day/reveal-rowv0.2.0

The inbox swipe, as a component.

Swipe-to-reveal actions for React lists — the pattern every mobile inbox made second nature. Powered by the browser's own scroll engine, not a JavaScript animation loop, so it feels right because it is the real thing.

  • Native momentum, rubber-banding, and snap via CSS scroll snap
  • Actions on the left, right, or both sides — touch, trackpad, and mouse
  • Headless, dependency-free, accessible by default
npm i @present-day/reveal-rowLive playground →
@present-day/carouselv0.0.1

The browser owns the physics.

A headless React carousel built on native CSS scroll snap. No reimplemented momentum, no scroll math — swipes feel exactly like the platform because they are the platform.

  • Zero runtime dependencies — a thin state and a11y layer
  • Active-slide state from the browser's native scroll snap events
  • WAI-ARIA carousel pattern with honest reduced-motion handling
npm i @present-day/carouselLive playground →
@present-day/drawerv2.2.0

Bottom sheets that feel native.

A flexible React drawer with smooth 60fps animations and customizable snap points. Touch-friendly drag gestures with proper momentum, on any screen size.

  • Fractional, pixel, and preset snap points
  • Dialog semantics — focus trap, aria-modal, Escape to dismiss
  • Full style control with your own classes
npm i @present-day/drawerLive playground →
@present-day/buzzv0.1.1

Taps that feel like taps.

Cross-platform haptic and audio feedback for web apps. WebAudio click sounds plus vibration where the device supports it — and graceful no-ops where it doesn't.

  • Feedback presets: light, heavy, success, error
  • Framework-agnostic — React, Vue, or vanilla JS
  • User preference management with pluggable storage
npm i @present-day/buzzLive playground →

Like how these feel? We build whole products with the same care.