What makes Glassblue different
Three things you notice in the first five seconds.
Liquid Glass, top to bottom
SwiftUI throughout. Real glass surfaces via .glassEffect(), GlassEffectContainer, and tabBarMinimizeBehavior — no ultraThinMaterial mimicry, no UIKit wrapping, no web view.
Threads that show both sides
Replies in the timeline render their parent inline, joined by a connected thread line. You see the conversation, not just one side of it — Twitter/Bluesky-web style, but native.
Media that just plays
Bluesky videos and animated GIFs autoplay muted on loop, just like Twitter. Tap an image for the fullscreen viewer with one-tap save to Photos. Toggle autoplay off if you prefer.
Designed for the way iOS works
Glassblue follows iOS conventions instead of fighting them. The details that make first-party apps feel right are wired into every screen.
Reading
- Custom feed tabs at the top of Home — Following plus every feed-generator you've pinned in Bluesky, with per-tab pagination preserved when you switch.
- Tap Home to scroll up, tap again to refresh — the way Twitter, Instagram, and Apple's own apps have always worked.
- Scroll-driven minimize for the tab bar and feed selector, so reading reclaims the full screen.
- Skeleton placeholders that mirror the real layout, so the swap to loaded content doesn't reflow.
- Dynamic Type honored, plus a built-in text-size override for when you want bigger or smaller than the system default.
Posting
- Compose, reply, quote — proper thread-root resolution; quote posts can be text-only, image-only, or text + images, all via
recordWithMedia. - Attach up to 4 images via PhotosPicker with per-image alt text, off-main JPEG re-encoding to fit Bluesky's blob ceiling.
- Facet detection — URLs,
@mentions(resolved to DIDs at submit), and#hashtagsbecome tappable in the post. - Optimistic likes & reposts with mutation propagation across every cached feed, so a tap in Following reflects in Discover.
- Haptics where they belong — light on action-bar taps, medium on send, success notification when an action lands, error notification on failure.
People
- Immersive profile banners that paint behind the nav bar, with the system back chevron floating over them.
- Follow, mute, block, report — all wired with optimistic UI and proper destructive-action confirmation dialogs.
- Search with a system-level magnifying glass affordance and a People / Posts scope picker; results stream in parallel.
- Grouped notifications — consecutive likes and reposts on the same post collapse into one row, matching Bluesky's official client.
Polish
- Save images to Photos from the fullscreen viewer in one tap — minimum-privilege add-only permission, original format preserved.
- Dark mode + appearance picker — System, Light, or Dark, persisted independently of iOS.
- Accessibility baseline — 44pt tap targets, VoiceOver labels on avatars and timestamps (announces "2 minutes ago" instead of "2m"), Reduce Motion honored.
- Quote-post and link cards use a true punched-out look — pure black/white background, thin primary outline — instead of recessed grey blocks.
Where your data goes
No middleman server, no analytics SDK, no error-reporting service. Glassblue talks directly to your PDS — that's it.
bsky.social, custom hosts supported). No proxy.