AL DUNGO
← /projects
🏆 Hackathon Submission🟢 Active

Uvalde CISD PTO AI Secretary

An AI-powered meeting secretary built for the Uvalde CISD Parent Teacher Organization. Upload a recording — get structured minutes synced to Notion automatically.

TrackZero to Agent Hackathon — v0 + MCPsdevsa.community/events/zero-to-agent →

How It Works

01

Upload

Drag and drop any audio recording (MP3, WAV, M4A, WebM — up to 100 MB)

02

Transcribe

OpenAI Whisper converts the audio to a full transcript

03

Generate

GPT-4o-mini reads the transcript and produces structured minutes: attendees, agenda items, decisions, action items, and announcements

04

Sync to Notion

One click sends the formatted minutes to a Notion page via the Notion MCP server

05

Share

Every completed meeting gets a public read-only share link for parents and community members

Why Uvalde CISD PTO?

The Uvalde CISD community has faced extraordinary challenges since 2022. Keeping school organizations like the PTO running — including the administrative burden of documenting every meeting — falls on a small group of volunteer parents.

This tool removes the secretary bottleneck entirely: meetings are recorded, processed, and archived automatically, so the organization can stay focused on what matters.

Tech Stack

LayerTechnology
UI Generationv0.dev
FrameworkNext.js 15 (App Router)
DeploymentVercel
TranscriptionOpenAI Whisper (whisper-1)
AI MinutesVercel AI SDK + GPT-4o-mini
StorageVercel Blob
MCPNotion MCP Server
UI Componentsshadcn/ui + Radix UI

Built with v0 — Proof of Authorship

The entire frontend and API layer was generated and refined through natural language prompts in v0.dev. Each session was committed directly by the v0 bot as its own branch — preserved as a tamper-evident record.

v0/dungooooo-1b070d9a

Initial app scaffold — upload form, meetings list, meeting detail view, all UI components

v0/dungooooo-5591cfe0

Transcription + minutes generation pipeline, Vercel Blob storage integration

v0/dungooooo-c621f8c2

Notion MCP integration, sync-to-Notion button, user guide page, share links

Security Hardening

Applied post-v0 cleanup to production-harden the generated code:

  • Path traversal prevention — all [id] and [shareId] route params validated against /^[a-zA-Z0-9_-]{1,100}$/ before use in blob storage paths
  • Cryptographically secure IDs — replaced Math.random() with crypto.randomUUID() (Web Crypto API, native in Next.js Edge runtime)
  • Server-side upload validation — file size capped at 100 MB (413); MIME type + extension checked server-side against allowlist (415)
  • Metadata leak removed — generator: 'v0.app' stripped from page <head>

Zero to Agent Hackathon

Track 02: v0 + MCPs

Built by Dungo Digital — Doctoral of Information Technology student & founder, San Antonio, TX.