Skip to content

Conversation

@Alex-Alaniz
Copy link
Owner

@Alex-Alaniz Alex-Alaniz commented Nov 21, 2025

Overview

Built a scroll-driven, animated microsite that publicly shares the BearifiedCo roadmap, token vision, and the "One-Person $1B Company" narrative. The site dynamically pulls data from Notion's Product Roadmap database and displays it in an immersive, scroll-triggered experience.

Features Implemented

✅ Core Functionality

  • Next.js 14 Application: Complete Next.js app with App Router, TypeScript, and Tailwind CSS
  • Notion API Integration: Fetches roadmap data from Product Roadmap database
  • Scroll-Driven Animations: GSAP ScrollTrigger for smooth section reveals and parallax effects
  • Milestone Sections: Four milestone sections ($25M, $50M, $75M, $100M MC) with roadmap item previews
  • Vision Narrative: "One-Person $1B Company" section with Sam Altman quote and Tim Cortinovis reference
  • Roadmap Display: Full roadmap view with product filtering, status badges, and date displays
  • Token Gating UI: Optional Web3 wallet connection (Unlock Protocol ready)
  • Mobile Responsive: Mobile-first design that works on all devices

Tech Stack

  • Next.js 14 (App Router)
  • TypeScript
  • GSAP ScrollTrigger
  • Notion API integration
  • Tailwind CSS

Documentation

  • Complete setup guide in roadmap-microsite/README.md
  • Deployment instructions in roadmap-microsite/DEPLOYMENT.md
  • Full implementation docs in notion/founder-step6-roadmap-composer.md

Next Steps

  1. Set NOTION_API_KEY environment variable
  2. Deploy to Vercel
  3. Optional: Implement Unlock Protocol token gating

Note

Introduces a Next.js-based animated roadmap microsite that fetches roadmap data from Notion, features milestone/vision sections, filtering, and optional token-gated access.

  • Microsite (Next.js 14 + TS + Tailwind)
    • New app in roadmap-microsite/ with app/ router (layout.tsx, page.tsx, globals.css).
    • Components: HeroSection.tsx, MilestoneSection.tsx, VisionSection.tsx, RoadmapSection.tsx, TokenGate.tsx.
  • API & Data
    • app/api/roadmap/route.ts: Notion API integration querying database 2b26468866ef8093a5bfe0775e96abda, mapping properties to typed items.
  • UI/Interactions
    • GSAP ScrollTrigger animations (parallax, reveals, counters) across sections.
    • Roadmap view with product filters, status badges, and dates.
  • Token Gating
    • Optional wallet connect UI (TokenGate.tsx) with MetaMask flow; Unlock Protocol placeholders.
  • Configs & Docs
    • Tailwind, ESLint, Next config, TS config, PostCSS; dependencies added in package.json.
    • Documentation: README.md, DEPLOYMENT.md, IMPLEMENTATION_SUMMARY.md, and Notion writeup.

Written by Cursor Bugbot for commit a1e932b. Configure here.

- Built scroll-driven animated microsite with Next.js 14
- Integrated Notion API to fetch Product Roadmap database
- Implemented milestone sections ($25M, $50M, $75M, $100M MC)
- Added 'One-Person $1B Company' vision narrative section
- GSAP ScrollTrigger animations with parallax effects
- Optional token-gating UI (Unlock Protocol ready)
- Mobile-responsive design with Tailwind CSS
- Complete documentation and deployment guides
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the final PR Bugbot will review for you during this billing cycle

Your free Bugbot reviews will reset on December 1

Details

You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.

To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

scrub: true,
},
})
}, [milestone])
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: MilestoneSection GSAP animations lack proper cleanup logic

The useEffect hook creates GSAP animations and ScrollTriggers but doesn't clean them up when the effect runs again. When milestone changes, new animations are registered without destroying the previous ones, causing ScrollTrigger instances to accumulate and leading to memory leaks and unexpected animation behavior.

Fix in Cursor Fix in Web

scrub: true,
},
})
}, [])
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: VisionSection GSAP animations lack proper cleanup logic

The useEffect hook creates multiple GSAP ScrollTrigger animations but doesn't implement cleanup. While the empty dependency array prevents repeated setup, if this component ever unmounts and remounts, ScrollTriggers won't be properly destroyed, potentially causing memory leaks and animation conflicts.

Fix in Cursor Fix in Web

}
)
})
}, [roadmapData, filter])
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: RoadmapSection animations missing ScrollTrigger cleanup

The useEffect creates ScrollTrigger animations for roadmap items whenever roadmapData or filter changes, but never cleans up previous triggers. This causes ScrollTrigger instances to accumulate every time the filter is applied, leading to memory leaks and multiple animations triggering for the same elements.

Fix in Cursor Fix in Web

},
})
},
})
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Milestone number animation has mismatched initial and target types

The milestone number animation attempts to animate innerHTML from an initial string value like "25M" (set in JSX at line 93) to a numeric value. GSAP cannot reliably animate between incompatible types; the initial content should be numeric or the animation should handle the string-to-number conversion explicitly during setup rather than relying on GSAP's internal parsing.

Fix in Cursor Fix in Web

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants