How I Built My Link-in-Bio with Vite, React & Framer Motion

How I Built My Link-in-Bio with Vite, React & Framer Motion

Here’s the process of creating my animated link-in-bio using Vite, React, Tailwind CSS, and Framer Motion.

I wanted a minimal, animated link-in-bio that I could easily host and update myself — without relying on third-party services.

Here’s my process, tools, and what I learned along the way.


My workspace on the go

How I Built It — Step by Step

Here’s the exact process I followed to build this link-in-bio page:

1. Installed the environment

First, I set up a new Vite + React project:

npm create vite@latest link-in-bio -- --template react
cd link-in-bio

Then added my main dependencies:

npm install tailwindcss postcss autoprefixer framer-motion
npx tailwindcss init -p

And configured Tailwind in tailwind.config.js + index.css.

2. Created the core components

Next, I broke the UI into small pieces:

Each component was styled with Tailwind utility classes.

3. Integrated animations with Framer Motion

I used Framer Motion for smooth interactions: • Added motion.a to each link so they scale on hover. • Wrapped the entire layout in a motion.div to add a fade-in on page load.

4. Added a Dark Mode Toggle

I created a simple ToggleDarkMode.jsx:

Wrapped everything for a subtle effect

Finally, I wrapped the main layout in a motion.div so that:

This subtle polish made the app feel more dynamic and fun to use.


Why I Built It Myself

Most link-in-bio tools look the same and charge a subscription.
I decided to build my own because:


Tech Stack

Here’s what I chose for the project:


What I Learned