Hackathon Roadmap on Web3

Hackathon Roadmap on Web3

What is Hackathon?

What exactly is this exciting term? If you are into technology, you have already come across this concept.

Hackathons are popular activities for students, junior developers, and even experienced developers. And there's good reason for this popularity. Besides being a fun activity, it provides many benefits, such as sectoral experience, knowledge, and group work practice.

A hackathon is usually hosted by a technology company, where developers can team up to work on a project for a short time. During these events, teams have to work fast to accomplish their tasks and are often sleep deprived :), since hackathons last 24 hours or a weekend. Along with the pandemic, online hackathons with limited time started to be organized.

In short, hackathons require short-term intensive production on a project based on the competition of teams with each other.

Is it possible to complete a project in such a short time? The desired product is not the project but the prototype. What is a prototype? It's a working, significantly small part of the project you're considering. However, according to statistics and my personal experience, only 20%-30% of the planned and imagined prototypes can be completed within the hackathon period.

In addition to the competition, sleepless hours, and fatigue, other aspects of the hackathon contribute to the experience and increase the fun, such as meeting with mentors in hackathons, workshops, and side events.

What to do in Hackathon?

Photo by Alex Kotliarskyi on Unsplash

Unlike other events, Hackathon is a collaborative event. Developers, designers, and project managers (and finance or legal professionals for web3 projects) come up with a solution to a problem using a target technology stack. Team members from different disciplines bring together hundreds, maybe thousands, of lines of code with the same goal in mind.

As a developer, creating a product in such a short time is very satisfying for me. Apart from this gain in hackathons, the workshops I attended and the opportunity to exchange information with more experienced mentors and explain the product I made via presentations also made great contributions to me. Of course, there is also a "reward" side.

Benefits of Joining a Hackathon

Let's say you are a front-end developer who wants to enter the Web3 field. The fastest way to do this is to join a hackathon. Such a start will teach you how to use your existing skills effectively in a web3 project. In addition, you will have the opportunity to network with people in the sector.

Think about it this way: if you think Web3 is a stunning technology, a concept that will make a difference in the future, you’ll be working with people with the same viewpoint and making new connections with them. There can be no faster and more effective entry than this. Let's not forget that many employers and investors will be busy discovering talents at these events.

As a finance professional, I can't help but say that joining a hackathon will look great on your resume. Moreover, even if you are on a team that did not win, you’ll still gain more knowledge and experience in a short time compared to another event.

What do We Need to Join a Hackathon?

I opened this entry mainly because the audience sees themselves as inadequate. Contrary to popular belief, there is a hackathon for you, even if you do not have any sector experience. In hackathons, especially in fields at the beginning of their development, such as Web3, developers can easily find teams that suit themselves. For example, even if you cannot write a smart contract, you can make an outstanding contribution to the team by creating a dApp frontend with HTML and Javascript.

Even if you can't contribute anything, being in the event as a spectator and watching the presentations will motivate you for the next hackathons.

Finding a Good Project

It is worth saying this at the beginning: not every project is a good hackathon project. To list the features that a hackathon project should have in general terms;

  • A straightforward end-to-end project: The project must have a clear problem to solve and a solution that will be considered reasonable by the jury.

  • Attainable: As mentioned in the previous sections, we usually tend to make complex project plans, and only 20%-30% of what we plan can be done. Such planning will make us feel unsuccessful at the end of the hackathon process. It's crucial to design smaller prototypes.

  • The project should consist of tasks for team members of all levels. If a codebase is designed that some team members have difficulties participating in, this may lead to losing team spirit after a while and not enjoying the process. Identify your project, plan it, and make the tasks small enough to be done in 30-40 minutes for any level.

In some hackathons, you are given a list of topics. You choose one from this list and start thinking about it—for example, the refugee problem, food security, or adding advanced search features to the system. Subject-based hackathons may be easy for you, but the main issue here is that you may not have in-depth experience in these subjects. Here you should stop and think and follow these steps:

  • Have small chats on these topics with mentors. If there are workshops held before the Hackathon, be sure to attend them.

  • Prepare a research list on your chosen topic, distribute the subtopics to team members, and try to gain knowledge. Try to physically express the collected data (images, mind maps, etc.), and do not let them out of your sight.

  • Put all this data together and develop a few possible problems and solutions. Remember, it should be simple and accessible.

  • It would be best if you ensured every team member internalizes the problem and the solution.

Hackathon on Web3

What is Web3?

If you are hearing this term for the first time, it is the third generation of the Internet. It is a new generation Internet architecture built on blockchain, a decentralized information protocol.

In Web3, users are responsible for their information and identity. Sharing this information with a third party can only be done with their permission.

Participating in a Blockchain-based Hackathon

Although it looks the same as the hackathons in the Web2 world, it will differ during the team setup process. Web3 is a multidisciplinary field, and it can be helpful to reflect that to the team. It would be beneficial to have someone on the team who has previously developed a project in the field of finance, games, or law.

Developing Solana-Based Applications

Solana is a technology that has been one of the strongest candidates to be the infrastructure of many projects since the first day, with its technical advantages to developers.

If you are familiar with the terms, you can do the processes you need to do in the Layer2 stage in many blockchains with Solana, with a faster TPS rate and significantly low Gas Fee. What does this provide you? Of course, the codebase you use is becoming more understandable and developable.

The advantages of the Solana in a nutshell:

  • API interface to access our system program and smart contracts on Solana from all programming languages

  • An advanced RPC service

  • Websocket interface not found in many other blockchains

  • The power of the Rust

  • Comprehensive documentation

According to the latest Electric Capital Developer Report, the Solana developer ecosystem has grown 623% in the last two years. That is a new record in web3, and the reason behind it is that Solona has an inclusive ecosystem and developer support. Speaking of developer support, the SuperTeam program, run by Solana Foundation, started in India for the first time and distributed nearly $1M in support last year. SuperTeam program now supports developers in Turkey, too, thanks to patika.dev

This means you will easily access bounty (a reward program) and grants in the Solana ecosystem. You can also get support and mentorship from SuperTeam members for the projects and the upcoming Solana Global Hackathon (1 February-15 March).

Project Reviews

Under this entry, I would like to analyze a few projects that received awards in Solana Hackathons and look at the general project development categories. You can find the list here.

LULO

It is a project to manage decentralized debt orders in the DeFi category. It sets a win rate to lenders based on volume in itself. The project consists of the lender and the requestor. Lenders earn from the liquidity they provide and the interest paid by borrowers.

High-volume versions of this project, such as MakerDAO and AVVE, are available on different blockchains. The creation of this system on Solana has been tried to be provided with some innovative metrics and won a 25K USDC award.

Technical requirement:

  • Solana web3.js

  • Smart contract (program) written in Rust

  • An interface for users to interact with. It can be developed with NextJs, React, or Angular.

BlockLive

Perhaps the most open applications on the blockchain are event systems. You can offer many advantages for communities and integrate NFT business models into projects in many different structures.

BlockLive is a preliminary prototype of a comprehensive project planned for Solana. The project aims to get a share from the event sector, which has reached a very large volume, with Solana Pay. Tickets purchased through a mobile application are defined as NFT to the buyer's wallet. Although direct sales will not be used due to regulations in our country, sales can be made under the name of loyalty rights, and the NFT ticket system can be used. It is a project that won the first prize by receiving a 50K USDC award in the mobile application category.

Technical requirement:

  • Mobile development: Flutter / React Native etc.

  • Solana Wallet library / Solana SPL Token

  • Metaplex NFT Library

Solfront

Solfront is a project that combines the real world and crypto assets in an e-commerce infrastructure. It won the 25K USDC award as 3rd in the payment category. We can say that it is the version of the link payment system of fintech companies such as PayPal or iyziCo has been cleverly moved to Solana. One of the good aspects of this project is that the customer's SOL payment via the link is converted to USDC (stablecoin), and the payment to the business that created the link is transferred as a bank transfer. By the way, it is useful to examine the relevant payment APIs from circle.com.

Technical requirements:

  • A frontend for link building and wallet connection: HTML/Javascript, React, NextJs, etc.

  • Solana Wallet Library / Solana SPL Token

  • Circle API

Epics DAO

It is a project based on the motto “Build to Earn” and enables software developers to earn tokens by solving problems in the reward programs opened by platform customers. It was awarded 10K USDC in the DAO category as the 5th.

Technical requirements:

  • Token system: smart contract developed with Rust

  • Project publishing and uploading interface

  • Web3.js library

IronForce

The project, which enables developers developing on Solana to facilitate their developing processes and deploy smart contracts they developed with a swagger-style interface more easily, won the first prize by receiving a 65K USDC award in all categories. Since Web3 is a very new field, it is essential to develop products quickly and follow the development process. There is no doubt that this project has received this award for these reasons.

It turns out that it used all the opportunities Solona offers us in the technical infrastructure. In addition, we also see that it publishes APIs created using AWS APIs.

You can find the entire list of projects here. In addition, you can reach the project ideas prepared for you by the SuperTeam team at http://build.superteam.fun. I think the ideas here are topics that can be discussed for an online hackathon and can be evaluated for a long hackathon process.

Building a Team and Producing Projects

As mentioned before, web3 is a multidisciplinary industry. However, it also requires knowledge of new technologies and methods.

Technically, having the following roles within the team will put you ahead in a hackathon process.

  • Frontend Developer: Depending on the project category, it can be web or mobile. However, a front-end will be needed. Let's say you are developing a web-based application, and it doesn't matter what the framework is. You can use HTML, CSS, and javascript as well as react.js. The important thing is to be able to make rapid prototyping. This team member should be familiar with RPC services or the solana/web3.js library.

  • Rust Developer: If a contract needs to be written in your project, there must be a rust developer who will write it on Solana.

  • Backend Developer: If your application includes traditional API layers like some of the projects we have mentioned before, you will need a developer to develop these layers with node.js, python, or .Net Core.

  • UI/UX Designer: A team member who will design the front-end with figma and manage the UX side will be of great advantage. However, it is not 100% necessary.

  • Game Developer: If your project is a game or a game-related service, there must be a team member who will code it with Unity or use the service within an existing game. We are not talking about a complete game here. You just have to test the service you developed with a simple mechanic.

  • Finance Specialist: If your project has tokenization, having an expert who will undertake the planning and presentation of the jury will put you forward.

Production

The team is formed, and the idea is alright. Now, the production process begins. Remember, this process will end with the jury presentation. If it is an online hackathon, a check will be taken from you at certain intervals, and you will be asked to explain the stage you have reached. There's no need to be stressed about it, and it's a perfectly normal process. To avoid getting stressed at these stages, you should do the whole project process and team role distribution at the beginning. Now let's write down these stages:

  • Gathering information: Upload as much information as possible on the subject given to you or on the topic you specify in a medium accessible to all team members (dropbox, google drive, etc.).

  • Visualization: In light of this information, define the problem you want to solve and your solution, the personas in the project with a tool like Miro or lucid.app. Persona is the categorization of your users based on specific characteristics.

  • Task List: Write down and group each task as much as possible in tools like Jira, Asana, or Space. You can separate tasks into different categories, such as frontend and backend, with tags. Associate and distribute this task list to team members. In this way, each team member will have a clear job description.

  • Identify Checkpoints and Prototypes: Get very small parts operational instead of generating the entire product simultaneously. For example, when the front-end of the application is completed, launch it immediately. Then relaunch it when you add an API call to it.

  • Presentation: In addition to preparing a working prototype for the jury, prepare a presentation that includes your inspired problem, possible solutions of yours and competitors, and the following roadmap. Assign one or two people to present.

Suggestions

Blockchain is a very new business field. There is no limit to the projects to be produced. When designing a project, you should approach this point of view and turn to non-complex ideas. Remember, a small prototype can pivot into a big project.

Under this entry, we will cover specific categories through Solana hackathons.

  • Artificial Intelligence: You see that there has been artificial intelligence hype in recent months. Using artificial intelligence tools together with web3 technologies can lead us to produce horizon-widening projects. chatGPT provides API for developers, and visual AI tools like DALL-E or Midjourney have APIs, too. Especially when combined with NFT, good ideas can emerge in the art field.

  • DAO: Although this category is a difficult area since it is based on community management, you can deal with the voting process among community members by reducing it to a poll, or you can interpret a messaging application on DAO.

  • Developer Tools: I think it's a category that can stand out. As mentioned before, it is a new field, and developers have a lot of work to do. These things need to be made easier.

  • Content: Our need for content will never end. Licensing of content is also an issue that continues to be a problem. You can look for solutions to these problems with NFTs.

  • Ad-Tech: Transparent monitoring of advertising and viewing rates in a decentralized world can pave the way for many project ideas.

Conclusion

Hackathon is an end-to-end fun and educational event. You will learn a lot, which may be a little stressful. But you will definitely want to join again.

I recommend you follow Solana Global Hackathon to have this experience. It will start on February 1st and will last until March 15th. Moreover, the SuperTeam Turkey team offers you mentorship and workshop opportunities to prepare you.

References

Wikipedia: https://en.wikipedia.org/wiki/Hackathon
Wikimedia Hackathon Program: https://www.mediawiki.org/wiki/Wikimedia_Hackathon_2017/Program
Build With: https://www.buildwith.org
Hackathon Guide: https://hackathon.guide
SuperTeam Build: http://build.superteam.fun
Solana Summercamp: https://solana.com/summercamp