Beautiful Expo provides copy-pasteable, JavaScript-only progressive blur components for Expo and React Native, using public Expo APIs and requiring no runtime package or design-system lock-in.

Stars

5

7-day growth

No data

Forks

0

Open issues

0

License

MIT

Last updated

2026-07-29

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

It delivers a native-feeling variable backdrop blur entirely from public Expo APIs, works in Expo Go on iOS, and avoids any native module requirements or database lock-in, making it easy to adopt.

Who it is for

  • Expo developers seeking native-quality blur without native modules
  • React Native developers who want a simple, copy-paste progressive blur component
  • Designers implementing scroll-reveal headers or floating tab bars with variable blur

Use cases

  • Adding a transparent header that gradually reveals a blur as the user scrolls
  • Creating a floating tab bar or footer with a blurred background
  • Implementing custom progressive blur overlays for any edge or direction

Strengths

  • No runtime package or design-system lock-in – components are copied into your project
  • Works on iOS, Android, and web with only JavaScript and public Expo APIs
  • Expo Go support on iOS, no development build required
  • Polished defaults with separate spill/falloff for smooth transitions without pushing content

Considerations

  • Only provides progressive blur components; not a full component library
  • Android requires an explicit BlurTargetView and Expo SDK 57+
  • Expo Go support is limited to iOS (Android may need development build for full functionality)

README quick start

Beautiful Expo

Beautiful, copy-pasteable components for Expo and React Native.

Components live in your app after installation. There is no runtime beautiful-expo package and no design-system lock-in.

Progressive Blur

A JavaScript-only progressive backdrop blur built from public Expo APIs. It includes:

  • ProgressiveBlur for custom top or bottom effects
  • ProgressiveBlurHeader with safe-area and scroll-reveal support
  • ProgressiveBlurFooter for standard or floating bottom bars
  • hooks for the matching content insets and scroll handler

Install it directly from the GitHub registry:

npx shadcn@latest add davidmokos/beautiful-expo/progressive-blur

The command copies src/components/ui/progressive-blur.tsx into your project and installs its Expo-compatible JavaScript dependencies. It does not require Tailwind, NativeWind, Swift, or a development build. Expo Go is supported on iOS.

The important render-order rule

Render scrolling content first and the blur after it. Native BlurView needs to be mounted after dynamic content to sample that content correctly.

Scroll-aware header

This is the recommended setup for a transparent header that reveals its blur as content scrolls underneath:

import { Text, View } from 'react-native';
import Animated from 'react-native-reanimated';

import {
  ProgressiveBlurHeader,
  useProgressiveBlurHeaderHeight,
  useProgressiveBlurScroll,
} from '@/components/ui/progressive-blur';

export default function Screen() {
  const headerInset = useProgressiveBlurHeaderHeight();
  const { scrollY, onScroll } = useProgressiveBlurScroll();

  return (
    
      
        {/* Page content */}
      

      
        
          Account
        
      
    
  );
}

Without scrollY, the header blur stays visible at all times.

Floating footer or tab bar

floating uses the compact bottom-safe-area placement from the verified Revolut-style example:

import {
  ProgressiveBlurFooter,
  useProgressiveBlurFooterHeight,
} from '@/components/ui/progressive-blur';

const footerInset = useProgressiveBlurFooterHeight(58, true);


  {/* Page content */}



  
    {/* Tab bar content */}
  
;

Omit floating for a footer that sits directly above the bottom safe area.

Polished defaults

The header and footer share the values verified in the example app:

| Prop | Default | Purpose | |

Description

Beautiful, copy-pasteable Expo components

Related repositories

Similar projects matched by category, topics, and programming language.

yetone
Featured
yetone GitHub avatar

kill-ai-slop

Kill AI Slop is a multilingual field guide and agent skill that catalogues 33 common AI-generated design tells with interactive before-after demos, and provides a tool to scan and fix web projects.

AI & Machine LearningAI Agents
805
react
Featured
react GitHub avatar

react

React is a JavaScript library for building user interfaces with declarative, component-based, and cross-platform design.

Web DevelopmentFrontend Frameworks
246,741
makecindy
Featured
makecindy GitHub avatar

cindy

Cindy is an open-source AI agent that runs locally on your machine, integrates multiple AI harnesses and models, and provides memory, skills, and automation to perform real work in your projects and apps.

AI & Machine LearningLarge Language Models
958