Track Braintrust/AI engagements and collect testimonials from stakeholders.
Live URL: https://pulse.elelem.expert
- Engagement Tracking: Track AI/Braintrust engagements through their lifecycle (Discovery β Active β Complete)
- Testimonial Collection: Collect feedback from stakeholders in two ways:
- Ad-hoc: Public form for anyone to submit feedback
- Solicited: Generate unique links to request feedback from specific people
- MCP Server: Interact with the system directly via Braintrust agents in Google Chat
- Reporting: Dashboard with status overview, recent activity, and testimonial summaries
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CLIENTS β
βββββββββββββββββββ¬ββββββββββββββββββ¬ββββββββββββββββββββββββββββββ€
β Web UI (S3) β MCP Server β Direct API β
β (humans) β (Braintrust) β (integrations) β
ββββββββββ¬βββββββββ΄βββββββββ¬βββββββββ΄ββββββββββββββ¬ββββββββββββββββ
β β β
βββββββββββββββββββΌβββββββββββββββββββββββ
βΌ
ββββββββββββββββββββββββββ
β API Gateway (REST) β
βββββββββββββ¬βββββββββββββ
βΌ
ββββββββββββββββββββββββββ
β Lambda Functions β
βββββββββββββ¬βββββββββββββ
βΌ
ββββββββββββββββββββββββββ
β DynamoDB β
ββββββββββββββββββββββββββ
engagement-tracker/
βββ template.yaml # AWS SAM infrastructure
βββ samconfig.toml # SAM deployment config
βββ deploy.sh # Deployment script
βββ functions/ # Lambda functions
β βββ engagements.py # Engagement CRUD
β βββ testimonials.py # Testimonial handling
β βββ solicitations.py # Feedback request generation
βββ frontend/ # Static web UI
β βββ index.html # Main dashboard
β βββ feedback.html # Public feedback form
β βββ styles.css # Styling
β βββ app.js # Application logic
β βββ config.js # API configuration
βββ mcp-server/ # MCP server for Braintrust
βββ package.json
βββ index.js # MCP tool definitions
- AWS CLI configured
- SAM CLI installed (
brew install aws-sam-cli) - saml2aws configured for prod-aicoe-admin
# Login to AWS
saml2aws login -a prod-aicoe-admin --skip-prompt
# Deploy to dev
./deploy.sh
# Deploy to prod
./deploy.sh prod# Start local API
sam local start-api
# In another terminal, serve frontend
cd frontend && python -m http.server 8080
# Open http://localhost:8080The MCP server allows Braintrust agents to interact with the engagement tracker.
cd mcp-server
npm install
export PULSE_API_URL="https://your-api-url.execute-api.us-east-1.amazonaws.com/dev"| Tool | Description |
|---|---|
list_engagements |
List all engagements, optionally filtered by status |
get_engagement |
Get details of a specific engagement |
create_engagement |
Create a new engagement |
update_engagement |
Update engagement status, blockers, next steps |
list_testimonials |
List feedback received |
submit_testimonial |
Submit feedback via an agent |
list_solicitations |
List feedback requests sent |
create_solicitation |
Generate a feedback request link |
get_engagement_summary |
Get overview report of all engagements |
get_testimonial_summary |
Get summary of feedback with highlights |
"What's the status of our current AI engagements?"
Agent uses get_engagement_summary to provide overview.
"Create a feedback request for John Smith about the Sales AI engagement"
Agent uses create_solicitation to generate a unique link.
"The finance team says they love the new NetSuite integration"
Agent uses submit_testimonial to record the feedback.
GET /engagements- List all engagementsGET /engagements/{id}- Get engagement detailsPOST /engagements- Create engagementPUT /engagements/{id}- Update engagementDELETE /engagements/{id}- Delete engagement
GET /testimonials- List all testimonialsGET /testimonials/{id}- Get testimonial detailsPOST /testimonials- Create testimonial (internal)POST /public/testimonials- Submit testimonial (public/solicited)PUT /testimonials/{id}- Update testimonial
GET /solicitations- List all solicitationsGET /solicitations/{token}- Get solicitation by token (for feedback form)POST /solicitations- Create new feedback request
| Status | Description |
|---|---|
discovery |
Initial exploration phase |
active |
Actively being worked on |
paused |
Temporarily on hold |
closed-complete |
Successfully completed |
closed-failed |
Did not achieve goals |
{
"id": "uuid",
"name": "Sales AI Assistant",
"team": "Sales",
"description": "AI assistant for sales pipeline management",
"status": "active",
"owner": "David Proctor",
"tools": ["notion", "slack"],
"agents": ["Sales Assistant"],
"objectives": "Automate sales data entry and reporting",
"blockers": "Waiting on API access",
"nextSteps": "Complete Notion integration",
"startDate": "2026-02-01",
"createdAt": "2026-02-01T00:00:00Z",
"updatedAt": "2026-02-17T00:00:00Z"
}{
"id": "uuid",
"engagementId": "engagement-uuid",
"submitterName": "Jane Doe",
"submitterRole": "Sales Manager",
"rating": 5,
"testimonialText": "The AI assistant has transformed our workflow...",
"whatWorkedWell": "Automated data entry",
"whatCouldImprove": "Faster response times",
"wouldRecommend": true,
"source": "solicited",
"submittedAt": "2026-02-17T00:00:00Z"
}{
"token": "secure-random-token",
"engagementId": "engagement-uuid",
"recipientName": "Jane Doe",
"recipientEmail": "jane@company.com",
"message": "Would love your feedback on the Sales AI...",
"status": "pending",
"feedbackUrl": "https://pulse.elelem.expert/feedback.html?token=...",
"createdAt": "2026-02-17T00:00:00Z",
"expiresAt": "2026-03-03T00:00:00Z"
}To use the custom domain pulse.elelem.expert:
- Create a CloudFront distribution pointing to the S3 bucket
- Request an ACM certificate for
pulse.elelem.expert - Add CNAME record:
pulse.elelem.expertβ CloudFront distribution
Internal use - AI Center of Excellence