Case studyMobile App
Tattooday
Three audiences - artists, organizers, and enthusiasts - had no common ground. We built them one app and shipped it to both stores.
- Year
- 2025
- Client
- Tattooday
- Services
- UX/UI Design · Mobile Development · Website Development
- Status
- Shipped - iOS & Android

01Brief
What we were asked
A social platform connecting tattoo artists, convention organizers, and enthusiasts — live on both App Store and Google Play.
02Challenge
Why it was hard
The tattoo industry had no unified digital platform where artists, convention organizers, and enthusiasts could connect meaningfully. Artists lacked a dedicated space to showcase portfolios and manage bookings beyond generic social media. Convention organizers had no streamlined tools for promotion, artist coordination, and RSVP management. Enthusiasts had no reliable way to discover artists by style, location, or specialization.
From an engineering standpoint, we faced a significant architectural challenge: building a platform that served three fundamentally different user types — each with distinct workflows, permissions, and data models — within a single cohesive mobile application. Performance-critical features like camera integration, high-resolution image processing, and real-time messaging required custom native modules that couldn't be achieved with standard React Native bridges alone.
03The Build
Scroll through the product
01Discover
Find your artist, not just an artist
Enthusiasts open the app to the artists working around them. Geolocation queries filter by style, distance, and specialization, so someone searching for fine line work in Calgary sees artists who can actually take the booking - not a generic feed.

02Showcase
A feed that treats tattoos like art
Portfolios load in high resolution with zoom that holds up to close inspection. Standard React Native bridges buckled under the image volume, so we wrote custom Swift and Kotlin modules for the camera and processing pipeline. Monthly contests with community voting keep the feed alive.

03Book
From scrolling to booked in one sheet
Booking lives right where the work does. Artists publish their availability with timezone support across North America, and clients grab a slot without leaving the post. No lost DMs, no back-and-forth.

04Connect
Messaging that keeps up
Direct messages ride on Firestore's real-time sync with read receipts - no polling, no pull-to-refresh. The same infrastructure powers live contest voting and keeps the feed current the moment something changes.

05Gather
Convention season, handled
Organizers get their own toolkit: event pages, RSVP tracking, and geographic targeting for promotion. When convention season spikes traffic, AWS Elastic Beanstalk scales out behind a load balancer and the app doesn't blink.

04Notes
How it runs
We architected and built Tattooday from the ground up using React Native with Expo as the foundation, supplemented by custom Kotlin modules for Android and Swift modules for iOS to handle camera access, image processing pipelines, and real-time features that demanded native-level performance.
The backend runs on Fastify with Node.js, chosen for its low overhead and high throughput — critical for handling concurrent image uploads and real-time messaging. Firebase Firestore serves as the primary database, providing real-time sync capabilities that power the social feed, direct messaging, and live contest voting without polling.
The app delivers portfolio showcasing with high-quality media and zoom capabilities, booking schedule management with timezone support across North America, location-based artist discovery using geolocation queries, direct messaging with read receipts, monthly artist contests with community voting and leaderboards, and comprehensive convention management tools including RSVP tracking and geographic event targeting.
We deployed on AWS Elastic Beanstalk behind a load balancer to handle traffic spikes during convention seasons when platform usage surges. The entire CI/CD pipeline was configured for automated builds and over-the-air updates via Expo, enabling rapid iteration without app store review delays.
Stack
05Outcome
Where it landed
- Platforms
- iOS + Android
- Live on both App Store and Google Play
- User Types
- 3
- Artists, organizers, and enthusiasts
- Core Screens
- 40+
- Complete app experience across all user flows
- Native Modules
- Custom
- Kotlin & Swift for camera and image processing
06Craft
The work behind the work
Before a single line of code: 40+ screens wireframed in Figma, a typography system built on Poppins, and complete user flows mapped for all three roles. Then the shipped result - the artist profile that reads like a portfolio, the monthly Top 10 ranking with its crown economy, and the show organizer's page.
Have a product like this in mind?
We plan, design, and ship - the whole story, start to finish.
Next project
1511 Paris
Luxury Artisan E-Commerce