Inspiration

We were inspired by sites like https://thispersondoesnotexist.com/ and decided to do a hack for social good and for education. We found that coming up with a project idea is sometimes a high barrier to entry for taking part in a hackathon. We sought to eliminate this by creating a project to generate hackathon project ideas. It even lets you filter to only show projects that are predicted to win. This is with the aim of helping more people take part in hackathons and learn valuable skills from them.

What it does

Our site https://postdev.tech/ shows the most recently generated project ideas. Every hour a github action runs that generates new projects using our finetuned gpt2 model, these are then deployed to the github pages site.

How we built it

Our project uses data scraped from devpost’s most popular projects. We used aitextgen, a gpt2 library for training our model and producing sample projects. Using 15,000 devpost submissions, we fine-tuned the model to produce similar ones. For each project we generate a title, tagline, number of likes, and number of comments.

Rather than a traditional backend, we use a funky custom Github action to periodically run a python script to generate new submissions with this model and convert them into a json file. The action also downloads images from pixabay using the project title as a prompt. The action then copies this generated content into the site folder and then publishes this on Github pages.

Challenges we ran into

The model was overfit after we had finished training as some of its output borrowed exactly from the training data. More iterations/training data could have fixed this but we’ve only just delved into using AI textgen and the google collab free tier limits the amount of time you have with training. It was the best we could do and the model does provide a lot of unique project entries.

Accomplishments that we're proud of

Creative use of github actions to eliminate the need for a backend. This enables us to use github for all aspects of the project. We also made extensive use of github actions build artifacts to help with debugging. We also used some of the more advanced features of github such as repository secrets in order to prevent leaking our api keys.

We think that the website looks like a cool darkmode version of devpost.

What we learned

We learned how to train aitextgen, online, with google collab and produce various models, some good, some a little worse.

In addition to that, we learned how to use GitHub actions in our pursuit to generate static content for the website (with custom domain) to serve with Github pages.

We also spent time learning about good practices for pull requests and making use of the code reviews feature of github.

What's next for postdev

Figure out how to refine the model further. Use more training data, we were limited by time here and our free gpu hours on google colab. This would improve the quality of predictions. Some of the lines generated by the model are validated by regex and are thrown away, which wastes time, and the model was also a little overfit.

Share this project:

Updates