Podium, a peer-judging platform for hackathons
Podium allows you, and your team members, to submit the project you’ve spent the past ~24 hours on. To get started, head over to Podium (podium.hackclub.com) and create an account. After you sign up, you’ll receive an email with a link, valid for fifteen minutes, allowing you to login.
To join an event, enter the join code given to you by the event organizer(s). It’s a ~4-character case-insensitive code that looks like “AMXU” or “-PWJ” and can be entered on the homepage. Upon joining the event, you’re now able to create a project.
You can create a project from the homepage, just fill out your project’s information and press “Create Project”. For everyone else on your team, they just have to enter the project’s join code, found in your project dashboard, into their project dashboard.
Please keep in mind that the hours field is just for statistics, so please be honest when filling it out. Also include your team members' hours!
Made a mistake when creating your project? Decided to remake your project two hours before voting? No problem! Go to the project dashboard to update your event.
To experience other attendees’ projects, and to vote on them, go to the events dashboard click on the “Rank Projects” button. From here, you’ll be able to visit project demos and view their repositories. To begin voting, select the top two or three projects (depending on the size of the event) that you like most. Then, submit your vote. Order doesn’t matter!
Want to see current project standings? Head over to the leaderboard for the event you’re attending by going to the event dashboard and then pressing the “Leaderboard” button.
As an organizer, Podium streamlines the competitive aspect of your hackathon by allowing for attendees to seamlessly submit projects and vote on them. To get started, head over to Podium and create an account. After you sign up, you’ll receive an email with a link, valid for fifteen minutes, allowing you to login.
To set up your event, go to the events dashboard from the homepage, and create an event. You should see a join code, a ~4-character case-insensitive code that looks like “AMXU” or “-PWJ”, in the list below. Distribute this code to attendees to allow them to join!
There's a SvleteKit frontend and a FastAPI backend.
For secrets, you need the following as environment variables or in the backend/
folder in .secrets.toml
or .env
files:
airtable_token
jwt_secret
sendgrid_api_key
Airtable is heavily relied upon. You need the following tables (change the IDs in settings.toml
):
- Users
email
- primary, emailfirst_name
- single line textlast_name
- single line textowned_event
- link to another record in the Events tableattending_events
- link to another record in the Events table, multiple can be linkedprojects
- link to another record in the Projects table, multiple can be linkedvotes
- link to another record in the Events table, multiple can be linkedstreet
,street_2
,city
,state
,zip
, andcountry
- single line textdob
- datereferrals
- link to another record in the referrals table, multiple can be linked
- Events
name
- single line textdescription
- long textowner
- link to another record in the Users tableattendees
- link to another record in the Users table, multiple can be linkedjoin_code
- single line textprojects
- link to another record in the Projects table, multiple can be linkedvoters
- link to another record in the Users table, multiple can be linkedreferrals
- link to another record in the referrals table, multiple can be linked
- Projects
name
- single line textowner
- link to another record in the Users tablereadme
- URLrepo
- URLdemo
- URLpoints
- numberdescription
- long textimage_url
- URLevent
- link to another record in the Events tablejoin_code
- single line textcollaborators
- link to another record in the Users table, multiple can be linkedhours_spent
- number
- referrals
content
- single line textuser
- link to another record in the Users tableevent
- link to another record in the Events table