A Solana blink to help hackathon participants find coding partners based on their skills.
- Create a new Airtable base.
- In the base, create a table named "Users" with the following fields:
- Discord Username (Single line text)
- Skill (Single select: Frontend, Backend, Design, Any)
- Looking For (Single select: Frontend, Backend, Design, Any)
- Partner ID (Single line text)
- Match Status (Single select: Matched, Unmatched)
- Verification Status (Single select: Verified, Unverified)
- Notes (Long text)
Set the following environment variables:
AIRTABLE_PERSONAL_ACCESS_TOKEN
: Your Airtable Personal Access TokenHackathon_BASE_ID
: The ID of your Airtable baseSOLANA_RPC
: (Optional) Custom Solana RPC URL. If not set, it defaults to the public mainnet-beta endpoint.
Users should input their information in the following format:
[username] [skill initial] > [desired skill initial]
- Username: Discord username
- Skill initial: F (Frontend), B (Backend), D (Design), A (Any)
- Desired skill initial: F, B, D, or A
Example: JohnDoe F > B
- Parse user input to extract Discord username, current skill, and desired skill.
- Check if the user already exists in the Airtable:
- If exists and matched, return the existing match.
- If exists and unmatched, update the user's preferences.
- If doesn't exist, create a new user profile.
- Search for potential matches based on the following criteria:
- User's desired skill matches potential match's skill (or either is "Any")
- Potential match's desired skill matches user's skill (or either is "Any")
- Potential match is unmatched
- If a match is found:
- Update both users' statuses to "Matched"
- Set Partner IDs for both users
- Return the match information
- If no match is found, inform the user they've been added to the database.
- New users are automatically set as "Unverified"
- Only Airtable admins can change a user's status to "Verified"
- The verification status is included in the match result message
Match results depend on available users in the database. Initial matches may be test or unverified users until the user base grows.