You now have a complete, working iOS 26 app with Liquid Glass design!
✅ Full Xcode project ready to build ✅ Liquid Glass UI with morphing, interactive glass effects ✅ MultipeerConnectivity for peer-to-peer discovery ✅ 5 main screens:
- OnboardingView (handle + tech stack setup)
- RadarView (glass field with floating peer nodes)
- PeerNode (individual developer bubbles)
- StatusToggleButton (morphing FAB)
- ChatView (1:1 messaging)
cd ~/pulse/Pulse
open Pulse.xcodeproj- Click on Pulse in the left sidebar (project navigator)
- Select the Pulse target
- Go to Signing & Capabilities tab
- Under Team, select your Apple Developer account
- Press ⌘R or click the Play button
- Choose an iOS 26 simulator or real device
- The app will launch with the onboarding screen
- Enter a handle like
@jesse_codes - Pick your tech stack (Swift, Rust, Python, etc.)
- Tap "Start Discovering"
-
You'll see 4 demo peers floating in a glass field:
- @jesse_codes (active, green, close)
- @swift_sarah (active, green, medium distance)
- @rust_dev (flow state, yellow, far)
- @pythonista (idle, gray, very far)
-
Nodes pulse if active
-
Tap any node to open chat
- Tap the circular button to expand
- Choose your status:
- 🟢 Active (open to chat)
- 🟡 Flow State (visible but DND)
- ⚪ Idle (away)
- Button morphs with Liquid Glass animation
- Tap a peer node to open chat
- See demo messages
- Type and send (local only for now)
Important: Simulator cannot discover real peers. You need 2+ physical iOS 26 devices.
- Build and install on Device 1
- Build and install on Device 2
- Both devices will advertise via MultipeerConnectivity
- They'll discover each other automatically
- Tap to chat
Here's what each file does:
| File | Purpose |
|---|---|
PulseApp.swift |
App entry point, starts MeshManager |
ContentView.swift |
Shows onboarding if first launch, else RadarView |
RadarView.swift |
Main screen with glass field of peer nodes |
PeerNode.swift |
Individual floating peer bubble |
StatusToggleButton.swift |
Morphing FAB for status selection |
ChatView.swift |
1:1 messaging interface |
OnboardingView.swift |
Handle + tech stack setup |
MeshManager.swift |
MultipeerConnectivity wrapper, handles discovery |
PulsePeer.swift |
Data model for a peer |
Message.swift |
Data model for messages |
Info.plist |
Background modes for Bluetooth |
.glassEffect()— Applied to buttons, headers, input bars.glassEffect(.regular.tint(.green).interactive())— Tinted, touch-responsive glassGlassEffectContainer— Groups glass shapes for morphing.glassEffectID()— Enables smooth morphing transitions
MCNearbyServiceAdvertiser— Broadcasts your presenceMCNearbyServiceBrowser— Discovers nearby peersMCSession— Manages P2P connections
@MainActor— Thread-safe state management@Namespace— Shared namespace for morphing@EnvironmentObject— Global mesh manager
- Change Colors: Edit tint colors in
RadarView.swift:49-55 - Add More Tech: Update
techOptionsinOnboardingView.swift:14 - Custom Icons: Replace SF Symbols in
PeerNode.swift:57-68
- Distance Accuracy: Use CoreBluetooth RSSI instead of random
- Encryption: Implement E2E with CryptoKit (see PULSE_iOS26_ARCHITECTURE.md)
- Persistence: Save chat history with SwiftData
- Code Sharing: Add syntax-highlighted code snippets
- Create app icon (1024x1024px)
- Set up App Store Connect
- Submit for TestFlight beta
- Launch on App Store
- Make sure you're on physical devices (not simulator)
- Both devices need Bluetooth and WiFi enabled
- Grant local network permissions when prompted
- Set your Development Team in Signing & Capabilities
- Make sure you have Xcode 26+ installed
- Target iOS 26.0+
- Ensure you're running on iOS 26 simulator or device
- Glass effects are iOS 26+ only
The app includes demo peers so you can test the UI without real devices:
- 4 pre-loaded peers with different statuses
- Demo chat messages
- All UI animations work
Remove demo peers in production by deleting:
// In MeshManager.swift:70-79
private func addDemoPeers() {
// Delete this function
}- Full Architecture: See
PULSE_iOS26_ARCHITECTURE.md - Apple Docs: Liquid Glass
- MultipeerConnectivity: Apple Docs
You're ready to build! Open Xcode and hit run.
Questions? Check the architecture doc or README.