Framer is a design and prototyping tool that lets coaches build interactive client portals, booking screens, and habit‑tracker apps without writing code. This guide walks you through the entire workflow, from initial setup to advanced patterns, so you can create functional prototypes that feel like real products.
Framer blends visual design with real React code. For coaches, this means you can design a session schedule and instantly add live data from a spreadsheet or API. The tool is built around three pillars:
Understanding these pillars helps you decide when to stay visual and when to dip into code.
Visit framer.com and sign up with Google or email. Choose the free plan to start; you can upgrade to Pro later for code export.
The desktop app runs on macOS 10.15+ and Windows 10+. Download from the website, install, and log in with the same credentials you used online. The app gives you offline access and faster rendering.
Coaches often store client data in Google Sheets. In Framer, go to Data → Add Source → Google Sheets, paste the sheet URL, and select the tab. Framer will create a live collection you can bind to components.
Use the following folder layout in the left panel:
Pages/ – Home, Dashboard, SessionDetail.Components/Coaching/ – SessionCard, ProgressBar, FeedbackForm.Data/ – clientSheet, sessionAPI.Start with a Frame (800 × 1200). Drag a Repeater component onto the canvas. Bind the repeater to clientSheet.sessions. Inside the repeater, add a SessionCard component that shows session title, date, and status.
Example binding code:
{session.title}
{new Date(session.date).toLocaleDateString()}
{session.completed ? "Done" : "Pending"}
Use the built‑in Link component. Place a Link on each SessionCard and set its destination to /session/[id]. Framer will generate a dynamic route automatically.
Drop a Form element. Add a TextField for “What went well?” and a Rating component. Connect the form’s onSubmit event to a custom function that POSTs to https://api.coachapp.com/feedback.
async function submitFeedback(values) {
await fetch('https://api.coachapp.com/feedback', {
method:'POST',
headers:{'Content-Type':'application/json'},
body:JSON.stringify(values)
});
}
Select a Frame, then click the Animate tab. Choose “Slide In” for entering and “Fade Out” for exiting. Set duration to 300 ms for a smooth feel.
Install the recharts library via the Code panel: npm i recharts. Then create a Chart component that reads from clientSheet.progress.
import {LineChart, Line, XAxis, YAxis, Tooltip} from 'recharts';
export default function ProgressChart({data}) {
return (
);
}
Use a simple boolean from the user object:
{user.isPremium ? : }
When ready, click Export → Code. Choose “React (Next.js)” for a full‑stack site. The bundle includes all pages, components, and a package.json. Deploy to Vercel or Netlify with a single click.
| Feature | Framer | Figma |
|---|---|---|
| Live code editing | Yes (React/TS) | No |
| Data binding | Google Sheets, Airtable, API | Plugins only |
| Export to HTML/React | Built‑in | Third‑party plugins |
| Interaction library | Pre‑made animations + custom | Prototype only |
| Pricing for hand‑off | $20/mo (Pro) | $12/mo (Professional) |
If a visual component can achieve the same result, keep it on the canvas. Code blocks increase load time and make collaboration harder.
When binding to a Google Sheet, enable “Auto‑Refresh” every 5 minutes. Otherwise the prototype will show stale client data.
Framer defaults to desktop size. Add a second Frame sized 375 × 812 (iPhone 14) and copy key components. Use the Show on toggle to hide desktop elements on mobile.
After exporting, run npm run dev locally. Check console for missing imports or TypeScript errors before uploading to a host.
Framer works on macOS, Windows and Linux. The desktop app is native for Mac and Windows; Linux users can run the web version in any modern browser.
Yes. Framer lets you export a prototype as a static HTML/CSS bundle. The export includes all interactions and can be hosted on any web server.
Only the Pro plan (US$20/mo) includes hand‑off features like code export, version history and private sharing. The free plan allows unlimited preview links but no code export.
Figma focuses on UI design and collaboration. Framer adds a visual code layer, allowing you to add real React components and complex animations without leaving the canvas.
Create a dedicated "Coaching" folder in the Assets panel. Inside, store reusable components like SessionCard, ProgressBar, and FeedbackForm. Use variants to handle states such as completed or pending.
With this guide you can move from sketch to a working prototype that you can share with clients or turn into a live app. Framer’s blend of visual tools and code gives coaches the flexibility to iterate quickly and deliver professional‑grade experiences.