Framer is a design‑to‑code platform that lets indie hackers turn ideas into interactive prototypes fast. This guide walks you through Framer’s core concepts, setup steps, everyday workflows, advanced patterns, and the mistakes most newcomers make. Follow the sections below to build a launch‑ready UI without hiring a front‑end team.
Framer blends visual design with React‑based code. Think of it as three layers:
Indie hackers benefit from rapid iteration. You can test a UI in minutes, gather user feedback, and then add real data connections without leaving the platform.
Go to framer.com and sign up with Google or email. The free tier allows unlimited projects, but publishing is limited to yourproject.framer.app.
| Plan | Price | Key Limits |
|---|---|---|
| Free | $0 | Custom domains: No; Team seats: 1; Export: Static only |
| Pro | $25/mo per seat | Custom domains, unlimited collaborators, premium components, API access |
| Enterprise | Contact sales | SSO, dedicated support, on‑prem hosting |
The desktop client syncs offline changes. Download from the account dashboard, install, and log in with the same credentials.
Section component onto the canvas.Heading, Paragraph, and Button components.Link property to /signup.Framer supports fetch calls directly in the code editor. Example:
import { useEffect, useState } from "react";
export default function GuestList() {
const [guests, setGuests] = useState([]);
useEffect(() => {
fetch("https://xyz.supabase.co/rest/v1/guests", {
headers: { apikey: "YOUR_PUBLIC_KEY" }
})
.then(r=>r.json())
.then(setGuests);
}, []);
return (
<ul>{guests.map(g=><li key={g.id}>{g.name}</li>)}</ul>
);
}
Paste this into a Code Component and drop it onto the canvas.
Click a component, choose Interactions, then select On Click → Navigate or On Hover → Animate. Framer automatically generates CSS keyframes, so you can preview on desktop and mobile instantly.
Framer Marketplace offers ready‑made UI kits. The “Indie Starter Kit” includes a pricing table, testimonial carousel, and sign‑up modal. Install it, then customize colors to match your brand.
Use React’s conditional logic inside a Code Component:
{isLoggedIn ? <Dashboard /> : <LoginForm />}
This lets you toggle between states without re‑loading the page.
Export your project as a Next.js app (Pro plan). Connect the GitHub repo to Vercel, set the build command to npm run build, and deploy. You get fast SSR and automatic CDN.
Add a global state:
import { useState } from "react";
export const ThemeContext = React.createContext();
export function ThemeProvider({children}) {
const [mode, setMode] = useState("light");
return (
<ThemeContext.Provider value={{mode, setMode}}>
{children}
</ThemeContext.Provider>
);
}
Wrap your root component, then read mode to switch CSS variables.
Framer’s canvas defaults to desktop width. Use the “Device” dropdown to design for 375 px (mobile). Apply flex or grid containers to ensure elements adapt.
Upload images under 500 KB, use WebP, and enable “Lazy Load” in project settings. This cuts load time from 4 s to under 2 s on 3G.
Free projects cannot use custom domains, which hurts credibility. Upgrade to Pro before you start marketing.
Open the “Page Settings” panel. Fill title, description, and og:image. Search engines index these fields.
Store keys in Framer’s Environment Variables (Project Settings → Secrets). Reference them with process.env.MY_KEY to keep them out of the client bundle.
No. Framer offers a visual editor that works without code. However, learning basic React helps when you need custom components.
Yes. Framer provides export options for static sites and a built‑in publishing feature that lets you map a custom domain.
Free includes unlimited projects but limits publishing to framer.app subdomains. Pro costs $25/month per seat and adds custom domains, team collaboration, and premium components.
Framer excels at front‑end UI and prototyping. For full‑stack logic you’ll still need a backend (e.g., Supabase, Firebase) and integrate via APIs.
Compress images before upload, use WebP format, and enable Framer’s lazy‑load option in project settings.
Framer can turn a sketch into a live site in hours. Follow this guide, avoid the pitfalls, and you’ll have a polished front‑end ready for users and investors. Happy hacking!