Inkline: a micro-SaaS tool for tattoo studios
Inkline: a micro-SaaS tool for tattoo studios
Streamlining queue management for tattoo studio flash sale events
Streamlining queue management for tattoo studio flash sale events



Industry
B2B SaaS
B2B SaaS
Skills
Design Engineering
Design Engineering
Product Strategy
Product Strategy
Cursor, Figma MCP, Supabase & Vercel
Cursor, Figma MCP, Supabase & Vercel
Team
Carolyn Tung (Design & Development)
Carolyn Tung (Design & Development)
Allison Chu (Marketing)
Allison Chu (Marketing)
Sean Pak (User Research)
Sean Pak (User Research)
Timeline
Sep - Dec 2024
Sep - Dec 2024
MY ROLE
Context
Context
In this project I took a micro-SaaS app from idea to deployed product. I designed the experience, built the system, and shipped the code. I also developed a business model and generated MRR through social media marketing with the help of an intern. By wearing multiple hats, I simultaneously approached this project like a designer, engineer, and founder.
Our goal was to validate market demand, ship a working MVP fast, and design an experience studios can trust on event day.
In this project I took a micro-SaaS app from idea to deployed product. I designed the experience, built the system, and shipped the code. I also developed a business model and generated MRR through social media marketing with the help of an intern. By wearing multiple hats, I simultaneously approached this project like a designer, engineer, and founder.
Our goal was to validate market demand, ship a working MVP fast, and design an experience studios can trust on event day.
INKLINE
IMPACT
Outcomes (Shipped 2025)
Outcomes (Shipped 2025)
What I Delivered
A shipped micro-SaaS app built from 0 → 1
A validated problem with strong early-market validation
A reliable queue system with SMS notifications
A landing page + early go-to-market test funnel
What I Delivered
A shipped micro-SaaS app built from 0 → 1
A validated problem with strong early-market validation
A reliable queue system with SMS notifications
A landing page + early go-to-market test funnel
Solution
Tattoo artists gain an organized queue they can rely on
Clients avoid long waits and know exactly when they’re up
Solution
Tattoo artists gain an organized queue they can rely on
Clients avoid long waits and know exactly when they’re up


EARLY VALIDATION & RESEARCH
Tattoo flash events are chaotic to manage and leave customers frustrated.
Tattoo flash events are chaotic to manage and leave customers frustrated.
Through landscape research, I identified a market opportunity in the tattoo studio industry by collecting feedback in online forums. We discovered that a variety of challenges emerge during tattoo flash events: revenue loss due to drop-off rates due to frustrated customers waiting in line. Sean also conducted customer discovery with local tattoo artists and identified early interest. We built Inkline, a queue management tool designed for tattoo studios hosting high-volume events, to solve this problem.
Props is a gamified community-building and reward platform for social groups, charities, and businesses. It aims to incentivize users to join communities and win “props” by participating in their events.
Over 12 weeks, we partnered with Props to reduce first-session drop-off and increase Day 1-7 retention for Props’ gamified event platform. We focused on (a) clarity of the core reward loop, (b) navigation and information architecture, and (c) early momentum drivers.
"Flash days are great for exposure, but the line management and no‑shows make the whole day feel chaotic instead of profitable."
— TATTOO ARTIST
“I waited in line for hours, and when it was finally my turn they were rushing so hard...”
— CUSTOMER
“There’s only so many tattoos we can safely do in a day.”
— TATTOO ARTIST
OUR APPROACH
Defining MVP Scope
Defining MVP Scope
Before designing anything, I created a PRD with User Stories and Jobs to be Done for tattoo studio owners, tattoo studio staff, and customers. I also outlined requirements, constraints, assumptions, and edge cases to approach designing the app with intention. This step aligned my design and engineering decisions around a single source of truth.
Before designing anything, I created a PRD with User Stories and Jobs to be Done for tattoo studio owners, tattoo studio staff, and customers. I also outlined requirements, constraints, assumptions, and edge cases to approach designing the app with intention. This step aligned my design and engineering decisions around a single source of truth.
Architecture:
Supabase for auth, database, policies, and serverless functions
Next.js + Vite
Twilio for SMS notifications
Vercel for hosting
Architecture:
Supabase for auth, database, policies, and serverless functions
Next.js + Vite
Twilio for SMS notifications
Vercel for hosting




BUILD
01—Prototyping
01—Prototyping
I started by generating a quick-and-dirty prototype in Lovable that covered key user flows based on the PRD, then cloned it in Cursor.
I started by generating a quick-and-dirty prototype in Lovable that covered key user flows based on the PRD, then cloned it in Cursor.
BUILD
02—Functional Build
02—Functional Build
I then built the app in Cursor, implementing the core functionality, structuring it around real database schemas, and integrating Twilio for SMS notifications.
I then built the app in Cursor, implementing the core functionality, structuring it around real database schemas, and integrating Twilio for SMS notifications.



DESIGN
03—High-Fidelity Design & Branding
03—High-Fidelity Design & Branding
After core functionality was established, I redesigned the entire frontend using Figma MCP:
Created a design system and defined tokens for spacing, color, typography, etc.
Designed branding to distinguish the marketing site and app from generic AI-generated SaaS tools
After core functionality was established, I redesigned the entire frontend using Figma MCP:
Created a design system and defined tokens for spacing, color, typography, etc.
Designed branding to distinguish the marketing site and app from generic AI-generated SaaS tools






TESTING & QA
Making sure the experience accounted for edge cases
Making sure the experience accounted for edge cases
I manually QA’d the entire system:
Empty states
Invalid phone numbers
Re-joining queue
I manually QA’d the entire system:
Empty states
Invalid phone numbers
Re-joining queue
Skipping users
SMS delivery
Staff refresh scenarios
Queue reorder logic
Skipping users
SMS delivery
Staff refresh scenarios
Queue reorder logic
I also used SQL queries to validate real data and ensure accurate system behavior.
I also used SQL queries to validate real data and ensure accurate system behavior.
LAUNCH
Testing market demand after launch
Testing market demand after launch
To test market demand, my intern and I:
Designed a landing page
Set up tracking and conversion goals
Designed and ran Instagram ads targeted at tattoo studios
Measured impressions → clicks → signups
Early results confirmed the same demand patterns surfaced in community research.
To test market demand, my intern and I:
Designed a landing page
Set up tracking and conversion goals
Designed and ran Instagram ads targeted at tattoo studios
Measured impressions → clicks → signups
Early results confirmed the same demand patterns surfaced in community research.






Key Takeaways
Building this micro-SaaS app strengthened my confidence as a design engineer across four areas:
Building this micro-SaaS app strengthened my confidence as a design engineer across four areas:
Design Engineering
By shipping an app with Cursor and Vercel, I built strong mental models of how full-stack systems behave.
By shipping an app with Cursor and Vercel, I built strong mental models of how full-stack systems behave.
Learned relational databases + SQL using Supabase and how schemas shape product constraints
Improved communication with developers by understanding how architecture impacts UX
Learned relational databases + SQL using Supabase and how schemas shape product constraints
Improved communication with developers by understanding how architecture impacts UX
Developer Handoff
Using Figma Dev Mode and Figma MCP helped me see handoff from the engineer’s perspective. Extracting spacing, alignment, and design tokens helped me understand how to design experiences that ship.
Moving between design and development also helped me recognize the limitations of current design handoff tools and where designers can pitch in to provide maximum clarity for engineers.
Using Figma Dev Mode and Figma MCP helped me see handoff from the engineer’s perspective. Extracting spacing, alignment, and design tokens helped me understand how to design experiences that ship.
Moving between design and development also helped me recognize the limitations of current design handoff tools and where designers can pitch in to provide maximum clarity for engineers.
Product Thinking
By wearing multiple hats, I strengthened my ability to think like a product owner.
By wearing multiple hats, I strengthened my ability to think like a product owner.
Integrated PRDs, user stories, and jobs to be done into my design workflow
Learned to define requirements, constraints, and success metrics before designing
Became more systematic and aligned with engineering and business goals
Integrated PRDs, user stories, and jobs to be done into my design workflow
Learned to define requirements, constraints, and success metrics before designing
Became more systematic and aligned with engineering and business goals
Testing
I now proactively design for edge cases by anticipating failure modes early and designing resilient experiences.
I now proactively design for edge cases by anticipating failure modes early and designing resilient experiences.
Conducted QA testing for edge cases, empty states, and data-dependent flows
Stress-tested authentication, submission logic, and database behavior
Conducted QA testing for edge cases, empty states, and data-dependent flows
Stress-tested authentication, submission logic, and database behavior