What Framer publishes is ordinary HTML, CSS and a little JavaScript, and an agent can write a fast static version of a portfolio or landing page in an afternoon. What it can't give you is the tool: the drag-and-drop canvas, the CMS that people who don't code can edit, the animation editor and the hosting with analytics, A/B tests and localization. If you are the only editor and are happy in a code editor, rebuilding as an Astro project is a weekend of mostly design polish. If a designer or marketer edits the site, keep Framer.
Before you buildFramer Free keeps one site online on a Framer address. If you don't need your own domain yet, you may not need to pay or build anything.
Build me a personal website to replace Framer. Requirements: - Astro 5 + TypeScript + Tailwind CSS 4, static output only. `npm run dev` serves http://localhost:4321; `npm run build` writes the finished site to ./dist. - Pages are assembled from section components in src/components/sections/: Hero, FeatureGrid, ProjectGallery, Testimonials, PricingTable, Faq and ContactBlock. A page is one .astro file that lists its sections and passes each one props. - Content never lives inside components. Blog posts and projects are Markdown in src/content/ (Astro content collections with Zod schemas); nav links, social links, fonts and colours come from src/data/site.yaml. - Design tokens (colours, spacing, type scale, radii) are CSS variables in one global stylesheet. Ship a light and a dark theme with a toggle that remembers the choice. - Motion: CSS scroll-driven animations and view transitions for reveals. Use the `motion` package only inside one small hero island. Keep the home page under 100 KB of JavaScript and turn every animation off under prefers-reduced-motion. - SEO and images: `@astrojs/sitemap`, an RSS feed for the blog, canonical URLs and an Open Graph image per page generated at build time with `satori`; images go through `astro:assets` with explicit width and height and AVIF/WebP output. - Contact: a mailto link by default; when CONTACT_ENDPOINT is set in .env, POST the form there, with a honeypot field. No accounts, no telemetry, no third-party scripts. - Out of scope: a visual editor, a CMS admin screen, A/B tests, translations. - Done when `astro check` passes and Lighthouse scores 95+ for performance and accessibility on the built home page, mobile profile. - README: adding a page, a post and a project, and deploying ./dist to Cloudflare Pages, Netlify or GitHub Pages.
Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Framer.
Rebuild an existing website inside the Astro project in this folder. Requirements: - Read page URLs from pages.txt, one per line, from my live Framer site. - For each URL, fetch the HTML, pull out headings, copy and image URLs, download the images into src/assets/ keeping their alt text, and write a page that reuses the existing sections. - If a layout fits no section, add a new section component and list it in the report. - Keep every URL path identical; write a _redirects file for any path that has to change. - Print a report: pages done, images downloaded, anything not converted. - Update the README.
Add a browser editor for content to the Astro project in this folder. Requirements: - Use Keystatic in local mode (`@keystatic/astro`), served at /keystatic only by `npm run dev` and excluded from the production build. - Define the blog and projects collections to match the existing Zod schemas, with image fields writing into src/assets/. - Edits are written to the Markdown files so git shows every change. - Out of scope: GitHub mode and any hosted login. - Update the README.
Add a second language to the Astro site in this folder. Requirements: - Use Astro's built-in i18n routing: the default language at /, the second under /<code>/; set both codes in site.yaml. - Translations live in src/i18n/<code>.yaml; blog posts get a translated Markdown file next to the original with the same slug. - A language switcher that links to the same page in the other language, hreflang tags and sitemap alternates. - `npm run i18n:check` lists missing keys and untranslated posts; missing keys fall back to the default language. - Update the README.
Designers pay for the canvas: they ship a polished site without a developer and can change it in minutes afterwards. Marketing teams add the CMS, localization and testing on top, and hosting comes bundled, so there is no pipeline to maintain.
Estimate · A static site on a free host costs nothing; a domain adds about $1 to $2 a month if you don't own one. The build is token usage on your agent plan.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Free | $0 | $0 | Framer-hosted address, 1 GB bandwidth, 500 AI credits to try. |
| Basic | $15 | $10 | 30 pages, 2 CMS collections and 1,000 CMS items, 50 GB bandwidth, 20 hosting locations, 30 days of analytics, custom domain, 1,000 AI credits a month. |
| Pro | $45 | $30 | 150 pages, 10 CMS collections and 2,500 items, 100 GB bandwidth, 300+ hosting locations, 90 days of analytics, redirects, staging and branching, 3,000 AI credits a month. |
| Enterprise | custom | — | Custom limits, unlimited editors, SSO, SCIM, uptime guarantee and security review. |
Free keeps a site on a Framer address with 1 GB of bandwidth and 500 AI credits to try; no custom domain.
Kinda. The core is a weekend build with the prompt on this page, but real gaps remain: The visual canvas: every change becomes a file edit and a rebuild, A CMS that non-developers can edit in the browser.
About $15 a month on the Basic plan, $180 a year (checked 2026-10-14).
The visual canvas: every change becomes a file edit and a rebuild; A CMS that non-developers can edit in the browser; Animations and scroll effects drawn on the page instead of coded; Built-in A/B testing, localization and analytics; Branching, comments and live collaboration with a team; Hosting with a global CDN and a staging environment, with nothing to deploy. If any of those matter to you, keep paying.
Yes: Webstudio (open source), Puck (open source), GrapesJS (open source).