/** * WorthDoing.ai * Author: Simon-Pierre Boucher * Contact: contact@spboucher.ai * File: src/app/explore/page.tsx * Description: Explore page — the accumulated opportunity database, ranked by Worth Score. */ import { desc, eq } from "drizzle-orm"; import { db } from "@/lib/db/client"; import { opportunities, investigations } from "@/lib/db/schema"; import { OpportunityCard } from "@/components/wd/OpportunityCard"; export const dynamic = "force-dynamic"; export default async function ExplorePage() { const rows = await db .select({ id: opportunities.id, title: opportunities.title, summary: opportunities.summary, worthScore: opportunities.worthScore, evidenceConfidence: opportunities.evidenceConfidence, objective: investigations.objective, reportMd: opportunities.reportMd, }) .from(opportunities) .innerJoin(investigations, eq(investigations.id, opportunities.investigationId)) .orderBy(desc(opportunities.worthScore)) .limit(100); return (
Everything the agent has judged worth doing — ranked by Worth Score, with evidence confidence shown separately.
{rows.length === 0 ? (Nothing here yet
Run an investigation from the home page — validated opportunities land here.