Skip to content
codexa

Landing pages · React

Interview podcast

Dark landing page for a weekly interview podcast with recent episodes, hosts, listener quotes and a guest pitch form.

Interview podcast starter, as built from its own files
Starter screenshot captured from this template's own build at 1440×900. It shows the template as it ships, not output generated from a prompt.

What you get

A home for a weekly interview podcast: a bold centred hero, show numbers, recent episodes with running times, what makes the show different, the hosts, listener quotes, an FAQ and a form for guest pitches. All content lives in src/site.ts.

Files

Exactly what is copied into a new project: 13 files, nothing generated.

Raw data: GET /api/v1/templates/landing-podcast

src/site.ts
src/site.ts
import type { Site } from "./types"; /** Everything this site shows. Edit freely. */export const site: Site = {  "brand": "Second Shift",  "nav": [    {      "label": "Episodes",      "href": "#episodes"    },    {      "label": "Hosts",      "href": "#hosts"    },    {      "label": "Be a guest",      "href": "#contact"    }  ],  "navCta": {    "label": "Listen now",    "href": "#episodes"  },  "sections": [    {      "kind": "hero",      "variant": "center",      "eyebrow": "A weekly podcast · New episodes every Tuesday",      "title": "Career changes after 35, with the real numbers.",      "text": "Air traffic controller to furniture maker. Lawyer to midwife. Every week, one honest conversation about the money, the doubt and the first year.",      "primary": {        "label": "Listen to the latest",        "href": "#episodes"      },      "secondary": {        "label": "Pitch your story",        "href": "#contact"      },      "visual": {        "type": "tiles",        "tones": [          "#9a3412",          "#44403c",          "#7c2d12",          "#292524"        ],        "caption": "Recording episode 112, Bristol"      }    },    {      "kind": "stats",      "items": [        {          "value": "112",          "label": "Episodes"        },        {          "value": "48 min",          "label": "Average length"        },        {          "value": "21,000",          "label": "Weekly listeners"        },        {          "value": "100%",          "label": "Transcribed"        }      ]    },    {      "kind": "timeline",      "id": "episodes",      "eyebrow": "Recent episodes",      "title": "Start with one of these",      "items": [        {          "period": "Ep 112 · 52 min",          "title": "From the control tower to the workshop",          "text": "Gareth spent 19 years in air traffic control. Now he builds chairs, and earns about half as much."        },        {          "period": "Ep 111 · 44 min",          "title": "Leaving law to deliver babies",          "text": "Nadia retrained as a midwife at 41, with two kids and a student loan."        },        {          "period": "Ep 110 · 49 min",          "title": "The accountant who opened a bakery",          "text": "What the spreadsheet said, what actually happened, and the oven that nearly ended it."        },        {          "period": "Ep 109 · 38 min",          "title": "Teaching to software, and back again",          "text": "Why Luis went into tech at 37, and why he went back to the classroom at 42."        }      ]    },    {      "kind": "features",      "eyebrow": "The show",      "title": "What you'll get every week",      "columns": 3,      "items": [        {          "title": "The real numbers",          "text": "Every guest talks about savings, income and the gap between them. No vague 'it worked out'.",          "icon": "chart"        },        {          "title": "Full transcripts",          "text": "Every episode is transcribed and searchable, published the same day.",          "icon": "book"        },        {          "title": "One ad, at the start",          "text": "A single read at the top of the show. Nothing in the middle of a story.",          "icon": "heart"        }      ]    },    {      "kind": "team",      "id": "hosts",      "eyebrow": "Hosts",      "title": "The people behind the microphone",      "items": [        {          "name": "Jo Adeyemi",          "role": "Host · ex-solicitor, now a carpenter",          "tone": "#9a3412"        },        {          "name": "Ben Hartley",          "role": "Co-host · career coach",          "tone": "#44403c"        },        {          "name": "Priya Shah",          "role": "Producer",          "tone": "#57534e"        },        {          "name": "Elliot Moss",          "role": "Sound and edit",          "tone": "#3f3f46"        }      ]    },    {      "kind": "quotes",      "eyebrow": "Listeners",      "title": "Heard on the way to work",      "items": [        {          "quote": "I listened to the midwife episode three times. Six months later I applied for the course.",          "name": "Kerry B.",          "role": "Listener since 2024"        },        {          "quote": "It's the money talk. Nobody else asks guests how many months of savings they had.",          "name": "Andrew M.",          "role": "Listener"        },        {          "quote": "Kind without being fluffy. I always finish an episode feeling braver.",          "name": "Yasmin R.",          "role": "Listener"        }      ]    },    {      "kind": "faq",      "eyebrow": "FAQ",      "title": "About the show",      "items": [        {          "q": "Where can I listen?",          "a": "Second Shift is in every major podcast app. Search for the name, or use the RSS link in the footer."        },        {          "q": "How do you choose guests?",          "a": "Most come from listener pitches. We look for a change made after 35 and a guest willing to talk openly about money."        },        {          "q": "Can I sponsor an episode?",          "a": "We take one sponsor per month and only for products we'd use. Write to us through the form below."        }      ]    },    {      "kind": "contact",      "id": "contact",      "eyebrow": "Be a guest",      "title": "Changed careers after 35? Tell us about it.",      "text": "A few paragraphs is plenty: what you did, what you do now, and the hardest month in between. We read every pitch and reply within three weeks.",      "fields": [        "name",        "email",        "message"      ],      "button": "Send your story"    }  ],  "footer": {    "text": "A weekly podcast about changing careers after 35.",    "columns": [      {        "title": "Listen",        "links": [          "All episodes",          "Transcripts",          "RSS feed"        ]      },      {        "title": "Show",        "links": [          "Hosts",          "Sponsorship",          "Press"        ]      },      {        "title": "Contact",        "links": [          "hello@secondshiftpod.com"        ]      }    ],    "legal": "© Second Shift. Sample content: replace it in src/site.ts."  }};

Remix

Remix this template

Describe what to change and the agent starts from Interview podcast's files. The box is already started for you: finish “Start from Interview podcast and …”

Agent ready

Creates a free account first; your idea is carried over.

Dependencies

Documented from the template's package.json. The runtime has a prebuilt dependency set for Vite + React + TypeScript, so installs are fast.

  • react^19.1.0
  • react-dom^19.1.0
  • vite^6.3.0
  • @vitejs/plugin-react^4.4.0
  • tailwindcss^4.1.0
  • @tailwindcss/vite^4.1.0
  • typescript^5.8.0

How it runs

Framework
Vite + React + TypeScript
Dev command
npm run dev
Build command
npm run build
Output directory
dist
Port
5173
Entry route
/

Projects run in an isolated sandbox with a live preview. Read the projects documentation for settings, snapshots and deployment.

All templates

Build on Interview podcast

Create a free account, start from this template, and ask the AI agent to turn it into your app.