| name | cyber-y2k |
| description | Web and App implementation guide for Cyber Y2K. Trigger when user wants modern Y2K, holographic visuals, and glitch aesthetics. |
| date_added | 2026-06-17 |
| risk | safe |
| source | self |
| source_type | self |
Cyber Y2K
"Y2K, but seen through a distorted, modern lens. Darker, glitchier, and highly holographic."
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
- Holographic Gradients: Iridescent, oil-slick color palettes that shift as you move.
- Glitch Art: Text or images that appear corrupted, split into RGB channels, or stutter.
- Tribal & Tribal-Tech Vectors: Sharp, aggressive vector graphics (think early 2000s tribal tattoos mixed with circuit boards).
Visual DNA
- Colors: Deep black background. Highlights are holographic (purple, cyan, lime green, hot pink all mixed into fluid gradients).
- Typography: Extremely bold, stretched fonts, or highly technical monospace fonts.
- Visuals: CD-ROM reflections, barbed wire graphics, and heavy chromatic aberration.
Web Implementation
- Use CSS animations for glitching and animated background gradients.
- CSS Example:
body {
background-color: #050505;
color: #fff;
}
.cyber-y2k-btn {
background: linear-gradient(124deg, #ff2400, #e81d1d, #e8b71d, #e3e81d, #1de840, #1ddde8, #2b1de8, #dd00f3, #dd00f3);
background-size: 1800% 1800%;
animation: rainbow 18s ease infinite;
color: #fff;
font-weight: 900;
text-transform: uppercase;
border: 1px solid rgba(255,255,255,0.5);
border-radius: 30px;
padding: 16px 32px;
mix-blend-mode: screen;
}
@keyframes rainbow {
0%{background-position:0% 82%}
50%{background-position:100% 19%}
100%{: }
}
{
: relative;
: , monospace;
: ;
: bold;
}
, {
: (data-text);
: absolute;
: ; : ;
: ;
}
{
: ;
: -;
: (-, );
}
{
: ;
: -;
: (, -);
}
App Implementation
SwiftUI
struct CyberY2KView: View {
@State private var rotation: Double = 0
var body: some View {
ZStack {
Color.black.ignoresSafeArea()
VStack(spacing: 40) {
ZStack {
Text("SYSTEM.ERROR")
.font(.custom("Courier New", size: 40).bold())
.foregroundColor(.cyan)
.offset(x: -3, y: 2)
Text("SYSTEM.ERROR")
.font(.custom("Courier New", size: 40).bold())
.foregroundColor(.pink)
.offset(x: 3, y: -2)
Text("SYSTEM.ERROR")
.font(.custom("Courier New", size: 40).bold())
.foregroundColor(.white)
}
Button(action: {}) {
Text("ENTER MATRIX")
.font(.headline.weight(.black))
.foregroundColor(.white)
.padding(.horizontal, )
.padding(.vertical, )
.background(
(
gradient: (colors: [.red, .yellow, .green, .cyan, .blue, .purple, .red]),
center: .center,
angle: .degrees(rotation)
)
)
.cornerRadius()
.overlay((cornerRadius: ).stroke(.white.opacity(), lineWidth: ))
}
.onAppear {
withAnimation(.linear(duration: ).repeatForever(autoreverses: )) {
rotation
}
}
}
}
}
}
- The RGB Glitch effect is incredibly simple in SwiftUI: stack three identical
Text views in a ZStack. Give the bottom ones .cyan and .pink colors and slightly .offset() them.
- Use an
AngularGradient bound to a rotating @State variable to achieve the iridescent CD-ROM holographic effect.
Flutter
class CyberY2KScreen extends StatefulWidget {
@override
State<CyberY2KScreen> createState() => _CyberY2KScreenState();
}
class _CyberY2KScreenState extends State<CyberY2KScreen> with SingleTickerProviderStateMixin {
late AnimationController _controller;
@override
void initState() {
super.initState();
_controller = AnimationController(vsync: this, duration: const Duration(seconds: 5))..repeat();
}
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.black,
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
// Glitch Text
Stack(
children: [
Transform.translate(offset: const Offset(-3, 2), child: const Text('SYSTEM.ERROR', style: TextStyle(color: Colors.cyan, fontSize: 40, fontFamily: 'Courier', fontWeight: FontWeight.bold))),
Transform.translate(offset: const Offset(3, -2), child: const Text('SYSTEM.ERROR', style: TextStyle(color: Colors.pinkAccent, fontSize: 40, fontFamily: 'Courier', fontWeight: FontWeight.bold))),
const Text('SYSTEM.ERROR', style: TextStyle(color: Colors.white, fontSize: 40, fontFamily: 'Courier', fontWeight: FontWeight.bold)),
],
),
const SizedBox(height: 60),
// Holographic Button via ShaderMask
AnimatedBuilder(
animation: _controller,
builder: (context, child) {
return ShaderMask(
shaderCallback: (Rect bounds) {
return SweepGradient(
colors: const [Colors.red, Colors.yellow, Colors.green, Colors.cyan, Colors.blue, Colors.purple, Colors.red],
transform: GradientRotation(_controller.value * 2 * 3.14159), // Rotate through 360 degrees
).createShader(bounds);
},
child: Container(
decoration: BoxDecoration(
color: Colors.white, // Color to be masked by shader
borderRadius: BorderRadius.circular(30),
border: Border.all(color: Colors.white.withOpacity(0.5)),
),
padding: const EdgeInsets.symmetric(horizontal: 32, vertical: 16),
child: const Text('ENTER MATRIX', style: TextStyle(color: Colors.black, fontWeight: FontWeight.w900)),
),
);
},
),
],
),
),
);
}
}
- In Flutter, a
ShaderMask with a SweepGradient attached to an AnimationController creates a perfect, performant oil-slick holographic effect over any widget.
- Use
Stack and Transform.translate to build the RGB glitch text.
React Native
import LinearGradient from 'react-native-linear-gradient';
const GlitchText = ({ text }) => {
const baseStyle = { fontSize: 40, fontFamily: 'Courier', fontWeight: 'bold', position: 'absolute' };
return (
<View style={{ alignItems: 'center', height: 50, justifyContent: 'center' }}>
<Text style={[baseStyle, { color: '#00FFFF', transform: [{ translateX: -3 }, { translateY: 2 }] }]}>{text}</Text>
<Text style={[baseStyle, { color: '#FF00FF', transform: [{ translateX: 3 }, { translateY: -2 }] }]}>{text}</Text>
<Text style= { '#' }]}>{text}
);
};
= () => {
(
);
};
- Stacked absolute
<Text> nodes handle the RGB split glitch well.
- True animating holographic gradients (like Sweep/Angular) require
@shopify/react-native-skia. If Skia is unavailable, use a static multi-stop LinearGradient as a fallback.
Jetpack Compose
@Composable
fun GlitchText(text: String) {
Box(contentAlignment = Alignment.Center) {
Text(text, color = Color.Cyan, fontSize = 40.sp, fontFamily = FontFamily.Monospace, fontWeight = FontWeight.Bold,
modifier = Modifier.offset(x = (-3).dp, y = 2.dp))
Text(text, color = Color.Magenta, fontSize = 40.sp, fontFamily = FontFamily.Monospace, fontWeight = FontWeight.Bold,
modifier = Modifier.offset(x = 3.dp, y = (-2).dp))
Text(text, color = Color.White, fontSize = 40.sp, fontFamily = FontFamily.Monospace, fontWeight = FontWeight.Bold)
}
}
@Composable
fun CyberY2KScreen() {
val infiniteTransition = rememberInfiniteTransition()
val rotation by infiniteTransition.animateFloat(
initialValue = 0f,
targetValue = 360f,
animationSpec = infiniteRepeatable(
animation = tween(5000, easing = LinearEasing)
)
)
Column(
modifier = Modifier.fillMaxSize().background(Color.Black),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center
) {
GlitchText("SYSTEM.ERROR")
Spacer(Modifier.height(60.dp))
Box(
modifier = Modifier
.background(
brush = Brush.sweepGradient(
colors = listOf(Color.Red, Color.Yellow, Color.Green, Color.Cyan, Color.Blue, Color.Magenta, Color.Red),
center = Offset.Unspecified
),
shape = RoundedCornerShape(30.dp)
)
.graphicsLayer { rotationZ = rotation }
.border(dp, Color.White.copy(alpha = ), RoundedCornerShape(dp))
.padding(horizontal = dp, vertical = dp)
) {
Text(, color = Color.White, fontWeight = FontWeight.Black)
}
}
}
- Like other frameworks, use a
Box to stack text with Modifier.offset() for glitches.
- A
Brush.sweepGradient creates the holographic CD-ROM colors, though rotating the brush itself (not the whole widget) in Compose requires a bit of advanced Matrix manipulation inside a ShaderBrush.
Do's and Don'ts
- DO: Incorporate UI elements that look like raw HTML/CSS (like visible tables or marquee tags) as an ironic nod to early web.
- DON'T: Use clean, modern geometric layouts. Cyber Y2K is chaotic and rebellious.
Limitations
- This is a styling reference and does not replace enprojectnment-specific validation, accessibility testing, or expert review.
- Ensure appropriate contrast ratios and responsive behaviors are verified separately.