These are the problems we're trying to solve:
The old submission form was often long and tedious, so it was one of the negative aspects of the hackathon experience. (Do we really need ALL of these fields?)
If you had already created a project in your portfolio on Devpost, you couldn't submit it to a hackathon. You had to copy over all of the fields from your project to the hackathon submission form if you wanted to submit it to a hackathon. This resulted in a lot of duplicate projects across the site (not to mention a terrible user experience).
The project page is what lives on beyond the hackathon. Often times hackers don't craft this page very thoroughly (likely because they're pressed for time) but that leaves many projects pretty empty which doesn't create much value for people viewing the projects. Can we make it quick/easy to make a great looking project page?
The old submission form – soooo long :(
- Integrate portfolio projects and hackathon submissions
- Make the process of submitting much quicker and easier for hackers
- Help projects look better / be more interesting to others
What it does
Instead of having completely separate forms for portfolio projects and hackathon submissions, there's now only 1 form for creating a project whether you do it from your portfolio or while submitting to a hackathon.
When submitting to a hackathon, you're presented with a "project picker" page that allows you to create a new project, or submit an existing project to a hackathon with the click of a button. The only additional form fields that need to be filled out are those that are specific to that particular hackathon (such as your table number).
We also improved the questions on the form itself, re-writing all the fields and including prompts to help hackers describe their project in the best way.
Challenges we ran into
1. Don't break our existing submission flow.
This feature affects the most critical point of a hackathon on our platform: submitting your project. Because we always have hackathons live with open submission periods, we couldn't release this like a normal feature (where it's deployed and enabled sitewide) because it would break hackathons with open submission periods. So we deployed this improvement using a "feature" that we can enable on a per hackathon basis. All new hackathons get the feature enabled by default, and we'll migrate existing/old hackathons one by one when it's safe to do so.
This also meant we had to continue to maintain the old submission flow, while building out this new flow.
2. Merge 2 project concepts (portfolio projects and hackathon submissions) into 1 project concept.
One of the technical issues that we ran into was the fact that hackathon submissions and portfolio projects have been stored in the database as two separate entities, and have diverged over time. This meant that we could not just map one to the other due to differences in column names and associations.
3. Our system must know the state of the project at the hackathon deadline (for fair judging), but the user can continue to edit their project after the deadline.
Portfolio projects are designed to be a living entity that evolve over time. In contrast, hackathon submissions need to be a snapshot of a project at a given moment in time: the submission deadline of the hackathon. We had to set up our system so that hackers can continue to edit their project forever, but hackathon judges/managers can see a "snapshot" of the project at the time of the deadline for judging.
- Continue to convert all hackathons on Devpost to use this new submission flow.
- Review metrics – are a higher % of people completing the start a project --> submit project flow
- Gather qualitative feedback from users
Have feedback on the process of adding a project to your portfolio or submitting to a hackathon? Let us know in the comments!