Skip to main content

Overview

Buildstory’s mentorship system connects experienced builders with participants who need help. The philosophy: “no authority required, just willingness to help.” Mentors volunteer to help hackathon participants get unstuck with design, technical, or growth guidance.

Mentor Types

Mentors can offer expertise in three categories:

Design

UI/UX design, branding, visual design, accessibility, user flows

Technical

Architecture, debugging, API integration, database design, deployment

Growth

Marketing, distribution, user acquisition, positioning, go-to-market
Mentors can select multiple types when applying.

How to Apply

The mentor application is a public form at /mentor-apply (no authentication required).
1

Visit the application page

Navigate to /mentor-apply or click the “Volunteer to Mentor” link on the homepage
2

Fill out the form

Provide the following information:
  • Name — Your full name
  • Email — Contact email (must be unique)
  • Discord handle — For community coordination
  • Twitter handle — Optional
  • Website URL — Optional
  • GitHub handle — Optional
  • Mentor types — Select one or more: design, technical, growth
  • Background — Describe your experience (free text)
  • Availability — When and how much you can help (free text)
3

Submit

Your application is saved to the database and a Discord notification is sent to the admin team
4

Review

Admins review applications in the admin dashboard at /admin/mentors

Application Schema

Applications are stored in the mentorApplications table:
id
uuid
Unique application identifier
name
string
Applicant’s full name
email
string
required
Contact email (unique constraint)
discord_handle
string
Discord username for community coordination
twitter_handle
string
Optional Twitter/X handle
website_url
string
Optional personal website or portfolio
github_handle
string
Optional GitHub username
mentor_types
string[]
Array of mentor types: “design”, “technical”, “growth”
background
string
Free-text description of experience and expertise
availability
string
Free-text description of when and how much they can help
status
mentor_application_status
Application status: “pending”, “approved”, “declined”
reviewed_by
uuid
Foreign key to profiles table (admin who reviewed)
reviewed_at
timestamp
When the application was reviewed

Admin Review Process

Admins (not moderators) can review mentor applications at /admin/mentors.

Review Interface

The admin interface shows:
  • Application list — All applications with status badges
  • Stats cards — Total applications, pending, approved, declined counts
  • Detail view — Full application details including all fields
  • Action buttons — Approve or decline

Approval Workflow

1

Admin reviews application

Read through the applicant’s background, mentor types, and availability
2

Admin approves or declines

Click Approve or Decline button
3

Action is logged

The approval/decline is recorded in the adminAuditLog table with:
{
  actor_profile_id: adminId,
  action: "approve_mentor_application" | "decline_mentor_application",
  target_profile_id: null,
  metadata: JSON.stringify({ applicationId, mentorName, mentorEmail })
}
4

Status updated

The application’s status field is set to “approved” or “declined”, and reviewed_by/reviewed_at are populated

Server Actions

Two admin-only server actions handle reviews:
// app/admin/mentors/actions.ts
export async function approveMentorApplication(
  applicationId: string
): Promise<{ success: boolean; error?: string }>

export async function declineMentorApplication(
  applicationId: string
): Promise<{ success: boolean; error?: string }>
Both actions:
  • Verify admin role before proceeding
  • Update the application status
  • Log the action to the audit log
  • Report errors to Sentry

Discord Notifications

When a mentor application is submitted, a Discord notification is sent via webhook:
// lib/discord.ts
export async function notifyMentorApplication(
  name: string,
  email: string,
  mentorTypes: string[],
  discordHandle: string | null
)
The notification includes:
  • Applicant name
  • Email (sanitized)
  • Mentor types
  • Discord handle (if provided)
  • Link to admin review interface
Discord webhooks are fire-and-forget. Errors are caught and reported to Sentry but never block the application submission.

Getting Help as a Participant

Once mentors are approved, participants can:
  1. Find mentors on Discord (via their Discord handles)
  2. Request help in designated mentor channels
  3. Tag mentors based on expertise (design/technical/growth)
  4. Schedule 1:1 sessions or group office hours
The mentor matching system is currently coordinated via Discord. Future versions may include in-platform mentor discovery and booking.

Mentor Visibility

Approved mentors may be featured:
  • On the landing page in the “Who” section
  • In the hackathon dashboard
  • In Discord with special roles
  • In future mentor directory (planned)

Privacy & Communication

Mentor contact information (email, social handles) is visible only to admins during review. Once approved, mentors coordinate with participants via Discord to maintain privacy and prevent spam.

Sponsorship

Similar to mentorship, Buildstory accepts sponsor applications to support builders with tool credits, resources, and other benefits.

How to Apply as a Sponsor

Companies can apply at /sponsor-apply with:
  • Company name and contact information
  • Website URL
  • Offer description — What you’re providing (credits, tools, resources)
  • Additional notes — Any extra context
Sponsor applications are reviewed by admins and featured on the homepage when approved.
Sponsorship is designed to be “no strings attached” — pure support for builders, not marketing disguised as help.

Build docs developers (and LLMs) love