Web AppsTwillink
Twillink
Link in Bio
A modern link-in-bio platform that lets creators and professionals consolidate all their important links into a single, beautifully customizable page—making it easy for audiences to discover and connect across every platform.
- Live
- twillink.com
- Built with
- TanStack Start · Tailwind CSS · Prisma ORM · PostgreSQL

Case study
Twillink is a link-in-bio SaaS where a creator's entire online presence lives behind a single URL. I worked across the stack: the public profile pages that audiences land on, the editor that creators live in, and the multi-tenant data layer underneath both.
- Role
- Full-stack Engineer
- Timeline
- 2024 - Present
01
The problem
A link-in-bio page is opened from a social bio on a phone, usually on a slow connection, and it gets exactly one chance to load before the visitor taps back. That constraint shaped every decision on this project.
- Creators scatter their presence across Instagram, TikTok, YouTube, and a shop - audiences lose the thread and creators lose the click.
- Most existing tools force users into rigid templates, or lock real customization behind a paid tier.
- Public profile pages rendered purely on the client are invisible to search engines, so creators get no organic discovery from their own page.
- Every creator page is public and served from shared infrastructure, so a single slow query on one profile degrades the experience for everyone.
02
The solution
01
Server-rendered profiles
Public /username pages are server-rendered through TanStack Start so they paint fast on mobile networks and are fully crawlable, turning each profile into an indexable landing page instead of an empty SPA shell.
02
Live-preview page builder
Creators reorder, rename, and restyle blocks with instant optimistic feedback - the preview reflects the change immediately while the write is reconciled in the background.
03
Multi-tenant data model
Users, pages, blocks, and themes are modeled in PostgreSQL through Prisma, with handle lookups indexed so resolving a profile stays a single fast query no matter how many tenants exist.
04
Non-blocking click analytics
Link clicks are recorded on a path that never delays the redirect, so creators get per-link insight without the visitor ever paying for the tracking.
05
Themes as design tokens
Customization is expressed as Tailwind-driven tokens rather than one-off templates, so a new theme ships as a token set and cannot break a creator's layout.
06
Performance as a budget
Query optimization, database indexing, and systematic refactoring were treated as recurring work rather than a one-time pass, keeping response times flat as the feature set grew.
03
Results & impact
- Faster API responses
- 35%
- Improved API response times by 35% through query optimization, database indexing, and systematic refactoring.
- Profile pages are server-rendered and crawlable, so creators gain organic discovery from a page that used to be invisible to search.
- Editing feels instant: the builder applies changes optimistically and reconciles them in the background, removing the save-and-wait loop entirely.
- New themes ship as token sets rather than bespoke templates, cutting the cost of every future customization option.
04
Tech stack
Frontend
- TanStack Start
- Tailwind CSS
Data
- Prisma ORM
- PostgreSQL
05
Lessons learned
- Rendering strategy is a product decision, not an implementation detail. Choosing server rendering for public profiles was what made creator pages discoverable - no amount of frontend polish would have replaced it.
- Optimistic UI is worth the reconciliation complexity in an editor. Users judge a builder by how fast it feels, and a background write that occasionally needs to roll back beats a spinner on every change.
- Indexing the access path that actually runs in production - handle lookup - mattered far more than broad optimization. Measuring first is what produced the 35%, not guessing.