01 / 04
On Your Radar
Codex is now on your phone
If you use the ChatGPT mobile app and Codex, you can now use Codex in the ChatGPT app while you're on the go. This is a feature Claude users have had for a little while so nice to see OpenAI keeping up.
Claude will work with OpenClaw again (but at what cost!)
Anthropic announced new pricing for people who want to use their Agents SDK for third-party tools like OpenClaw. This usage comes under a separate credit system. Judging by the comments on their announcement tweet, people are not happy.
Notion launches a developer platform
Notion just launched a developer platform that transforms workspaces into programmable AI agent hubs. The platform lets you sync external data, build custom tools, and bring coding agents like Claude and Codex directly into your workspace as teammates.
02 / 04
Deep Dive: How to migrate a Lovable project to Claude Code
Lovable is brilliant for getting from zero to working app in a weekend, but at some point you may decide you want to move your app to another platform.
Your side project starts working, you've got a few users, and you start to feel nervous. Your data sits in someone else's tenant. Your AI bill is opaque. The production security defaults are missing. The moment you want a real developer to touch the codebase, the friction starts.
The good news is that the code Lovable generates is real, modern TypeScript and React. You're not throwing your work away. You're just unplugging it from Lovable's services, one piece at a time, and moving onto a stack you actually own.
Lucky for you, we just went through the process using Claude Code, so we thought we'd share our learnings.
Why move off in the first place
- Control your data. Your database lives inside Lovable Cloud, which is effectively Lovable's own Supabase project. This makes basic things like querying your data difficult.
- Own your AI bill. Every AI call routes through Lovable's AI gateway with Lovable as the middleman. Move to more flexible option like OpenRouter and you'll see exact per-model spend, and you can switch between Gemini, Claude and GPT without changing accounts.
- Production-readiness. Lovable defaults skip important guardrails. Master database keys used in publicly-callable functions without ownership checks, in-memory rate limiters that don't survive serverless,
.envfiles that don't always get added to.gitignore. Fine for an MVP, a risk once real people use it. - Future hires. When you bring in an experienced developer (or a more capable agent), they expect git, tests, proper env handling, and a normal deploy story. None of that is in your way once you've moved.
The order to do things in
Migrate in the wrong order and you'll spend a frustrating evening with a half-broken app. The order we'd run:
- Push your Lovable code to your own GitHub repo.
- Install Claude Code and clone the repo locally.
- Lock down your secrets before anything else (see below).
- Audit the code with Claude to get a baseline.
- Set up your own Supabase project and migrate the database - Claude will have the schema and will guide you through the process.
- Swap Lovable's AI gateway for OpenRouter.
- Verify it works end-to-end before any refactoring.
- Remove the Cloudflare scaffolding template and switch to your platform of choice e.g. Vercel (Lovable seems to use Cloudflare under the hood).
- Fix the audit findings (tests, dependencies, RLS, rate limiter).
Most of these are Claude Code's job. You confirm and provide keys.
Lock down your secrets before anything else
There's a default in the Lovable starter worth knowing about. The file that contains your secret API keys etc, which is called .env, is not always added to the list of files, called .gitignore, which are not uploaded to Github.
This means the moment you push your repo to GitHub you've also pushed your API keys to anyone watching. If .env is already in your git history, every key in it has to be treated as compromised even if the repo is private (which it is by default). Generate fresh keys before you do anything else.
The second job is making sure Claude Code can't read your secrets either.
Claude is eager to read files it thinks are relevant, and the moment a key lands in a conversation it could potentially be leaked as it travels to and from Anthropic's servers.
The fix is a small file at .claude/settings.local.json that blocks both direct file reads and bash workarounds.
Tell Claude to set it up.
"Set up project-level deny permissions that prevent you reading the .env file. Allow .env.example to remain readable."
Test it by asking Claude to read .env. You should see "denied by your permission settings" for both the Read tool and cat. If either opens the file, the rule is wrong and worth fixing before you carry on.
A simple productivity win
This tip works for any Claude Code project. Ask Claude to create two files at the root of your project before doing anything else.
- CLAUDE.md is a short summary of what the app is, where things live, and how you want Claude to talk to you. Claude reads it at the start of every session. Make sure the file mentions where MEMORY.md is and that it should keep it updated.
- MEMORY.md is a running log of decisions, tradeoffs, and direction changes. Updated whenever something meaningful happens.
Without these, every new session starts from scratch. With them, you can open a fresh chat three months later, ask "what's in MEMORY.md?" and be back up to speed in thirty seconds.
The "about me" section at the top of CLAUDE.md is the bit that pays off most. Tell Claude you're non-technical and want plain English with everyday analogies. Tell it which folders not to touch. Tell it to always confirm before destructive changes. It will.
Tips and tricks worth knowing
- Never paste secrets into the Claude chat. Once a key is in the transcript, it's everywhere the transcript goes. Open
.envin a text editor app instead. You can even ask Claude to open the file for you - you edit, Claude never sees the value. - Use the Supabase MCP. Claude can talk to your database directly rather than you copy-pasting SQL into the dashboard. This is the single biggest workflow change of the whole migration.
- Subagents for audit steps. "Use 3 subagents to analyse this codebase and give me a simple report on the build quality and areas for improvement" is a one-line prompt that gets you a real roadmap.
- Anything prefixed
VITE_ends up in the browser. Get this wrong and you've shipped your master database key to every visitor.SUPABASE_SERVICE_ROLE_KEYandOPENROUTER_API_KEYare server-only, no prefix. - Playwright MCP for testing. This is another thing you can't do in Lovable. Once the migration is done, ask Claude to "Test the app via Playwright, sign up, use all features, fix anything that fails" is faster than poking through every page yourself.
Why it's worth a focused afternoon
After this move, your data is yours. Your AI bill is transparent. You can deploy as often as you want. You can hand the codebase to a real developer without apologising for it.
The trade is that nobody is holding your hand on dashboards or deploys anymore. That's what Claude Code is for.
03 / 04
Highlights from the Create With Slack Community ⭐️
Deborah launched AIBuilderRank.com just as Lovable rolled out their SEO update. Talk about perfect timing, even if it meant some quick rewording to keep everything current!
Mark celebrated a small win with 50 users of his chrome extension.
Kieran tested his vibe-coded networking game at a Tech for Good meetup with complete strangers. Eight people, everyone connected, selfies taken. Now he's planning to bring it to the Create With conference! 🎉
Join the Create With community
04 / 04
Final Thoughts
There are a million memes about vibe coders but we particularly enjoyed this one.
When vibe-coders explain what they actually do.

Written by
Kieran Ball
Co-founder, Create With

Written by
James Devonport
Co-founder, Create With
The Create With Briefing
Get the next edition first.
Real-life use cases, the tool changes that matter, and the best events near you. Free, every Tuesday, to 8,600+ readers.