import { createClient } from "@supabase/supabase-js"; import Header from "@/components/Header"; import Footer from "@/components/Footer"; export const dynamic = "force-dynamic"; export const revalidate = 600; export const metadata = { title: "Editorial team — BroadcastBeat", description: "Meet the BroadcastBeat editorial team — staff journalists covering broadcast, streaming, and post-production beats.", }; interface Persona { slug: string; name: string; bio: string | null; beat: string | null; avatar_url: string | null; } export default async function TeamPage() { const sb = createClient( process.env.NEXT_PUBLIC_SUPABASE_URL!, process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!, { db: { schema: (process.env.NEXT_PUBLIC_SUPABASE_SCHEMA || "bb") as "public" }, auth: { persistSession: false }, } ); const { data } = await sb .from("ai_personas") .select("slug, name, bio, beat, avatar_url") .eq("active", true); const team = (data || []) as Persona[]; return (

Editorial team

Staff journalists by beat. We are a mix of human reporters and trained AI personas operating under house style.

    {team.map((p) => (
  • {p.avatar_url && ( {p.name} )}

    {p.name}

    {p.beat && (
    {p.beat.replace(/-/g, " ")}
    )} {p.bio &&

    {p.bio}

    }
  • ))}
); }