Skip to content

lofimichael/cityscape

Repository files navigation

Cityscape

A macOS menu bar app for ambient social presence at physical venues. See who's at your cafe, coworking space, or bar — and connect with them.

What it does

Cityscape sits in your menu bar and uses WiFi to detect what venue you're at. When you "go live," you appear as a glowing dot on an ambient board visible to others at the same spot. Wave at someone to start a conversation over iMessage.

  • WiFi-based presence — no GPS tracking, no check-ins, no manual location sharing
  • Ambient board — SpriteKit visualization with floating dots, physics, and glow effects
  • Ghost mode — 15-minute arrival buffer so you're not instantly visible
  • Openness levels — "Come say hi" / "Ping me first" / "Just vibing"
  • iMessage integration — waves connect you via iMessage, not a proprietary chat

Requirements

  • macOS 14 (Sonoma) or later
  • Location permission (required for WiFi SSID access on macOS 14+)

Build

./run.sh

Builds the Swift package, creates a .app bundle, kills any running instance, and launches.

To package a signed DMG:

./package.sh

Requires DEVELOPER_ID, TEAM_ID, NOTARY_APPLE_ID, and NOTARY_PASSWORD environment variables.

Stack

  • Swift 5.9, SwiftUI + SpriteKit
  • CoreLocation + CoreWLAN for WiFi/venue detection
  • WebSocket (Phoenix Channels) for real-time presence
  • Sign in with Apple for identity

Design System

See DESIGN.md for the full visual specification — colors, typography, spacing, motion, and accessibility compliance.

License

MIT — see LICENSE.

About

macOS menu bar app for ambient social presence at physical venues

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors