Existing code at a hackathon: what can you bring?
Review five types of project components, ask the organiser about unclear cases and record what existed before the start.

Stavleak Team · Updated October 7, 2026
Your laptop already has a login form, a practice bot and an almost-finished app. Which of them can you open at a hackathon? “I wrote this code” answers only part of the question. The organiser also needs to know when the work you plan to submit was created.
In brief
You can use existing code at a hackathon to the extent permitted by that event’s rules. Check libraries, personal templates, practice snippets, previous projects and AI-generated code separately. Record where components came from and ask the organiser about unclear cases. Competition approval and the code author’s permission are two separate questions.
Why is “Is existing code allowed?” not enough?
That phrase can mean very different things: an installed package, an empty app skeleton or a working product that only needs a new name. The organiser can give a more precise answer if you show exactly what you want to use.
For example, MLH’s standard rules allow libraries and open-source code, while distinguishing them from previous work on the competition project. An old idea is allowed; making your own project open source in advance merely to get around the restriction is not. Organisers may adopt different rules. For digital events run by MLH itself, submitting a project with previous work is separately prohibited. Check which document applies to your event.
Which five things should you check in your repository?
1. A package or library
Suppose you want to use a charting library. Record its name, version, link and purpose. Find the rules on third-party components. Installing something through a package manager does not, by itself, explain its licence or the competition’s restrictions.
2. Your own app template
It may already include login, a database, finished screens and deployment. List the features that work before the start. “A standard template” is too vague: an empty screen and a complete user account area represent different amounts of previous work.
3. A snippet from a practice project
You learnt to read a table from a file and want to reuse the function you wrote. Check who created the original snippet, where it came from and whether attribution is required. The competition question remains, too: can you reuse your own practice code written before development begins?
4. An existing product
Imagine your booking system fits the new task almost perfectly. Adding one screen does not make the rest of the work new. Ask directly whether extending an existing product is allowed and how to separate previous features from the event’s result. If that format is not permitted, choose a different starting point.
5. AI-generated code
First find the rule on AI, then check when the code was created. A function generated a week ago also existed before the start. Record the tool and its role, along with what the team checked. Make sure you can explain the code and reproduce its behaviour.
How do you ask a question the organiser can answer?
Instead of “Can we use our template?”, describe the boundary:
We have a repository created before the event. Registration and user storage already work. During the hackathon, we plan to build a search for available classrooms. May we use this starting point? Where should we disclose the existing features in our submission, and what evidence of our new contribution is required?
Add a link to the specific rule that raised your question. If the repository is private, first ask for a safe way to show the relevant part. You do not need to send access to the entire product just to get one answer.
Keep the response with the version of the rules and the date. Clarify whether the explanation applies to your track. A bare “yes”, without a description of the component, can be hard to connect later to what actually ended up in the final project.
How can you document components without writing a long report?
Keep a short component list in your project documentation. The example below is for practice; replace its names and statuses with your own.
- Charting library
What existed before the start: a ready-made package. Source: link, version and licence. What to clarify or record: conditions for use and attribution. - Personal template
What existed before the start: login and a user database. Source: repository and baseline commit. What to clarify or record: the organiser’s response on whether it is allowed. - New search feature
What existed before the start: nothing. Source: project files. What to clarify or record: what the team implemented during the event.
A baseline commit is a saved version of the repository. It helps show your starting point, but does not replace a description of previous features. A new repository date does not make copied work new, either. Record its actual origin, not just its upload date.
How does competition approval differ from a licence?
The organiser decides whether a component is acceptable for the competition. The code author sets the conditions for using it. GitHub’s documentation explains the role of a licence: a repository being publicly visible does not, on its own, give general permission to copy and distribute its code.
For a practical check, find the licence file and keep a link to the source. If the conditions are unclear, ask the author for permission or choose a component with clear terms. Do not assume that “the competition allows libraries” means you can use any code you find.
Before choosing an event, open the Stavleak hackathon catalogue and read the terms of the track that interests you. If you want to extend an existing product, get an explicit answer about that before registering.
FAQ
If I wrote the code, is it definitely allowed?
Authorship does not override the competition’s requirements on development timing. Describe the component and check the chosen event’s rules.
If I rewrite an old project in another language, is it new?
A change of language alone is not enough to establish whether it is allowed. Tell the organiser about the previous project and your planned changes.
Do I need to disclose a small function?
Follow the required disclosure format. If the boundary is not defined, include the specific snippet in your question to the organiser.
Sources
- MLH: Hackathon Rules — an example of rules on previous work, libraries and digital events.
- GitHub Docs: Licensing a repository — licensing and public access.
The component examples and message to the organiser were created by the Stavleak Team. This article was prepared with AI assistance and checked against primary sources.


