| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- export type Example = {
- slug: string;
- title: string;
- description: string;
- tags: string[];
- githubPath: string;
- demoUrl?: string;
- };
- const GITHUB_BASE =
- "https://github.com/vercel-labs/json-render/tree/main/examples";
- export const examples: Example[] = [
- {
- slug: "chat",
- title: "Chat",
- description:
- "AI chat app with tool calling, streaming UI, and rich components powered by the AI SDK.",
- tags: ["React", "Next.js", "AI"],
- githubPath: "examples/chat",
- demoUrl: "https://chat-demo.json-render.dev",
- },
- {
- slug: "dashboard",
- title: "Dashboard",
- description:
- "AI-generated dashboard with drag-and-drop, charts, and real-time data binding.",
- tags: ["React", "Next.js", "AI"],
- githubPath: "examples/dashboard",
- demoUrl: "https://dashboard-demo.json-render.dev",
- },
- {
- slug: "no-ai",
- title: "No AI",
- description:
- "Static specs rendered without any AI — forms, cards, tables, and more from hardcoded JSON.",
- tags: ["React", "Next.js"],
- githubPath: "examples/no-ai",
- demoUrl: "https://no-ai-demo.json-render.dev",
- },
- {
- slug: "svelte",
- title: "Svelte",
- description:
- "Svelte renderer demo with counter, todo list, and two-way data binding.",
- tags: ["Svelte", "Vite"],
- githubPath: "examples/svelte",
- demoUrl: "https://svelte-demo.json-render.dev",
- },
- {
- slug: "svelte-chat",
- title: "Svelte Chat",
- description: "AI chat app built with SvelteKit and the Svelte renderer.",
- tags: ["Svelte", "SvelteKit", "AI"],
- githubPath: "examples/svelte-chat",
- demoUrl: "https://json-render-svelte-chat-demo.labs.vercel.dev",
- },
- {
- slug: "vue",
- title: "Vue",
- description:
- "Vue renderer demo with counter, todo list, and two-way data binding.",
- tags: ["Vue", "Vite"],
- githubPath: "examples/vue",
- demoUrl: "https://vue-demo.json-render.dev",
- },
- {
- slug: "solid",
- title: "Solid",
- description:
- "Solid renderer demo with counter, todo list, and two-way data binding.",
- tags: ["Solid", "Vite"],
- githubPath: "examples/solid",
- demoUrl: "https://solid-demo.json-render.dev",
- },
- {
- slug: "vite-renderers",
- title: "Multi-Framework Renderers",
- description:
- "Same spec rendered with React, Vue, Svelte, and Solid side by side — hot-swappable at runtime.",
- tags: ["React", "Vue", "Svelte", "Solid", "Vite"],
- githubPath: "examples/vite-renderers",
- },
- {
- slug: "react-email",
- title: "React Email",
- description:
- "Generate HTML and plain-text emails from json-render specs using React Email.",
- tags: ["React", "Email"],
- githubPath: "examples/react-email",
- demoUrl: "https://react-email-demo.json-render.dev",
- },
- {
- slug: "react-pdf",
- title: "React PDF",
- description:
- "Generate PDF documents from json-render specs with @react-pdf/renderer.",
- tags: ["React", "PDF"],
- githubPath: "examples/react-pdf",
- demoUrl: "https://react-pdf-demo.json-render.dev",
- },
- {
- slug: "react-three-fiber",
- title: "React Three Fiber",
- description:
- "3D scenes generated from json-render specs using Three.js and React Three Fiber.",
- tags: ["React", "3D"],
- githubPath: "examples/react-three-fiber",
- demoUrl: "https://react-three-fiber-demo.json-render.dev",
- },
- {
- slug: "react-native",
- title: "React Native",
- description:
- "Mobile app rendering json-render specs with Expo and React Native.",
- tags: ["React Native", "Expo"],
- githubPath: "examples/react-native",
- },
- {
- slug: "remotion",
- title: "Remotion",
- description: "Generate videos from json-render specs using Remotion.",
- tags: ["React", "Video"],
- githubPath: "examples/remotion",
- demoUrl: "https://remotion-demo.json-render.dev",
- },
- {
- slug: "image",
- title: "Image",
- description:
- "Generate OG images and social cards from json-render specs using Satori.",
- tags: ["React", "Image"],
- githubPath: "examples/image",
- demoUrl: "https://image-demo.json-render.dev",
- },
- {
- slug: "mcp",
- title: "MCP App",
- description:
- "MCP server that serves shadcn UIs to Claude, ChatGPT, Cursor, and VS Code.",
- tags: ["React", "MCP", "Vite"],
- githubPath: "examples/mcp",
- },
- ];
- export const allTags = Array.from(
- new Set(examples.flatMap((e) => e.tags)),
- ).sort();
- export function getGitHubUrl(example: Example): string {
- return `${GITHUB_BASE}/${example.slug}`;
- }
|