Skill

Y2K Design

Y2K sub-style for design-it: chrome gradient text and blob shapes, with gradient-text support ranging from native to third-party per platform.

Maintainer of this project? Claim this page to edit the listing.


81
Spark score
out of 100
Updated 28 days ago
Version 13.5.0

Add to Favorites

Install

Add it to your toolbox

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/ag-y2k-design | bash

Overview

Y2K Design

A design-it sub-style for Y2K/retro-futurist UI with chrome gradient text and amorphous blob shapes, comparing native vs third-party gradient-text support across platforms. Use for a maximalist, flashy Y2K/retro-futurist interface with chrome text and neon blob shapes; never use it for a minimal design.

What it does

Y2K Design is a design-it sub-style built on three principles: metallic and chrome effects (silver gradients simulating shiny metal), organic amorphous "blob" shapes with curved intersecting lines, and tech-optimism (circuit-board motifs, target crosshairs, digital grid backgrounds) evoking the imagined shiny future of 1999. It is a child reference of design-it, applied only when a request matches this specific retro-futurist aesthetic.

When to use - and when NOT to

Use this sub-style for interfaces wanting the late-90s/early-2000s "shiny future" look: chrome-gradient headline text, neon cyan/hot-pink amorphous blob buttons, futuristic display fonts (Orbitron, Syncopate), and decorative sparkles around headers and buttons. Its own rule is explicit that this is fundamentally maximalist and flashy - a design brief asking for minimalism is the wrong fit entirely.

Inputs and outputs

The signature chrome-text effect uses a multi-stop gradient with a sharp contrast band right at the midpoint (stops: [0.0, 0.45, 0.5, 0.55, 1.0], light-dark-light) to simulate a metal cylinder's horizon reflection, clipped to text. Platform support for gradient text varies enormously: SwiftUI's .foregroundStyle() and Jetpack Compose's TextStyle(brush = ...) both apply a multi-stop gradient to text natively and are described as trivial/easy; Flutter requires wrapping the text in a ShaderMask with the gradient as its shader; React Native has no native gradient-text support at all and needs two third-party packages together - @react-native-masked-view/masked-view to mask a gradient view with the text shape, plus react-native-linear-gradient to render the gradient itself. Amorphous "blob" button shapes use asymmetrical border-radius values on web (border-radius: 50% 20% / 10% 40%), but SwiftUI has no easy equivalent - the skill notes a true blob needs a custom Path, so it falls back to a plain Capsule() shape instead.

.y2k-chrome-text {
  background: linear-gradient(to bottom, #fff 0%, #999 45%, #222 50%, #ccc 55%, #fff 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

Integrations

As a design-it sub-style, it's applied through the parent skill's aesthetic matching, with the chrome-text-plus-blob-button pattern expected across web CSS and the four listed native frameworks - accepting that gradient text ranges from a one-line native call (SwiftUI, Compose) to a required third-party dependency (React Native).

Who it's for

Designers and developers building a Y2K/retro-futurist interface - chrome gradient text, neon amorphous blob shapes, and maximalist flashiness with sparkle decoration - who need the look reproduced across web and native platforms despite React Native requiring extra masked-view and gradient packages that SwiftUI and Compose don't need at all.

Source README

Y2K Design

"The optimistic, shiny future as imagined in 1999. Chrome, blobs, and alien tech."

When to Use

Use this sub-style when the user's request matches the aesthetic described above. This is a child reference of the design-it skill and is not meant to be triggered directly.

Core Principles

  1. Metallic & Chrome Effects: Extensive use of silver, chrome, and shiny metallic gradients.
  2. Organic, Amorphous Shapes: "Blob" architecture, curved intersecting lines, and liquid-like forms.
  3. Tech-Optimism: Circuit board motifs, target crosshairs, and digital grid backgrounds.

Visual DNA

  • Colors: Silver/chrome, bright cyan, hot pink, lime green. Industrial Chic mixed with neon accents works well.
  • Typography: Extended (wide) sans-serifs, pixel fonts, or futuristic/alien display fonts (e.g., Orbitron, Syncopate).
  • Styling: Outer glows, metallic bevels, and starry glints (sparkles).

Web Implementation

  • Rely heavily on complex linear and radial gradients to simulate shiny metal.
  • CSS Example:
body {
  background-color: #000000;
  /* Digital grid background */
  background-image: linear-gradient(#333 1px, transparent 1px),
                    linear-gradient(90deg, #333 1px, transparent 1px);
  background-size: 20px 20px;
  color: #ffffff;
  font-family: 'Syncopate', sans-serif;
}

.y2k-chrome-text {
  font-size: 4rem;
  font-weight: 900;
  text-transform: uppercase;
  
  /* Chrome gradient effect */
  background: linear-gradient(
    to bottom, 
    #ffffff 0%, 
    #999999 45%, 
    #222222 50%, 
    #cccccc 55%, 
    #ffffff 100%
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  
  /* Outer glow */
  filter: drop-shadow(0 0 10px rgba(0, 255, 255, 0.5));
}

.y2k-blob-btn {
  background: linear-gradient(135deg, #00FFFF, #FF00FF);
  border: none;
  border-radius: 50% 20% / 10% 40%; /* Amorphous blob shape */
  padding: 20px 40px;
  color: #fff;
  font-weight: bold;
  text-shadow: 1px 1px 2px #000;
  box-shadow: 0 0 15px #FF00FF;
}

App Implementation

SwiftUI

struct Y2KDesignView: View {
    // Chrome Gradient
    let chromeGradient = LinearGradient(
        colors: [Color.white, Color(white: 0.6), Color(white: 0.2), Color(white: 0.8), Color.white],
        startPoint: .top,
        endPoint: .bottom
    )
    
    var body: some View {
        ZStack {
            Color.black.ignoresSafeArea()
            
            VStack(spacing: 40) {
                // Chrome Text
                Text("Y2K FUTURE")
                    .font(.custom("Syncopate-Bold", size: 48))
                    .foregroundStyle(chromeGradient)
                    // Cyan glow
                    .shadow(color: Color(hex: "00FFFF"), radius: 10, x: 0, y: 0)
                
                // Blob Button (Faked with Capsule in standard SwiftUI, requires Path for true blob)
                Button(action: {}) {
                    Text("ENTER CORE")
                        .font(.custom("Orbitron-Bold", size: 20))
                        .foregroundColor(.white)
                        .padding(.vertical, 20)
                        .padding(.horizontal, 40)
                        .background(LinearGradient(colors: [Color(hex: "00FFFF"), Color(hex: "FF00FF")], startPoint: .topLeading, endPoint: .bottomTrailing))
                        .clipShape(Capsule())
                        // Glow
                        .shadow(color: Color(hex: "FF00FF").opacity(0.8), radius: 15, x: 0, y: 0)
                }
            }
        }
    }
}
  • SwiftUI's .foregroundStyle() makes applying a complex multi-stop LinearGradient to text trivial, which is exactly how you build the Chrome Text effect.
  • Add an un-offset .shadow() with a neon color to create the Y2K outer glow.

Flutter

class Y2KDesignScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: Colors.black,
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            // Chrome Text via ShaderMask
            ShaderMask(
              shaderCallback: (bounds) => const LinearGradient(
                begin: Alignment.topCenter, end: Alignment.bottomCenter,
                colors: [Colors.white, Color(0xFF999999), Color(0xFF222222), Color(0xFFCCCCCC), Colors.white],
                stops: [0.0, 0.45, 0.5, 0.55, 1.0],
              ).createShader(bounds),
              child: const Text(
                'Y2K FUTURE',
                style: TextStyle(
                  fontFamily: 'Syncopate', fontSize: 48, fontWeight: FontWeight.w900, color: Colors.white,
                  shadows: [Shadow(color: Color(0xFF00FFFF), blurRadius: 20)], // Glow
                ),
              ),
            ),
            const SizedBox(height: 40),
            
            // Neon Button
            Container(
              decoration: BoxDecoration(
                gradient: const LinearGradient(colors: [Color(0xFF00FFFF), Color(0xFFFF00FF)]),
                borderRadius: BorderRadius.circular(50),
                boxShadow: const [BoxShadow(color: Color(0xFFFF00FF), blurRadius: 20)],
              ),
              child: ElevatedButton(
                onPressed: () {},
                style: ElevatedButton.styleFrom(
                  backgroundColor: Colors.transparent, shadowColor: Colors.transparent,
                  padding: const EdgeInsets.symmetric(horizontal: 40, vertical: 20),
                ),
                child: const Text('ENTER CORE', style: TextStyle(fontFamily: 'Orbitron', fontSize: 20, color: Colors.white)),
              ),
            )
          ],
        ),
      ),
    );
  }
}
  • You MUST use ShaderMask with a complex multi-stop LinearGradient to render the metallic chrome effect on text in Flutter.
  • The stops property [0.0, 0.45, 0.5, 0.55, 1.0] is the secret to a good metal gradient: a sharp contrast right in the middle simulates the horizon reflection on a cylinder.

React Native

// REQUIRES: @react-native-masked-view/masked-view and react-native-linear-gradient
import MaskedView from '@react-native-masked-view/masked-view';
import LinearGradient from 'react-native-linear-gradient';

const Y2KDesignScreen = () => {
  return (
    <View style={{ flex: 1, backgroundColor: '#000', justifyContent: 'center', alignItems: 'center' }}>
      
      {/* Chrome Text */}
      <View style={{ height: 60, width: '100%', marginBottom: 40, shadowColor: '#00FFFF', shadowOffset: {width: 0, height: 0}, shadowOpacity: 1, shadowRadius: 10 }}>
        <MaskedView
          style={{ flex: 1 }}
          maskElement={<Text style={{ fontFamily: 'Syncopate-Bold', fontSize: 48, color: '#FFF', textAlign: 'center' }}>Y2K FUTURE</Text>}
        >
          <LinearGradient
            colors={['#FFFFFF', '#999999', '#222222', '#CCCCCC', '#FFFFFF']}
            locations={[0, 0.45, 0.5, 0.55, 1]}
            style={{ flex: 1 }}
          />
        </MaskedView>
      </View>

      {/* Neon Gradient Button */}
      <View style={{ shadowColor: '#FF00FF', shadowOffset: {width: 0, height: 0}, shadowOpacity: 1, shadowRadius: 15 }}>
        <LinearGradient
          colors={['#00FFFF', '#FF00FF']} start={{x: 0, y: 0}} end={{x: 1, y: 1}}
          style={{ borderRadius: 50, paddingHorizontal: 40, paddingVertical: 20 }}
        >
          <Text style={{ fontFamily: 'Orbitron-Bold', fontSize: 20, color: '#FFF' }}>ENTER CORE</Text>
        </LinearGradient>
      </View>

    </View>
  );
};
  • In React Native, you need the community MaskedView to apply a gradient to text. Create the <Text> in the maskElement prop, and put the <LinearGradient> inside as a child.
  • Pass locations to the gradient to create the sharp metallic reflection line.

Jetpack Compose

@Composable
fun Y2KDesignScreen() {
    Box(
        modifier = Modifier.fillMaxSize().background(Color.Black),
        contentAlignment = Alignment.Center
    ) {
        Column(horizontalAlignment = Alignment.CenterHorizontally) {
            
            // Chrome Text
            Text(
                text = "Y2K FUTURE",
                fontSize = 48.sp,
                fontFamily = FontFamily.SansSerif, // Replace with Syncopate
                fontWeight = FontWeight.Black,
                style = TextStyle(
                    // Apply Chrome Gradient to Text
                    brush = Brush.verticalGradient(
                        0.0f to Color.White,
                        0.45f to Color(0xFF999999),
                        0.5f to Color(0xFF222222),
                        0.55f to Color(0xFFCCCCCC),
                        1.0f to Color.White
                    ),
                    shadow = Shadow(color = Color(0xFF00FFFF), blurRadius = 20f) // Glow
                )
            )
            
            Spacer(Modifier.height(40.dp))
            
            // Neon Button
            Box(
                modifier = Modifier
                    .shadow(20.dp, CircleShape, ambientColor = Color(0xFFFF00FF), spotColor = Color(0xFFFF00FF))
                    .background(Brush.linearGradient(listOf(Color(0xFF00FFFF), Color(0xFFFF00FF))), CircleShape)
                    .clickable { }
                    .padding(horizontal = 40.dp, vertical = 20.dp)
            ) {
                Text("ENTER CORE", color = Color.White, fontFamily = FontFamily.SansSerif, fontWeight = FontWeight.Bold, fontSize = 20.sp)
            }
        }
    }
}
  • Jetpack Compose makes gradient text incredibly easy via TextStyle(brush = ...).
  • Provide specific color stops (0.45f to ...) to the verticalGradient to create the hard reflection line characteristic of 2000s chrome.

Do's and Don'ts

  • DO: Use sparkles (✨) as decorative elements around headers and buttons.
  • DON'T: Make it minimal. Y2K is fundamentally maximalist and flashy.

Limitations

  • This is a styling reference and does not replace environment-specific validation, accessibility testing, or expert review.
  • Ensure appropriate contrast ratios and responsive behaviors are verified separately.

FAQ

Common questions

Discussion

Questions & comments · 0

Sign In Sign in to leave a comment.