Event discovery is fragmented. Listings live across different providers, each with its own browsing experience, making it difficult to get a clear picture of what’s happening nearby.
Shindig brings those listings into one mobile product. People can browse an image-led feed, explore events on a map, and open consistent event details without starting their search over on every provider’s platform. Shindig also supports creating original events, making it more than a directory of external listings.
My role: frontend architecture, design, and implementation
As a co-founder, I built nearly all of the frontend. My work spanned frontend architecture, product design, and implementation for the iOS and Android apps—not just translating finished designs into screens.
I also contributed substantially to the Node.js backend. My fellow co-founder was responsible for the backend architecture and for establishing the infrastructure. This was a collaborative product effort, with my primary ownership centered on the mobile experience.
A shared mobile foundation
The frontend uses Kotlin Multiplatform (KMP) and Compose Multiplatform to support iOS and Android. The work brought shared mobile engineering and interface design together: deciding how people move through the product, how information is organized, and how that experience is implemented across both platforms.
The challenge wasn’t simply to display event records. It was to make listings from different sources feel like a coherent product while retaining the information people need to choose an event.
Three complementary ways to explore
The feed emphasizes event imagery and scannable information, helping people browse possibilities quickly. Discovery surfaces offer another entry point through categories and collections such as free events.
The map puts that same exploration in a geographic context. Multicolor pins and clustered markers make it possible to explore nearby options spatially rather than only through a scrolling list.
Event details bring the experience together with prominent imagery, date information, venue and directions, source information, category tags, and RSVP controls. The visual hierarchy moves from discovering an interesting event to understanding where and when it happens.
Connecting the interface to a live product
Alongside the frontend, my backend contributions supported the broader event platform. Working across both sides of the application helped connect interface decisions with the data the product actually serves.
The current portfolio showcase uses real app screens populated with live event listings. It highlights the feed, map, and detail experience rather than a speculative concept or a static redesign.
Shipped on iOS and Android
Shindig is available on both platforms, and the updated UI has been released on iOS and Android. The project demonstrates my ability to take responsibility for a mobile frontend from architecture and design through implementation, while collaborating deeply on an existing backend.
For a client, this is the relevant combination: product judgment, cross-platform mobile engineering, hands-on interface work, and the ability to contribute beyond the frontend without blurring team ownership.
What’s next
Cross-posting original events to other platforms is a planned capability, not a currently available feature. The longer-term vision is to make Shindig a two-way hub for discovering and distributing events. This case study and its video focus on the experience available today.
Like this project
Posted Sep 17, 2026
Co-founded Shindig; built nearly all frontend architecture, design, and implementation with KMP, plus substantial Node.js backend contributions.