A Society for Founders. Not Talkers.
GSF is a professional platform connecting student founders with world-class expert mentors via video call and chat, and providing an equity-based venture marketplace where students can list startup ideas and attract investors.
- Live Platform
- Features
- What GSF Does
- Design System
- Project Structure
- Getting Started
- Tech Stack
- Architecture
- Route Inventory
- Environment Variables
- Deployment
- Contributing
- Repository Standards
- Issue Labels
- Contact
URL: http://localhost:3000 (development)
- 1-on-1 mentorship calls with industry experts
- Equity-based venture marketplace
- Founder and expert role-based dashboards
- Secure authentication with Clerk
- Community-driven founder ecosystem
- Responsive and modern UI
- Venture listing and investor interaction
- Real-time collaboration experience
| Feature | Description |
|---|---|
| GSF Connect | Students book 1-on-1 video calls with expert mentors (VCs, founders, product leaders). Async chat follow-up included. |
| GSF Ventures | Students list startup ideas with equity terms. Venture creators fund them directly. GSF takes 1–2% platform fee on completed equity deals. |
| Expert Network | 40+ vetted domain experts across fundraising, product, growth, legal, and impact. |
| Community | Global network of 500+ student founders with cohort calls, Slack, and accountability pods. |
- Free for 30 days — full platform access, no credit card required
- ₹999/month — Builder plan (unlimited Connect calls, list ventures)
- ₹2,499/month — Founder plan (everything + investor intros + dedicated advisor)
- 1–2% fee on equity deals closed via GSF Ventures
| Token | Value | Usage |
|---|---|---|
| Primary blue | #81A6C6 |
Buttons, links, active states |
| Powder blue | #AACDDC |
Badges, highlights, borders |
| Warm cream | #F3E3D0 |
Section backgrounds, warm cards |
| Warm taupe | #D2C4B4 |
Borders, dividers, muted elements |
| Background | #FDFAF7 |
Page background |
| Text primary | #1A2332 |
Headings, body |
| Text secondary | #4A5668 |
Body copy |
Fonts:
Playfair Display— serif headings (premium editorial feel)Inter— body, UI elements, labels
app/
├── page.tsx # Homepage
├── connect/page.tsx # Video call + expert chat platform
├── ventures/page.tsx # Startup idea marketplace
├── experts/page.tsx # Expert mentor directory
├── community/page.tsx # Community hub
├── about/page.tsx # About GSF
├── apply/page.tsx # Student application form
├── sign-in/page.tsx # Authentication - Login
├── sign-up/page.tsx # Authentication - Register
├── contact/page.tsx # Contact form
├── careers/page.tsx # Open roles
├── insights/page.tsx # Articles + founder resources
├── programs/page.tsx # Platform overview
├── privacy/page.tsx # Privacy policy
├── terms/page.tsx # Terms of service
├── cookies/page.tsx # Cookies policy
└── globals.css # Design system tokens + utilities
components/
├── layout/
│ ├── Navbar.tsx # Navigation with circular GSF logo
│ └── Footer.tsx # Footer with links and brand tagline
├── landing/
│ └── HeroSection.tsx # Homepage hero with stats
└── ui/
└── Button.tsx # Multi-variant button component
Before running the project locally, ensure you have:
- Node.js 18+
- npm or yarn
- Git installed
Click the Fork button on GitHub to create your own copy.
git clone https://github.com/KGFCH2/GSF.git
cd GSFnpm installCreate a .env.local file in the root directory:
NEXT_PUBLIC_API_URL=your_api_urlnpm run devOpen:
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLint| Layer | Technology |
|---|---|
| Framework | Next.js 16.2.3 (App Router) |
| Language | TypeScript |
| Styling | Tailwind CSS v4 |
| UI/UX | Framer Motion, Lucide React |
| Data/SQL | Drizzle ORM + Postgres |
| Auth | Clerk |
| Validation | Zod |
| Tests | Vitest |
| Deployment | Vercel (recommended) |
This project uses Next.js App Router route groups plus Clerk-based RBAC.
app/(marketing)/...andapp/(auth)/...: public marketing + auth-related pages (layout/grouper only; does not change URL)app/(student)/...,app/(expert)/...,app/(admin)/...: role-focused areas (URL paths still start at/student,/expert,/adminwhen used)
- Founder:
/dashboard/*(implemented inapp/dashboard/*) - Expert:
/expert-dashboard/*(implemented inapp/expert-dashboard/*)
Authorization is enforced in middleware.ts using Clerk session claims (JWT metadata):
- public routes pass through without auth
- signed-in, not-yet-onboarded users are redirected to
/onboarding - role checks gate
/dashboard/*,/expert-dashboard/*, and any/admin/*routes
Update both: (1) the route inventory in this README, and (2) middleware role rules when adding new protected areas.
Routes are organized into public marketing pages, dashboards by role, and API endpoints under
app/api.
| Route | Purpose |
|---|---|
/ |
Homepage |
/about |
About GSF |
/apply |
Student application |
/careers |
Open roles |
/community |
Community hub |
/connect |
Expert booking + chat platform |
/contact |
Contact form |
/cookies |
Cookie policy |
/experts |
Expert directory |
/insights |
Articles/resources |
/login |
Login portal |
/privacy |
Privacy policy |
/programs |
Platform overview |
/sign-in |
Auth (alternative sign-in entry) |
/sign-up |
Auth (registration) |
/sso-callback |
SSO callback handler |
/terms |
Terms |
/ventures |
Venture marketplace |
/ventures/list |
Venture list editor/creator UI |
/unauthorized |
Unauthorized / access denied |
| Role area | Route prefix | Description |
|---|---|---|
| Founder | /dashboard/* |
Founder journey: credits, sessions, venture, progress, chat, profile |
| Expert | /expert-dashboard/* |
Expert portal: students, sessions, profile, credits, ventures, chat, investments |
/dashboard(app/dashboard/page.tsx) — overview/dashboard/chat/dashboard/credits/dashboard/experts/dashboard/profile/dashboard/progress/dashboard/venture
/expert-dashboard(app/expert-dashboard/page.tsx) — overview/expert-dashboard/chat/expert-dashboard/credits/expert-dashboard/investments/expert-dashboard/profile/expert-dashboard/sessions/expert-dashboard/students/expert-dashboard/ventures
| Endpoint | Method(s) | What it serves |
|---|---|---|
/api/credits |
GET | Credit balance + transaction log |
/api/expert-profile |
GET | Expert extended profile |
/api/onboarding-complete |
POST | Mark onboarding completion |
/api/profile |
GET | Clerk user data + app bio/links from metadata |
/api/sessions |
GET | Sessions for logged-in user |
/api/venture |
GET, POST | Fetch/update the founder venture |
/api/ventures |
(see app/api/ventures/**) |
Ventures CRUD + interest |
/api/ventures/interest |
POST | Express interest in a venture |
/api/ventures/public |
GET | Public venture data |
/api/webhooks/clerk |
POST | Clerk webhook receiver for sync |
Create a .env.local file in the root:
# Add your environment variables here
# Example:
# NEXT_PUBLIC_API_URL=https://api.gsf.community- Push your changes to GitHub
- Import the repository at vercel.com/new
- Set the Root Directory to
GSF(the inner folder) - Add environment variables if needed
- Deploy
npm run build
npm run startNew contributors should be able to:
- run the app locally
- lint/test before opening a PR
- understand which routes belong to which role area
npm install
npm run devThen open: http://localhost:3000
npm run lint # ESLint (required)
npm run test # Vitest (required if you touched logic)
npm run build # Optional but recommended before PR- Fork the repository
- Create a feature branch:
git checkout -b blackboxai/your-feature - Make changes in small, focused commits
- Run
npm run lint(andnpm run testif you changed logic) - Open a Pull Request
- Finder for role-based areas: see Architecture section below.
- When adding a new protected page, ensure role gating is enforced consistently (middleware + UI routing expectations).
- README updated if routes/APIs changed
-
npm run lintpasses -
npm run testpasses (when applicable)
- Direct pushes to
mainare restricted - All contributions must go through Pull Requests
- Run lint checks before opening PR
- Ensure project builds successfully
- Keep PRs focused and meaningful
- Link related issues
- Add screenshots for UI changes when applicable
- Maintainer approval is required before merge
| Label | Description |
|---|---|
good first issue |
Beginner-friendly issues |
bug |
Something is broken |
enhancement |
Feature improvements |
documentation |
Documentation-related tasks |
help wanted |
Community contribution requested |
Email: hello@gsf.community
Website: gsf.community
GitHub: KGFCH2/GSF
© 2026 Global Society of Founders. A Society for Founders — Not Talkers.
This project is licensed under the MIT License.