Capture signals, ignore noise. A trust-native feedback platform for events, demos, and launches. Track interactions, score user credibility, and ship improvements faster.
Running demos and events is high-effort. Gathering actionable feedback from them is usually chaotic. DenLabs solves the "noisy feedback" problem by introducing Trust Scores and Automated Retros.
- Create a Lab: Define your event objectives and generate a public link.
- Collect Signals: Participants submit feedback (no account required). We track behavior and verify identity in the background.
- Filter by Trust: Our middleware scores every piece of feedback (0-100) based on wallet history, self-verification, and behavioral patterns.
- Export Retro: Generate an instant Markdown summary with P0/P1 issues, sorted by trust score, ready to paste into your engineering roadmap.
Not all feedback is equal. We assign a Trust Score (0-100) to every interaction to filter spam and prioritize power users.
- +30 pts: Self.xyz Verification (Anti-Sybil).
- +20 pts: Wallet Connection (On-chain history).
- -50 pts: Spam behavior (Rate limiting).
Balance transparency with privacy during live events.
- Creators: See everything (raw data + analytics).
- Participants: See their own feedback + top upvoted issues.
- Public: See only high-trust, aggregated top issues.
Stop manually compiling notes. Click one button to get a Retro Pack:
- Summary of top P0/P1 issues.
- Drop-off analytics.
- Actionable recommendations.
- Format: Markdown (ready for GitHub/Linear).
A payment layer based on HTTP 402.
- Free Tier: Unlimited collection & real-time ops.
- Premium Tier: Paid access for high-value exports (CSV, detailed Retros, extended history) via crypto micro-payments.
Built for speed, type safety, and modern web standards.
| Layer | Technology |
|---|---|
| Framework | Next.js 15 (App Router + Turbopack) |
| Language | React 19 + TypeScript 5 (Strict) |
| Styling | Tailwind CSS v4 + Biome (Linting) |
| Database | Supabase (PostgreSQL) |
| Identity | Reown AppKit (Wallet) + Self.xyz (Verifiable Creds) |
| Payments | HTTP 402 (Custom Middleware) |
- Node.js 20.11+
- npm 10+ or pnpm 9+
- Supabase Project
# Clone and install
git clone https://github.com/your-org/denlabs.git
cd denlabs
npm install
Create a .env.local file based on .env.example.
cp .env.example .env.local
Critical Variables:
NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
SUPABASE_SERVICE_ROLE_KEY=your-key
NEXT_PUBLIC_REOWN_PROJECT_ID=your-wallet-connect-id
DenLabs relies on specific SQL schemas for the Labs functionality.
- Go to your Supabase Dashboard → SQL Editor.
- Run the content of
database/migrations/001_event_feedback_ops.sql. - (Optional) Read
database/migrations/README.mdfor schema details.
npm run dev
# Visit http://localhost:3000
Note: The app redirects to
/en(English) or/es(Spanish) automatically.
- Builder View: Navigate to
/labs/create.
- Set a name (e.g., "Alpha Launch V1").
- Define the objective.
- Share: Copy the public link (e.g.,
denlabs.app/lab/alpha-v1). - Simulate Feedback: Open the link in an incognito window.
- Notice no login is required (Session Cookie).
- Submit feedback.
- Review: Go back to
/labs/alpha-v1/retroto see the trust-scored data and generate your Retro Pack.
DenLabs implements the x402 Payment Required standard for premium features.
Facilitator Health Check: Before processing payments, the system checks the UVDAO facilitator.
pnpm x402:smoke
Integration Tests: Validate the payment gating logic (returns 402 vs 200).
pnpm x402:test
Set X402_DEV_BYPASS=true in .env to skip payments during development.
Key directories for contributors:
src/
├── app/[locale]/
│ ├── labs/ # Creator Dashboard (Protected)
│ ├── lab/ # Public Participation (Anonymous/Session)
│ ├── 8004-scan/ # Trust Verification Logic
│ └── x402/ # Payment Layer Experiments
├── components/
│ ├── modules/labs/ # Core Lab Components (Forms, Lists, Retro)
│ └── ui/ # Design System
├── lib/
│ ├── trustScoring.ts # The 0-100 Scoring Algorithm
│ └── retroPack.ts # Markdown Generator Logic
└── database/ # SQL Migrations
We follow a Split Documentation model:
- Code: Lives here.
- Docs: Detailed specs live in
denlabs-docs(private).
Workflow:
- Run
npm run doc:deltato check for documentation drift. - Run
npm run lintandnpm run buildbefore committing. - Use Conventional Commits (e.g.,
feat: add trust score filter).
MIT © 2024 DenLabs Builders