Purr4Furr

About the project

Purr4Furr began with a simple question: what would a furry social app feel like if it were designed as a polished iOS experience instead of a generic dating interface? The project combines profile discovery, likes, matches, chat, onboarding, and a maker-focused marketplace for fursuits and accessories.

The marketplace was inspired by the way fursuit commissions actually work. A full suit can take months and comes from an individual maker, while smaller care items can ship right away. Instead of presenting every listing as ordinary retail, Purr4Furr shows makers, commission availability, lead times, and a cart that separates in-stock items from made-to-order commissions.

How we built it

Purr4Furr is a native SwiftUI app for iOS 17 and later. The app uses NavigationStack, TabView, and SwiftUI's Observation system to keep feature state focused and lightweight. Supabase powers authentication and profile storage; social interactions and marketplace checkout are intentionally local demo flows so no payment data is collected.

We built a reusable visual system around semantic colors, shared card surfaces, selection chips, press feedback, and Liquid Glass enhancements on supported iOS versions with safe fallbacks on earlier versions. The Shop tab uses real fursuit artwork already in the project for wearable listings. Accessories use clean, flat studio cards rather than unrelated fursuit photos or decorative gradients.

The cart models each line as the product plus its selected options. That means a medium Arctic suit and a large Arctic suit remain separate items instead of silently overwriting each other. Prices use Decimal, and tax is calculated from an exact decimal ratio before being rounded to cents:

What we learned

Building Purr4Furr taught us that a platform rewrite is more than translating screens. SwiftUI's state model makes it natural to keep each feature small and observable, but a consistent component system matters just as much when a new feature such as Shop joins the rest of the app.

We also learned to treat marketplace details as product behavior, not decoration. Variant-aware cart identity, realistic commission lead times, and clear fulfillment groups make the experience understandable before any payment system exists. On the security side, the iOS app uses only Supabase's publishable anon key; privileged service credentials stay out of the client and out of source control.

Challenges

The hardest UI challenge was making a commerce surface feel at home beside the social features. We resolved that by reusing the same spacing, typography, card, header, and motion patterns instead of introducing a separate storefront design.

The largest data challenge was cart correctness. Products with selected sizes, fur types, and colorways need a stable composite identity, and money needs decimal-safe arithmetic. We also had to present a mixed cart honestly: a $18 brush shipping soon should not appear to arrive on the same schedule as a made-to-order suit.

Built With

Share this project:

Updates

Submission history