PolitiCall
The easiest (and best looking) way to call your reps.
May 2017 - Present • 8 years, 7 months • Ongoing
Tech Stack
SwiftUISwiftDataAppIntentsWidgetKit
About PolitiCall
PolitiCall makes it easy to find and reach out to your members of Congress. Ridiculously easy. Whether you’re just leanring who represents you or a die-hard CSPAN-enjoyer.
The Details
The Elevator Pitch
- Find Your Reps: Sure, you could Google, but do you know which district you’re in? PolitiCall uses census data to match you privately on-device
- Build Collections: Group reps together by topic, interest, or action item
- Shortcuts Included: Ask Siri to open a rep for you or find out who represents an address
- Stay Election Ready: Use widgets to pin a collection, a rep, or countdown to your next federal election
My Favorite Parts
- “Damn, that was easy” texts: That’s a good feeling!
- Designed to be fast and easy: PolitiCall doesn’t have a lot of features some similar apps have, but I like to think the design makes it quick to navigate, quick to get on a call.
Technologies Used
- SwiftUI
- SwiftTests
- SwiftData
- AppIntents
- WidgetKit
- Swift Algorithms
- Modern Swift Concurrency
What I Learned
PolitiCall is my most frequently-updated app, and not just because Congress changes a lot. It’s been an excellent playground to learn more about design and information hierarchy.
In November 2025, version 4.2 shipped with a new design that reflects the new Apple design language and Liquid Glass. That led me to:
- Think more critically about my tabs and navigation. Ultimately reducing from three tabs to two with smaller supporting sections worked in where they make sense.
- Build more modular and reusable components. This was already something I was doing, but the new design leans heavily on flexible layouts and reusable components.
- Think with Swift Concurrency. A misstep in trusting AI to be a good structured concurrency tutor led to a lot of pain, but also some thoughtful deep-learning as I built it again alone.
- Make my voice heard. A government shutdown provided both a timely update, plus an important reminder about why this app exists.


