
Tony Spiro
April 10, 2026

Remix is one of the best full-stack React frameworks available today. Its nested routing model, loader functions, and server-first philosophy make it a natural fit for a headless CMS architecture — and Cosmic is the CMS that fits that model best.
In this tutorial, you'll build a Remix app connected to Cosmic, fetch content in loader functions using the TypeScript SDK, render it in routes, and deploy to Vercel or Netlify.
Target keyword: Remix headless CMS tutorial
Prerequisites
- Node.js 18+
- A free Cosmic account (sign up here)
- Basic familiarity with React and TypeScript
Step 1: Create a Remix App
Scaffold a new Remix project:
Choose the defaults when prompted. Remix will scaffold a full project with TypeScript support out of the box.
Start the dev server to confirm everything works:
You should see the default Remix welcome page at .
Step 2: Install the Cosmic TypeScript SDK
Install the official Cosmic SDK:
This gives you — the fully typed client you'll use to fetch content from your Cosmic bucket.
Step 3: Set Up Your Cosmic Bucket
- Log in to Cosmic and create a new bucket (or use an existing one).
- Create an Object Type called with these metafields:
- (text)
- (markdown)
- (date)
- (textarea)
- Add a few test blog post objects.
- Navigate to Settings > API Keys in your bucket and copy your Bucket Slug and Read Key.
Step 4: Configure Environment Variables
Create a file in your project root:
Remix reads files automatically in development. For production, you'll set these in your hosting provider's dashboard.
Step 5: Create a Cosmic Client Module
Create a reusable client so you don't repeat the initialization in every route:
The suffix tells Remix to never bundle this file for the client — keeping your API keys server-side only.
Step 6: Fetch Content in a Loader Function
Now create a blog index route that fetches all posts:
Step 7: Fetch a Single Post
Now create the individual blog post route:
Step 8: Handle Errors Gracefully
Remix has built-in error boundaries. Add one to your root or route file:
Step 9: Deploy to Vercel
Vercel has first-class Remix support. Install the Vercel CLI and deploy:
Follow the prompts. When asked about the framework, select Remix.
Then add your environment variables in the Vercel dashboard under Settings > Environment Variables:
Redeploy to pick up the variables:
Deploy to Netlify (Alternative)
If you prefer Netlify:
Add your environment variables in the Netlify dashboard under Site Settings > Environment Variables, then trigger a new deploy.
What's Next
You now have a fully functional Remix app powered by Cosmic. From here you can:
- Add more Object Types (products, team members, case studies)
- Use Cosmic's AI Agents to auto-generate blog content
- Connect the Cosmic MCP Server to your AI toolchain
- Use the Cosmic CLI to manage content models from the terminal
Pricing
Cosmic's Free plan is forever free — no credit card required.
| Plan | Price | Objects |
|---|---|---|
| Free | $0/month | 1,000 |
| Builder | $49/month | 5,000 |
| Team | $299/month | 20,000 |
| Business | $499/month | 50,000 |
Additional users are $29/user/month on any plan.
Related Resources
Ready to build? Sign up free — no credit card required. Or book a demo with Tony to get a guided walkthrough.
Continue Learning
Ready to get started?
Build your next project with Cosmic and start creating content faster.
No credit card required • 75,000+ developers



