Blueprint v1.0

DigitalAssetIdeas
Project Blueprint

A daily funnel idea platform for home improvement lead gen businesses. One idea per day, free for 24 hours, then locked behind a paywall. Built with Next.js + Convex + Clerk + Stripe.

1 Project Overview

What we're building and why.

$67
Founder / Year
$97
Lifetime (one-time)
1/day
Ideas Published
$0
Infra Cost (Free Tier)

The Concept

Every day, a new home improvement funnel idea is published with full market data, scores, and an execution plan. It's free for 24 hours. After midnight UTC, it locks behind a paywall. Founders ($67/yr locked in) or Lifetime ($97 one-time) can access the full archive of all past ideas.

This is modeled directly after IdeaBrowser.com, which does the same thing for startup ideas. We're adapting it for the home improvement lead generation niche โ€” HVAC, roofing, solar, ADU, plumbing, etc.

Target Audience

  • Lead gen entrepreneurs โ€” people building rank-and-rent or per-lead businesses in home improvement
  • Digital product builders โ€” people selling funnel templates, ad scripts, landing pages
  • Home improvement contractors โ€” HVAC, roofing, solar companies looking for marketing ideas

Revenue Model

TierPriceWhat They Get
Free$0Today's idea only (24h window), daily email
Founder$67/yrAll ideas, full archive, filters, search, AI tools โ€” price locked in forever
Lifetime$97 one-timeEverything โ€” pay once, never pay again

2 IdeaBrowser Research

What we learned from studying the competition.

How IdeaBrowser Works

One idea per day, free for 24 hours, then locked forever.

  • The "Idea of the Day" publishes daily at midnight UTC
  • Free users (just an email signup) get full access for 24 hours
  • After midnight, the page redirects to a locked/expired page
  • Paid members ($499โ€“$2,999/yr) can access ALL past ideas

The Three States of an Idea Page

๐ŸŸข Live (24h window)

Full report visible to anyone. Scores, charts, execution plan, AI chat. Timer shows "Expires at midnight UTC."

๐ŸŸก Expired (non-members)

Locked page with teaser image. "Unlock the Full Idea Report" headline. Two CTAs: "Explore Plans" + "See Today's Free Idea."

๐Ÿ”ต Full Access (paid)

Same pages, but logged-in paid users see everything. They also get the Idea Database (1,000+ past ideas searchable/filterable).

IdeaBrowser's Pricing

TierPriceKey Features
Starter$499/yrAll ideas, trends, market signals, idea generator (20/mo)
Pro$1,499/yrStarter + AI agents, research agent (3/mo), LLM connectors
Empire$2,999/yrPro + weekly coaching, community, $50K+ tool deals

Key Design Details

  • Colors: White bg, deep purple-blue primary, orange/red for urgency, green for CTAs
  • Typography: Serif for report headlines (editorial feel), sans-serif for body/UI
  • Thumbnails: Mini dashboard previews with trend lines, KPI pills, colored gradients
  • Locked cards: Blurred content + frosted glass "Members Only" overlay
  • Auth: Magic link (email) + Google OAuth โ€” no passwords

What Makes It Work

  1. Scarcity is real โ€” content actually disappears, not a fake countdown
  2. FOMO drives daily visits โ€” "come back tomorrow or miss it forever"
  3. Email capture is frictionless โ€” just email, get today's idea instantly
  4. The teaser on the locked page shows enough to want it, not enough to use it
  5. The archive is the real product โ€” 1,000+ ideas is what you pay for

3 The 24-Hour Model

How the free โ†’ locked โ†’ paid flow works.

1

New Idea Published (midnight UTC)

Admin publishes a new idea. It becomes the "Idea of the Day" with status: "live" and expiresAt: now + 24h.

2

Free Access Window (24 hours)

Anyone can visit and see the full report โ€” no login required. The homepage shows it with "Expires at midnight UTC" urgency text.

3

Expiry (midnight UTC next day)

Convex cron job runs, sets status: "expired". Non-members now see the locked page with teaser + paywall CTA.

4

Locked Page Shown

Expired idea shows blurred preview + "๐Ÿ”’ Members Only" overlay. Clicking opens auth modal with email/Google sign-up + pricing.

5

User Upgrades ($67/yr or $97 lifetime)

Clerk Billing handles Stripe checkout. Payment succeeds โ†’ user.plan = "member". All past ideas unlock instantly (real-time, no refresh).

6

Full Archive Access

Paid members can browse, search, and filter all 365+ past ideas. Every new daily idea is also immediately available.

4 Tech Stack

Why we chose each piece.

LayerTechnologyWhyCost
Frontend Next.js 16 (App Router) + Tailwind CSS SSR for SEO, file-based routing, edge middleware for auth gating, latest security $0
Backend / DB Convex Real-time queries, TypeScript, built-in cron, no DevOps $0 (free tier)
Auth Clerk Magic links, Google OAuth, billing built-in, beautiful UI $0 (10K users)
Payments Stripe (via Clerk Billing) Clerk handles checkout + webhooks. No wiring needed. 2.9% + 30ยข/txn
Hosting Vercel + Convex Cloud Zero config, free tiers, global CDN $0

๐Ÿ’ฐ Total Monthly Cost at Launch

~$1.94 per founder sale (Stripe processing fee on $67). All infrastructure is free until you hit 10K users or 1M function calls/month.

5 Architecture

How the pieces connect.

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ Next.js 16 (App Router + Tailwind CSS) โ”‚ โ”‚ โ”œโ”€โ”€ app/ideas/page.tsx โ† browse page (SSR) โ”‚ โ”‚ โ”œโ”€โ”€ app/ideas/[slug]/page.tsx โ† idea detail (SSR) โ”‚ โ”‚ โ”œโ”€โ”€ app/pricing/page.tsx โ† Clerk PricingTable โ”‚ โ”‚ โ”œโ”€โ”€ middleware.ts โ† auth gate (edge) โ”‚ โ”‚ โ””โ”€โ”€ app/layout.tsx โ† ClerkProvider โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ Convex Backend (real-time, TypeScript) โ”‚ โ”‚ โ”œโ”€โ”€ queries: getIdeas, getIdea, getUser โ”‚ โ”‚ โ”œโ”€โ”€ mutations: markPaid, trackInteraction โ”‚ โ”‚ โ”œโ”€โ”€ cron: expireIdeas (runs every hour) โ”‚ โ”‚ โ””โ”€โ”€ schema: ideas, users, interactions โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ Clerk (Auth + Billing) โ”‚ โ”‚ โ”œโ”€โ”€ Magic link sign-in โ”‚ โ”‚ โ”œโ”€โ”€ Google OAuth โ”‚ โ”‚ โ”œโ”€โ”€ PricingTable component (Stripe checkout) โ”‚ โ”‚ โ””โ”€โ”€ User metadata: plan = "free" | "member" โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ Stripe (via Clerk) โ”‚ โ”‚ โ”œโ”€โ”€ Checkout sessions โ”‚ โ”‚ โ”œโ”€โ”€ Subscription management โ”‚ โ”‚ โ””โ”€โ”€ Webhooks โ†’ Clerk โ†’ Convex (auto-sync) โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

6 Database Schema

Three tables in Convex.

The core content table. Each row is one funnel idea with full market data.

{
  title: string,           // "ADU permit lead gen for homeowners..."
  slug: string,            // "adu-permit-lead-gen-homeowners"
  description: string,     // Short preview (2-3 sentences)
  fullReport: string,      // Full markdown (LOCKED content)
  publishedAt: number,     // Unix timestamp ms
  expiresAt: number,       // publishedAt + 24h
  isIdeaOfTheDay: boolean, // true for today's idea only
  status: string,          // "live" | "expired" | "draft"
  niche: string,           // "hvac", "roofing", "solar", "adu"
  tags: string[],          // ["high-ticket", "geo-targeted"]
  scores: {
    opportunity: number,   // 1-10
    problem: number,       // 1-10
    feasibility: number,   // 1-10
    timing: number,        // 1-10
  },
  keyword: string,         // Primary SEO keyword
  searchVolume: number,    // Monthly searches
  growthPercent: number,   // YoY growth
  revenuePotential: string,// "$" | "$$" | "$$$"
  executionDifficulty: number, // 1-10
  goToMarket: number,      // 1-10
  offer: {
    leadMagnet: { name: string, price: string },
    frontend:   { name: string, price: string },
    core:       { name: string, price: string },
  },
  createdAt: number,
  updatedAt: number,
}
// Indexes: by_published, by_slug, by_niche, by_status, by_active

Synced from Clerk. Stores member level for content gating.

{
  clerkId: string,              // Clerk user ID
  email: string,
  memberLevel: string,          // "free" | "member" | "premium"
  stripeCustomerId: optional<string>,
  subscribedAt: optional<number>,
  lastLoginAt: number,
  createdAt: number,
}
// Indexes: by_clerk, by_email

Tracks user engagement for "Interested", "Saved", "Building" filter tabs.

{
  userId: string,     // Clerk user ID
  ideaId: Id<"ideas">,
  type: string,       // "viewed" | "interested" | "not_interested" | "saved" | "building"
  createdAt: number,
}
// Indexes: by_user, by_idea, by_user_idea

7 Pages & Layouts

What each page looks like and does.

Browse Page (/ideas) โ€” The Main Page

This is the heart of the app. Matches IdeaBrowser's browse layout.

digitalassetideas.com/ideas

โ†“ Top to bottom layout

LayerWhat's ThereDetails
1. HeaderLogo + breadcrumb + Upgrade button48px sticky, white bg
2. WelcomeDismissable banner with quiz CTAWhite card, blue border, phone graphic
3. Section"Find Your Next Idea" + subtitleBlue heading, gray subtitle
4. Filters7 tabs + search + AI Suggest + All FiltersText tabs, blue underline on active
5. Results"12 ideas" + Sort dropdownBold count, gray sort
6. CardsVertical list of idea cardsTop 3 unlocked, rest locked with blur
7. PaginationResults count + page controlsBottom of page

Idea Card Structure (Unlocked)

Thumbnail
Chart + KPIs

ADU permit lead gen for homeowners in restricted cities

โญ Idea of the Day Jul 1, 2026

Homeowners in cities with strict ADU regulations spend weeks navigating permit requirements...

View Full Report โ†’ Build with AI Studio
โ™ก
Interested
โœ•
Not Int.
๐Ÿ”–
Save

Idea Card Structure (Locked)

Solar panel lead gen for new construction subdivisions

New subdivisions are solar-ready but builders don't offer installation...

๐Ÿ”’ Members Only

Idea Detail Page (/ideas/[slug])

Full report page with all sections: Problem, Solution, Scores, Trend chart, Offer ladder, Why Now, Proof & Signals, Market Gap, Execution Plan, Framework Fit, AI chat.

Expired Page

Shown when a free user tries to view an expired idea. Orange "Expired" badge, teaser image, "Explore Plans" + "See Today's Free Idea" CTAs.

Pricing Page (/pricing)

Clerk's <PricingTable> component renders Stripe checkout. Shows Free vs Member plans with feature comparison.

8 Components

React components to build.

ComponentPropsDescription
<IdeaCard>idea, locked, onInteractFull card with thumbnail, content, buttons, icons
<IdeaThumbnail>niche, volume, growthMini dashboard preview with SVG chart + KPI pills
<LockedOverlay>onUnlockFrosted glass "Members Only" overlay
<AuthModal>isOpen, onCloseClerk SignIn + Google OAuth + pricing note
<FilterTabs>activeTab, onChange7 tabs: All, New, For You, Interested, Saved, Building, Not Int.
<SearchBar>value, onChangeDebounced search input + AI Suggest + All Filters
<Pagination>page, total, onChangeResults count + rows per page + page nav
<WelcomeBanner>onDismissDismissable banner with quiz CTA
<Header>userLogo, breadcrumb, Upgrade button, UserButton

9 Colors & Design Tokens

Match IdeaBrowser's palette.

Primary Palette

Navy
#0f172a
Blue
#3b82f6
Purple
#7c3aed
Green
#22c55e
Orange
#f59e0b
Red
#ef4444

Grays

50
#f8fafc
100
#f1f5f9
200
#e2e8f0
400
#94a3b8
500
#64748b
600
#475569
900
#0f172a

Usage Rules

ElementColor
Page background#f5f6fa (gray-50)
Card background#ffffff
Card border#eef0f4, 10px radius
Card hoverShadow 0 2px 8px rgba(0,0,0,0.04)
"View Full Report" button#3b82f6 (blue), white text
"Build with AI Studio" button#0f172a (navy), white text
"Upgrade" button#7c3aed (purple), white text
Active tabBlue text + blue underline
Section heading#1e40af (blue-dark)
Body text#6b7280 (gray-500)
Expiry badge#f59e0b (orange) bg

10 Typography

ElementFontSizeWeightColor
Page titleInter22px700#1e40af
Card titleInter15px700#0f172a
Card descriptionInter12px400#6b7280
Badge textInter11px600varies
Date/metaInter11px400#9ca3af
Button textInter12px600#fff
Filter tabInter13px500#6b7280
Code/schemaJetBrains Mono13px400#e2e8f0

11 Auth Flow

Clerk handles everything. Zero custom auth code.

1

User clicks "Unlock Report" or "Upgrade"

Clerk's <SignIn> modal opens with email input + Google OAuth button.

2

Magic Link or Google OAuth

Email โ†’ Clerk sends magic link. Google โ†’ OAuth popup. No passwords to manage.

3

First sign-up creates user in Convex

Convex mutation checks if user exists, creates if not. Sets memberLevel: "free".

4

Clerk JWT contains user identity

Convex reads ctx.auth.getUserIdentity() in every query. No session management needed.

Key Convex Code

// convex/users.ts
export const createOrUpdateUser = mutation({
  handler: async (ctx) => {
    const identity = await ctx.auth.getUserIdentity();
    if (!identity) throw new Error("Not authenticated");
    
    const existing = await ctx.db.query("users")
      .withIndex("by_clerk", q => q.eq("clerkId", identity.subject))
      .first();
    
    if (!existing) {
      await ctx.db.insert("users", {
        clerkId: identity.subject,
        email: identity.email!,
        memberLevel: "free",  // "free" | "founder" | "lifetime"
        lastLoginAt: Date.now(),
        createdAt: Date.now(),
      });
    } else {
      await ctx.db.patch(existing._id, { lastLoginAt: Date.now() });
    }
  },
});

12 Payment Flow

Clerk Billing connects to Stripe. No webhook wiring needed.

1

Create plans in Clerk Dashboard

"Free" ($0), "Founder" ($67/yr, locked in), and "Lifetime" ($97 one-time). Clerk Dashboard โ†’ Billing โ†’ Plans.

2

Connect Stripe account

Clerk Dashboard โ†’ Billing โ†’ Connect Stripe. One-click setup.

3

User clicks "Subscribe"

Clerk's <PricingTable> component renders Stripe checkout inline.

4

Payment succeeds

Clerk updates user.publicMetadata.plan = "founder". Convex reads this from JWT.

5

Cards unlock instantly

Convex real-time query detects the plan change. UI updates without page refresh. No webhooks needed.

13 24-Hour Expiry Logic

Convex cron job handles automatic expiry.

// convex/cron.ts
import { cronJobs } from "convex/server";
import { internal } from "./_generated/api";

const crons = cronJobs();
crons.interval("expire old ideas", { hours: 1 }, internal.ideas.expireOld);
export default crons;

// convex/ideas.ts
export const expireOld = mutation({
  handler: async (ctx) => {
    const now = Date.now();
    const liveIdeas = await ctx.db.query("ideas")
      .withIndex("by_status", q => q.eq("status", "live"))
      .collect();
    
    for (const idea of liveIdeas) {
      if (idea.expiresAt <= now) {
        await ctx.db.patch(idea._id, { 
          status: "expired",
          isIdeaOfTheDay: false,
        });
      }
    }
  },
});

Publishing New Ideas

Admin script or dashboard publishes at midnight UTC:

  • Sets publishedAt = Date.now()
  • Sets expiresAt = publishedAt + 24 * 60 * 60 * 1000
  • Sets status = "live", isIdeaOfTheDay = true
  • Previous day's idea auto-expires via cron

14 File Structure

digitalassetideas/
โ”œโ”€โ”€ convex/
โ”‚   โ”œโ”€โ”€ schema.ts           # Database schema (ideas, users, interactions)
โ”‚   โ”œโ”€โ”€ ideas.ts            # Idea queries & mutations
โ”‚   โ”œโ”€โ”€ users.ts            # User queries & mutations
โ”‚   โ”œโ”€โ”€ interactions.ts     # User interaction tracking
โ”‚   โ”œโ”€โ”€ cron.ts             # Expiry cron jobs
โ”‚   โ”œโ”€โ”€ auth.config.ts      # Clerk auth config
โ”‚   โ””โ”€โ”€ _generated/         # Auto-generated Convex types
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ app/
โ”‚   โ”‚   โ”œโ”€โ”€ layout.tsx          # Root layout (ClerkProvider + ConvexProvider)
โ”‚   โ”‚   โ”œโ”€โ”€ page.tsx            # Home โ†’ redirect to /ideas
โ”‚   โ”‚   โ”œโ”€โ”€ ideas/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ page.tsx        # Browse page (SSR)
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ [slug]/
โ”‚   โ”‚   โ”‚       โ””โ”€โ”€ page.tsx    # Idea detail (SSR, checks expiry)
โ”‚   โ”‚   โ”œโ”€โ”€ pricing/
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ page.tsx        # Clerk PricingTable
โ”‚   โ”‚   โ””โ”€โ”€ api/
โ”‚   โ”‚       โ””โ”€โ”€ webhooks/
โ”‚   โ”‚           โ””โ”€โ”€ stripe/
โ”‚   โ”‚               โ””โ”€โ”€ route.ts # Stripe webhook (fallback)
โ”‚   โ”œโ”€โ”€ components/
โ”‚   โ”‚   โ”œโ”€โ”€ IdeaCard.tsx
โ”‚   โ”‚   โ”œโ”€โ”€ IdeaThumbnail.tsx
โ”‚   โ”‚   โ”œโ”€โ”€ LockedOverlay.tsx
โ”‚   โ”‚   โ”œโ”€โ”€ AuthModal.tsx
โ”‚   โ”‚   โ”œโ”€โ”€ FilterTabs.tsx
โ”‚   โ”‚   โ”œโ”€โ”€ SearchBar.tsx
โ”‚   โ”‚   โ”œโ”€โ”€ Pagination.tsx
โ”‚   โ”‚   โ”œโ”€โ”€ WelcomeBanner.tsx
โ”‚   โ”‚   โ””โ”€โ”€ Header.tsx
โ”‚   โ”œโ”€โ”€ lib/
โ”‚   โ”‚   โ”œโ”€โ”€ convex.ts           # Convex client setup
โ”‚   โ”‚   โ””โ”€โ”€ utils.ts            # Helpers
โ”‚   โ””โ”€โ”€ middleware.ts           # Clerk auth middleware (edge)
โ”œโ”€โ”€ public/
โ”œโ”€โ”€ .env.local
โ”œโ”€โ”€ package.json
โ”œโ”€โ”€ tailwind.config.ts
โ”œโ”€โ”€ next.config.js
โ””โ”€โ”€ tsconfig.json

15 Environment Variables

# Convex
NEXT_PUBLIC_CONVEX_URL=https://your-deployment.convex.cloud

# Clerk
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_...
CLERK_SECRET_KEY=sk_test_...

# Stripe (if using direct Stripe instead of Clerk Billing)
STRIPE_SECRET_KEY=sk_test_...
STRIPE_WEBHOOK_SECRET=whsec_...

16 Getting Started

Step-by-step build instructions for the AI agent.

1

Scaffold the project

npx create-next-app@latest digitalassetideas --typescript --tailwind --app --src-dir โ†’ install @clerk/nextjs, convex

2

Set up Convex

Run npx convex dev โ†’ creates convex/ directory โ†’ write schema.ts

3

Set up Clerk

Create app at clerk.com โ†’ enable Magic Link + Google OAuth โ†’ copy keys to .env.local โ†’ activate Convex integration

4

Wire Clerk into Next.js

Create src/middleware.ts with clerkMiddleware(). Wrap layout.tsx with <ClerkProvider> + <ConvexProviderWithClerk>.

5

Implement schema + queries

Write convex/schema.ts, convex/ideas.ts, convex/users.ts, convex/cron.ts

6

Build pages + components

app/ideas/page.tsx (browse), app/ideas/[slug]/page.tsx (detail), app/pricing/page.tsx. Build components per Section 8.

7

Seed data + test

Run seed script with 12 sample ideas. Test free โ†’ locked โ†’ upgrade โ†’ unlock flow.

8

Deploy

npx convex deploy โ†’ vercel deploy โ†’ point digitalassetideas.com DNS

17 Seed Data

12 sample ideas for testing. All home improvement lead gen niches.

#TitleNicheKeyword Volume
1ADU permit lead gen for homeowners in restricted citiesADU14.8K
2Roofing lead gen with drone footage previewsRoofing8.2K
3HVAC seasonal tune-up funnel with geo-targeted adsHVAC12.1K
4Solar panel lead gen for new construction subdivisionsSolar5.4K
5Landscape design lead gen with AI yard visualizationLawn9.7K
6Pool service route optimization + lead gen platformPool3.1K
7Garage door replacement funnel with instant quote calculatorGarage6.8K
8Pest control lead gen with seasonal pest predictionPest4.2K
9Epoxy floor lead gen targeting garage and basement ownersFloor7.3K
10Fence installation lead gen with property line estimatorFence2.9K
11Window replacement funnel with energy savings calculatorWindow11.4K
12Bathroom remodel lead gen with 3D design previewBath8.6K

18 Roadmap

V1 (Launch)

  • โœ… Browse page with filter tabs, search, pagination
  • โœ… Idea cards with thumbnails, scores, action buttons
  • โœ… Locked card blur effect + Members Only overlay
  • โœ… Auth: magic link + Google OAuth via Clerk
  • โœ… Payment: Clerk Billing โ†’ Stripe checkout
  • โœ… 24-hour expiry via Convex cron
  • โœ… Idea detail page with full report
  • โœ… Expired page with teaser + paywall CTA

V2 (Growth)

  • โฌœ Email digest (daily idea to inbox)
  • โฌœ AI-powered idea generator (custom niche + keyword)
  • โฌœ "Build with AI Studio" integration
  • โฌœ Idea feedback/rating system
  • โฌœ Niche-specific filtering (HVAC, roofing, solar tabs)
  • โฌœ Referral program (share link โ†’ free month)

V3 (Scale)

  • โฌœ Mobile app (React Native + Convex)
  • โฌœ API for third-party integrations
  • โฌœ White-label licensing for agencies
  • โฌœ Community features (comments, discussions)

DigitalAssetIdeas Project Blueprint v1.0 โ€” Built with Next.js + Convex + Clerk + Stripe

Prototype: dai-browse-demo.pages.dev ยท Inspiration: ideabrowser.com