Feedback collection endpoint

t-265.6·WorkTask·
·
·
Parent:t-265·Created2 months ago·Updated2 months ago

Description

Edit

Create a feedback collection endpoint for PodcastItLater user research.

Context

Ava needs to collect feedback from potential and existing PodcastItLater users at scale. Rather than integrating a third-party form builder, add a simple feedback endpoint to PIL itself.

Options (choose one)

Option A: Add /feedback to PIL (Recommended)

Add a simple feedback form to PodcastItLater's existing web app.

Option B: Self-host Formbricks

Deploy Formbricks and integrate via API.

Recommendation: Option A

Simpler, no new infra, data stays in PIL database.

Requirements for Option A

1. Database Table

CREATE TABLE feedback (
  id TEXT PRIMARY KEY,
  email TEXT,
  source TEXT,  -- 'outreach', 'organic', 'trial'
  campaign_id TEXT,  -- links to outreach draft ID if applicable
  rating INTEGER,  -- 1-5 scale
  feedback_text TEXT,
  use_case TEXT,  -- what they want to use PIL for
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

2. Web Endpoints

  • GET /feedback - Show feedback form
  • POST /feedback - Submit feedback (returns thank you page)
  • GET /admin/feedback - List all feedback (admin only)

3. Form Fields

  • Email (optional)
  • How did you hear about us? (dropdown)
  • What would you use PIL for? (text)
  • Any other feedback? (text)
  • Rating 1-5 (optional)

4. Ava Integration

Tool to query feedback:

{
  "name": "feedback_list",
  "parameters": {
    "limit": "integer (default 20)",
    "since": "ISO date (optional)"
  }
}

Implementation Notes

  • Add to Biz/PodcastItLater/Web.py
  • Follow existing Ludic/HTMX patterns
  • Add to Biz/PodcastItLater/Core.py for database operations
  • Create Omni/Agent/Tools/Feedback.hs for Ava's query tool

Files to Modify

  • Biz/PodcastItLater/Core.py (add feedback table + operations)
  • Biz/PodcastItLater/Web.py (add /feedback routes)
  • Biz/PodcastItLater/UI.py (add feedback form component)
  • Create: Omni/Agent/Tools/Feedback.hs

Verification

  • bild Biz/PodcastItLater/Web.py
  • Visit /feedback page, submit test feedback
  • Query via Ava's feedback_list tool

Timeline (1)

🔄[human]Open → Done2 months ago