clapointe-carbonleo moves Mike off Cloudflare and onto Vercel

A CarbonLeo team rehosts its Mike fork on a new platform, reskins it in-house, and rips out login to get there fast.

infrastructuresecurity

The headline change is a hosting move: this fork was built to run on Cloudflare, the network-and-hosting provider, and the team rewired it to run on Vercel, a rival platform popular with web teams. Files now stay on object storage while the app itself lives on Vercel. If you're weighing the same switch for your own Mike deployment, this is the most reusable part of the work.

The rest is house-specific. The interface got a full reskin in CarbonLeo's brand - dark backgrounds, an olive-gold accent - and the per-user API key settings were dropped. To stand the thing up quickly, the team also tore out login and access control wholesale; some real authentication was bolted back on later, but per-document and project-sharing permission checks are still stubbed out.

So what Worth a look if you're hosting your own Mike fork and considering a platform move - but treat this build as a demo, not something to put real client files in until the access controls are rebuilt.

View this fork on GitHub →

Spotted something wrong? Or know the PR text has fresher detail than the writeup above?

Commits in this thread

14 commits from clapointe-carbonleo/mike-legal, oldest first. Source extracted verbatim from the harvested git log.

SHA Subject Author Date
e6568f87 feat(mike): ic - remove auth - fix sql - all users 'internal' for now clapointe-carbonleo 2026-05-06 ↗ GitHub
a15cd5a1 update(UI): CarbonIQ design refactor clapointe-carbonleo 2026-05-06 ↗ GitHub
cbd47b90 Switch frontend from Cloudflare to Vercel clapointe-carbonleo 2026-05-06 ↗ GitHub
8796dfef Remove Cloudflare dependencies for Vercel deployment clapointe-carbonleo 2026-05-06 ↗ GitHub
af9f6107 Merge pull request #1 from clapointe-carbonleo/feat/CarbonIQ-imp clapointe-carbonleo 2026-05-06 ↗ GitHub
Feat/carbon iq imp
1b9a6630 Remove all Cloudflare and AWS SDK dependencies for Vercel clapointe-carbonleo 2026-05-06 ↗ GitHub
e4b92c1d Merge remote main, keep local package.json without AWS SDK clapointe-carbonleo 2026-05-06 ↗ GitHub
c79bdaef Remove package-lock.json to clear stale dependencies clapointe-carbonleo 2026-05-06 ↗ GitHub
0785addf Restore AWS SDK packages needed for R2 storage clapointe-carbonleo 2026-05-06 ↗ GitHub
0756a87d Fix CORS to allow production frontend URL clapointe-carbonleo 2026-05-06 ↗ GitHub
35fd7788 Configure backend as Vercel serverless function clapointe-carbonleo 2026-05-06 ↗ GitHub
c52c1648 Remove NEXT_PUBLIC API keys - hardcode availability instead clapointe-carbonleo 2026-05-06 ↗ GitHub
commit body
API keys must never be NEXT_PUBLIC_* (they end up in the browser bundle).
Model availability now hardcoded to 'configured' so all models show as available.
The backend uses its own server-side keys for actual API calls.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
333172e1 feat(git): add vercel to gitignore clapointe-carbonleo 2026-05-06 ↗ GitHub
17605a51 Fix CORS: allow mike-legal-three.vercel.app clapointe-carbonleo 2026-05-07 ↗ GitHub

Capture this thread into my fork

Download a single Markdown prompt that tells Claude how to port every commit above into your working tree — adapting paths and structure to match your repo. Run it via claude -p < capture-thread-278.md from inside the repo you want the changes in.

⬇ Download capture-thread-278.md