Journal

Apple Intelligence Siri Overlay Clone in SwiftUI

Clone the visual grammar for your own assistant. The edge light is layered strokes and one honest state machine.

Apple Intelligence Siri Overlay Clone in SwiftUI: the App Store logo as a frosted glass icon on a pink and blue gradient with bubbles

TL;DR

The Apple Intelligence Siri overlay is system UI with no public API, so the clone targets the visual grammar for your own in-app assistant: stacked AngularGradient strokes (tight core, soft bloom, faint wash) rotated by a TimelineView clock and blurred into light, with a layerEffect Metal shader supplying the fluid hue motion, all GPU-cheap because only edge pixels render. The glow works as an honest state lamp: appear on hot mic, slow while thinking, exit on response, dark when idle, opacity pulse under Reduce Motion. Name the assistant yours and never impersonate Siri. A free VP0 design covers the chat and voice screens the glow wraps.

What can you actually clone here?

The visual grammar, not the system surface. The glowing, color-shifting edge light that Apple Intelligence wraps around the screen when Siri activates is system UI: no public API invokes it, restyles it, or attaches your app to it. What a SwiftUI build can do is borrow the grammar for your own in-app assistant: the same full-screen edge glow, the same fluid color motion, rendered by your code around your assistant’s states.

That reframe also keeps you on the right side of review and trademark lines. An in-app effect that signals “our assistant is listening” is a design homage; an interface that pretends to be Siri is impersonation, and Apple’s guidelines are unambiguous about apps that mimic system products. Build the glow, name the assistant something that is yours, and skip the orb-and-waveform theater that implies the OS itself is responding. To wire a real model behind that effect, see Apple Intelligence on-device models in SwiftUI.

How is the edge glow built in SwiftUI?

Layered strokes of an animated angular gradient, softened until they read as light. The skeleton:

struct AssistantGlow: View {
    @State private var phase: Double = 0
    var body: some View {
        TimelineView(.animation) { timeline in
            let t = timeline.date.timeIntervalSinceReferenceDate
            RoundedRectangle(cornerRadius: 56, style: .continuous)
                .strokeBorder(
                    AngularGradient(
                        colors: [.blue, .purple, .pink, .orange, .blue],
                        center: .center,
                        angle: .degrees(t * 40)
                    ),
                    lineWidth: 10
                )
                .blur(radius: 14)
                .ignoresSafeArea()
        }
        .allowsHitTesting(false)
    }
}

Three refinements turn the skeleton into the real thing. Stack two or three strokes at different widths and blur radii (a tight 4-point core, a 14-point bloom, a faint 30-point wash) so the light has depth instead of looking like a stroked border. Drive the gradient rotation and a subtle line-width oscillation from the same clock so the glow breathes rather than spins mechanically. And match the corner radius to the device’s actual display corners, because a glow that cuts across the screen corners breaks the illusion instantly.

For the fluid, plasma-like color motion of the real effect, a Metal shader through SwiftUI’s layerEffect replaces the flat angular gradient: a small noise-driven hue-shift shader over the stroke layer gets remarkably close, and it stays GPU-cheap because the effect only touches the edge pixels, not the whole screen. The budget is real: a ProMotion display redraws every 8,333 microseconds at 120 frames per second, and the layered-stroke design fits inside it precisely because the fill is never composited.

How should the glow map to assistant states?

As an honest state lamp, never decoration. The glow earns its screen real estate by telling the truth about what the assistant is doing:

  • Idle: no glow. Resist the ambient shimmer; an always-on effect signals nothing and burns battery.
  • Listening: the full edge glow, steady rotation. Appears exactly when the microphone is hot, which doubles as a privacy affordance the user learns to trust.
  • Thinking: the rotation slows and the bloom tightens, the same never-fake-progress discipline as the agent thinking animation: motion communicates “working,” not theatrical fake steps.
  • Responding: the glow hands off to the response surface and exits; two effects competing for attention halve each other.

Wire the states to real signals (speech recognizer activity, request lifecycle), and respect Reduce Motion by swapping the rotation for a gentle opacity pulse, which preserves the state lamp while dropping the movement. Voice-presence interfaces live and die on this honesty, the throughline of the AI Pin interface breakdown as well: the animation is the status API.

What about the rest of the Apple Intelligence look?

Borrow sparingly. The glowing text-field halo (the writing-tools moment) translates well to an in-app composer: the same multi-stroke gradient treatment around a single rounded rect, activated while your model streams. The full-screen wash behind system Siri does not translate: inside an app it reads as a modal takeover, and users park the gesture-school instincts they learned from the OS at your app’s door. Keep the glow at the edges, keep content legible above it (the system effect never obscures the screen it wraps), and keep one effect per moment.

For the screens the assistant lives in, chat surfaces, voice sheets, settings, a free VP0 design gives Claude Code or Cursor real structure to generate from, with the glow layered on as the state lamp rather than carrying the whole interface.

Key takeaways: the Siri-style glow in SwiftUI

  • Clone the grammar, not the system: no API exposes the real overlay; build your own assistant’s edge glow and never impersonate Siri.
  • Layered animated strokes make the light: tight core, soft bloom, faint wash, one shared clock, corners matched to the display.
  • layerEffect shaders buy the fluid look: noise-driven hue shift over the edge pixels, GPU-cheap.
  • The glow is a state lamp: hot mic means glow, thinking slows it, response dismisses it, Reduce Motion swaps rotation for pulse.
  • One effect per moment: edge glow or response surface, never both fighting.

Frequently asked questions

How do I clone the Apple Intelligence Siri overlay in SwiftUI? Build an edge glow from stacked AngularGradient strokes (tight core, soft bloom, faint wash) rotated by a TimelineView clock, blurred into light, with corner radius matched to the device display; add a layerEffect Metal shader for the fluid hue motion. It wraps your own assistant’s states, since the real system overlay has no public API. A free VP0 design covers the assistant screens the glow lives on.

Can my app trigger or restyle the real Siri animation? No. The Apple Intelligence overlay is system UI with no developer surface. Apps integrate with Siri through App Intents, but the glow around the screen belongs to the OS, and imitating it to appear as the system risks rejection.

How do I make the glow performant? Keep the effect on edge pixels only: stroked shapes, not full-screen shaders; one TimelineView clock driving rotation and width; blur radii fixed rather than animated. The layered-stroke approach stays cheap even on older devices because the fill is never touched.

What should the glow communicate? Microphone and model state, honestly: appear when listening starts, slow and tighten while thinking, exit when the response renders, stay dark when idle. Pair it with Reduce Motion support by replacing rotation with an opacity pulse.

Is it safe for App Review to ship a Siri-like effect? A glow signaling your own assistant’s states is ordinary design. Problems start when an app presents itself as Siri or Apple Intelligence: keep your assistant’s name and iconography clearly yours, and the effect is just good craft.

What the VP0 community is asking

How do I clone the Apple Intelligence Siri overlay in SwiftUI?

Stack AngularGradient strokes at different widths and blur radii around a display-corner-matched rounded rectangle, rotate them from one TimelineView clock, and add a layerEffect Metal shader for the fluid hue motion. It becomes the edge glow for your own assistant's states, since the real overlay exposes no API. A free VP0 design supplies the assistant screens it wraps.

Can my app trigger or restyle the real Siri animation?

No. The system overlay has no developer surface; apps integrate with Siri through App Intents, not the glow. Any in-app recreation should clearly belong to your own assistant rather than presenting itself as the OS.

How do I keep a full-screen glow effect performant?

Render edge pixels only: stroked shapes instead of full-screen shaders, fixed blur radii, one shared animation clock for rotation and width oscillation. The layered-stroke build stays cheap on older devices because the screen's fill is never composited through the effect.

What states should the assistant glow communicate?

Real ones only: glow on when the microphone is hot, slowed and tightened while the model works, dismissed when the response surface takes over, dark when idle. Under Reduce Motion, swap rotation for a gentle opacity pulse so the state lamp survives without movement.

Will App Review reject a Siri-like glow effect?

Not for the effect itself: an edge glow signaling your assistant's state is ordinary design language. Rejection risk comes from impersonation, so keep your assistant's name, voice, and iconography distinct from Siri and Apple Intelligence.

Part of the Native Apple & SwiftUI: The iOS Ecosystem hub. Browse all VP0 topics →

Keep reading

Build a Buienradar-Style Rain Map Overlay in SwiftUI: a glass iPhone UI wireframe icon on a holographic purple gradient
Guides 8 min read

Build a Buienradar-Style Rain Map Overlay in SwiftUI

A rain radar is colored precipitation tiles over a map with a scrubbable timeline. Here is how to build the Buienradar-style rain map overlay in SwiftUI.

Lawrence Arya · June 8, 2026
Build an Iron Dome-Style Critical Alert App in SwiftUI: the App Store logo as a frosted glass icon on a pink and blue gradient with bubbles
Guides 7 min read

Build an Iron Dome-Style Critical Alert App in SwiftUI

An Iron Dome-style alert app is a critical public-safety UI. Here is how to build the full-screen alert, the take-cover countdown, and the region map in SwiftUI.

Lawrence Arya · June 8, 2026
Build a Spatial Video Recording Camera UI in SwiftUI: the App Store logo as a frosted glass icon on a pink and blue gradient with bubbles
Guides 6 min read

Build a Spatial Video Recording Camera UI in SwiftUI

Spatial video is stereoscopic 3D recorded on iPhone Pro and Vision Pro. Here is how to build the spatial video recording camera UI in SwiftUI with capture guidance.

Lawrence Arya · June 8, 2026
Build a visionOS-Style Window and Drag Bar on iOS: a glass iPhone UI wireframe icon on a holographic purple gradient
Guides 8 min read

Build a visionOS-Style Window and Drag Bar on iOS

On visionOS the window drag bar is system chrome you do not draw. Here is how to replicate the visionOS window look on iOS, and what is actually real.

Lawrence Arya · June 8, 2026
KakaoTalk Chat UI Clone in SwiftUI: a vivid neon 3D App Store icon on an orange, pink and blue gradient
Guides 6 min read

KakaoTalk Chat UI Clone in SwiftUI

The yellow-brown palette, left bubbles with names, the per-message unread count, and an honest message-state model: KakaoTalk's grammar, cloned right.

Lawrence Arya · June 7, 2026
Bit Payment App Clone in SwiftUI: Israel's P2P Pattern: a vivid neon 3D App Store icon on an orange, pink and blue gradient
Guides 5 min read

Bit Payment App Clone in SwiftUI: Israel's P2P Pattern

Clone Bit's P2P payment UX in SwiftUI: contact-first sends, group collection flows, request culture, and the licensed-rails truth behind Israel's default app.

Lawrence Arya · June 5, 2026