ETHRome 2023 Hackathon

Two weekends ago, October 6th-8th, four members of the Subspace team took part in the first ever ETHRome hackathon. It was a great event setup by the urbe.eth guys - a group of passionate web3 enthusiasts based in Rome. It should be noted that our team did not go with the specific intention to represent Subspace but rather use it as a chance for colleagues to meet IRL and build bonds hacking towards a common goal.

On that team, we had Jim Counter - Head of Ecosystem, Dariia Porechna - Research Engineer, Fradique Villalobos - Community Lead and joining us remotely was Diana Pertseva - Product Designer. We all brought a different set of skills to the table and Dariia had the kernel of an idea based on Kyiv Digital, an app where, among other city administration services, users can vote on community decisions such as renaming streets and get reports on where public funds are spent.

The hackathon was split into two tracks:

  • DAOs & Dragons - Governance Track
  • Encryption Games - Privacy Track

As Subspace is currently defining its governance structure the former felt like a sensible route to take. The plan was to try and build a tool that made participating in governance easier. An astonishingly low number of token holders tend to turn out and vote for important governance proposals.

Day 1 - Friday - Meet and Ideation

The team met and spent some time at the opening ceremony and then ideating on a design. We came up with DAOhub which comprised a simple, familiar UI that a user would connect all the wallets they own which hold governance tokens for a protocol and a curated feed would be displayed. Our thoughts were along the lines of “Twitter for governance proposals and votes.” But there was an interesting twist in that the unwieldy governance data would be used as context fed to an AI model so the user could save time understanding the nuances of the proposal in a conversational manner. The AI would also be aware of your on-chain behavior so could offer specific insights into how the vote would impact the user.

After a call with Diana to align on the idea we all got to work finding a suitable UI framework, testing voting contracts running on Nova (the Subspace EVM compatible domain), resurrecting an early sketch of a Sapial from a previous Subspace offsite hackathon, performing market research into what is already available in the space and sketching out a design for the product. We started with the name ParticipatorPro but this quickly evolved into DAOhub. An early FigJam to see where we were going is here. We also took the decision to go mobile-first with DAOhub.

The team worked into the late evening and felt like the idea was starting to take shape in the GitHub repository Dariia created.

Day 2 - Saturday - Heads Down

The big one. This was the day the team were expecting to spend most of the effort on building out DAOhub. Diana had iterated on her design overnight and things were looking much more like a real product. This spurred us on into working through all the challenges we had to solve which were:

  • Try and get a UI framework that looked anything like Diana’s design.
  • Try and get the AI model to work with Sapial including the embeddings for context and the prompt templates for suggested questions.
  • Wire the UI and the AI together.
  • Come up with a list of sensible suggested questions for the AI.

This went well for a few hours. Jim popped his first Red Bull in about 5 years and as he started seeing the matrix the UI issues were steadily decreasing. Dariia had problems getting Sapial to fetch DAO data but after a while managed to get some questions/answers going back and forth. Fradique came up with a great list of the commonly asked questions on governance proposals and brought his usual good cheer and positivity to proceedings. He was also back and forth to the sponsors - forging friendships and giving out Subspace hats. These were the good times.

Then disaster! We could not get the Twitter-inspired front end to talk to the back-end. These were the bad times. We had a JavaScript UI and a TypeScript Sapial and joining the two would not work (we had no UI experts on the team). By about 18:00 we had to have a frank discussion about how we would proceed without having the two connected up. Dariia had an idea that we could parachute an experienced front-end dev she knows into the situation for some sage advice.

Time for a note on hacking. We had to produce a demo video of the product. Which means we only really had to deliver enough to make that video and demonstrate intent rather than be judged on the elegance of our implementation. Introducing a web1 solution to a web3 problem - the <iframe>! It was possible to run two webservers and have our AI friend chat with us within the iframe. Technically we had two apps running but the result was what we needed.

Dariia quickly got things moving with this new approach and the team were back on top! We all worked late into the night on refining the solution. The organizers laid on a wonderful selection of food and drink to keep us all going and we ended the evening with something that looked roughly right and, more importantly, worked end-to-end.

Diana came through with a great pitch that really drew our ideas together and we planned to use it to support our submission as well as for the background to the video demo.

Day 3 - Sunday - Judging and Closing Ceremony

The team had all agreed to be up early to record our video from our respective accommodation while fresh and rested. Fradique had produced a solid script, Jim pushed the last few UI tweaks and Dariia had everything running on her laptop where we would record. It required only 3 takes to produce our submission video.

Buoyed by submitting with a whole half hour to spare, we all headed to the venue. At this point our understanding was that the judges would be viewing our submission on the TAIKAI platform and inviting the winners to demo for them. This was not the case of course and Jim arrived at about 10:30, checked the ETHRome Discord at 10:48 and read that DAOhub were to present their app to the judges at 10:45. A rush to the hacking room found that our panel were missing a judge so we had a slight reprieve while that was sorted out. In which time Fradique arrived and problem two struck - we realized our submission had not tagged our sponsors! We reached out on Discord for support and the lovely Carlos needed an explanation in person but managed to add our tags to our project in short order. Jim ran back round to see Fradique and Dariia about to start the demo in front of our panel of judges. He arrived just in the nick of time. What a rollercoaster morning already!

We presented and answered the panel’s questions. It went rather well considering the rush and we managed to both explain what we saw as the next features we’d like to implement (those we designed but ran out of hacking time) and also gained some great ideas for v2 from the judges. We were picked to be the first to present of course!

The team took some time to catch our breath after this and then went to speak to the sponsors to explain our concept, cement some relationships and evangelize Subspace where appropriate. I’ll let the pictures do the talking here.

After another break it was time for the closing ceremony which also had the announcement of the winners. We were aware there were much more accomplished teams at the hackathon but we’d had a blast and any recognition would simply be icing on the cake.

We found our seats and were amazed when a real Roman Emperor took to the stage!

We appreciated the hackathon approach to the food consumed measurement.

As the winners were announced and explained their projects we realised we were in the presence of some very strong teams who had put together great examples of clever ideas. Not that ours wasn’t but we certainly have a lot to learn about how to approach a hackathon.

After the winners were announced the bounties followed and to our delight Polkadot were so impressed with our idea that they awarded us with $1300 of DOT! We cheered and whooped as we realized the recognition we’d got.

The weekend was an absolute blast and we all thoroughly enjoyed ourselves. We encourage anyone considering participation in a hackathon to pull the trigger and go for it. It’s an experience I’ll treasure for years to come.

Here is a list of all the projects submitted: ETHRome 2023 Projects.

And here is the official winners announcement: ETHRome 2023 Winners.

Lessons Learned

As the sun set on the hackathon, it was a time to reflect on how it went.

  • First, note that this was Dariia, Diana and Jim’s first hackathon ever and only Fradique’s second so we were a pretty green team.
  • Go and speak to all the sponsors before putting pen to paper. For example, if we’d noticed on the first day that some sponsor projects use on-chain governance, we could have enriched our product more effectively and improved our pitch.
  • Sponsor booths may also have engineers on staff or on call that will eagerly help you use their product - Polkadot team helped us get the DAO data.
  • In a similar vein, approach with a less formed idea in your head. Consider the offerings of the sponsor’s products (especially those that are there in force with a solid support contingent) before deciding exactly what problem you want to solve.
    • Many of the winning projects used multiple sponsor frameworks. And those sponsor bounties certainly look inviting!
  • Reach out to fellow hackers. Our UI/back-end issues may have been solved by a front-end expert in 10 minutes if we’d have known who those experts were. We were a bit shy and should have followed up our post in the event Discord.
  • Hackathons are probably a younger-persons game. There were guys present who worked straight through the 40 hours with no sleep fueled by caffeine and passion for the code. Jim is no spring chicken any more and after the energy drinks, lack of sleep and overnight journey home is feeling the burn on this morning-after-the-night-before Monday :slight_smile:
1 Like