[Music] I have judged I'd say in around three to 400 of these hackathon projects over the last year like I think all of the ETH globals last year. So, while I'm here on behalf of Dynamic, I also wanted to share with you what I saw as a judge and also on the other side of the table as a participant who's won prizes and also lost as well and being very confused as someone who judged before, how they could possibly lose this dark art. So, I wanted to share with you some of those learnings so that you can use them here today. Okay? And along the way, I'll teach you about dynamic in the bounties as well in case you want to use that or you know how to use it, when to use it.
All right? So, like I say, my I suppose spirit animal is Snuffkin. If you've ever seen the new M Newman's, he is awesome. 10K up for grabs. Three prizes.
If you build it, integrate an AI use case or consumer use case or financial use case. Anything goes. It's very open this time. Completely up for grabs. Should be one project, but if there are two or more which are fantastic, then yeah, again, open.
So I'll share some tips about using dynamic along the way because the idea is to make it very very simple, quick and easy so you can focus on what you want to do. Again, dynamic is like the front door to your app. So anytime you want someone to log in or sign up, you don't want to build authentication from scratch. You want to use something that's already there. So you'd use dynamic.
So it give you access to let's say onboarding through socials. Here I'll do it this way. So that's what it would look like if you plug it into an app. You get sign up, email, everything else straight away, even pass key. And afterwards, you can generate a wallet for people.
You'll get this tip a bit later on, but once logged in, for example, like this,
you can see some things are already integrated like Coinbase On-Ramp, which happens to be another big bounty. So if you want a native integration with both, it's already there. But I'll cover that a little bit later on. So it's like the front door, put it in, handle sign up and login, embedded wallets, everything else without having to worry about it. Again, if you need web 3 wallet linking, fire away, no problem there.
So that's what Stripe uses us for. If you go to Magic Eden, you'll see also a good implementation of that. Again, you can choose any of these sites and you'll you'll see an example of what it could look like. Okay. All right.
So, how do we win? How do we lose? I'll share with you just a few of my own tips. You might have seen this yourselves, but I just want to emphasize them because they are really helpful. When judging anything which isn't working working well, rather than justifying it, just leave it out.
Again, these are opinionated. These are my opinions. But if something isn't core to the product, core to the thing, leave it out. If it's like a moonshot or it's a nice to have, just get rid of it really because judges are quite overwhelmed and we just want to see the best of your project and it's hard to focus on multiple things at once or talking around something at the same time. The best demos I noticed from working in demo engineering are self-documenting.
So ideally, if you need a slideshow or you need something else or you need a talk track to show what it does, it it might not necessarily be the best way to show your product. If you can put it in the hands of a user and a judge is a user and they use it and then it's clear to them by the end what it does, that's a great product. Same with use like if we downloaded an app today, you wouldn't download like a tutorial book with it unless it was maybe one of those lovely games we used to get. So yeah, the idea now you can add documentation to it. You can add a doc site.
We've seen that done before and it worked really well. Again, you use cursor to generate some cool docs, host a doc site and that would be great too or record a video of course. But again, usage of the product should be self-documenting, right? And the focus is on the present. I don't think I mean I personally have never judged a project and gone you know what these two projects were pretty equal but I liked the road map of that one better or I liked where they wanted to go better.
No, like that if the product is great, the product is great. Again, it could technically come down to it, of course, as a finalist, but ideally you just focus on the way in which it's used now. And those projects generate great products as well. All of these tenants go for great products. And again, if you get the core use case done, then polish.
Polish is so so nice to see. Also, I'm living in Poland and it was really difficult for me to write this cuz I thought it meant everyone should write it in Polish. But please polish if you have time. It's like the greatest skill of the dark art of hackathons is finding time to put polish on. But wow, it's Yeah, it's so great when you just see like these little extra touches on top of everything that works already.
It's it's amazing. And then the other thing is that the great idea doesn't need to be complicated. So we're in this world of like web three wallets and we know we have 525 of them to link and handle between each other. But a great idea again can be simple just well implemented. If you're going for a partner bounty, I'd say that very often I'd see that like if you use something, it doesn't mean you made the best use of it.
And the easiest way is just to talk to the partner and go right look, I'm thinking of using this or I did use it. Not necessarily what are you looking for because that kind of leading question is impossible to answer. Rather, what do you think of the look and feel of this? or is there any reference customer you think we should take a look at and go that's a great experience. So we often see that it's like an afterthought and it can be if you're going for a finalist track and you just happen to implement this thing super cool all good but again for partner bounties yeah it's always really helpful to to think a bit deeper about the thing you're using so I want to share few really awesome projects which are my favorite this one was quite comprehensive but you can read on the screen what it did and you can look it up afterwards really really amazed so it combines like a really good problem a simple problem that a child wants to save in a country with hyperinflation simple problem I mean complicated problem but like simple statement of a problem right and there are ways in which you can solve it so you need the job to be done is like your user is a child that's a fantastic challenge and you can see how it worked here by the prizes on the right so they use dynamic it's really really cool to see check it out and then something on the hardware side which is a bit more like niche so less less necessarily like not necessarily world changing but equally interesting was a captive Wi-Fi portal which uses tokens instead of money.
So if you own certain tokens so you could use if you were part of a certain club and you could prove that with tokens then you get access to Wi-Fi in certain parts of the world. That was a hardware one again a finalist and really really interesting. So spans yeah all across but those are two you could check out and just see like what the submission look like and everything else again uh I'm going to share this afterwards if you want to check out the link I won't go through them all but there is five five kind of standout ones which are very different so yeah I'll give you a sense of it right if you want to implement dynamic I'll give you a quick speedrun this will help you with all of the projects I promise whatever whatever you want to integrate again doesn't matter I just want to help you out there are is integrating with AI right here. Make sure you can see it. So you should see this in every single documentation of every single project, right?
As a user, it's exactly what we want to see. There are kind of three ways. You could have starter projects like a generator like create react app, create next app, whatever it is. We have create dynamic app. So generates a project for you out of the box.
The issue is that lots of LLMs and like Vzero and stuff, they can't run command line commands like that and they don't have enough access to do it properly. So you might run into trouble. But if you're able to use a command line on your machine, if you're able to use cursor or windsurf, run this command yourself and you'll be good to go. So again, there's different stacks which you can use. So you can create a React stop with Ethereum and VH support.
You can create Nex.js and so on. So there's plenty. This is my favorite. For every single project which you implement, including dynamic, if you're relying on the LLM to search documentation, it can be stale, especially in web 3 when things move really, really, really quickly and things go out of date really, really quickly.
So the best way to solve it is using an MCP server. So here we have one which is adding to cursor and what it means is cursor can then search the live documentation rather than relying on LLM data which might be stale. So it makes a server call searches live and that means if there's a problem we fix our documentation tomorrow straight away cursor will have that. So, so MCP server dynamic
MCP server is like a Yeah,
dynamic has
Yes. Yeah. You install it from here and so most projects I hope will will have this add to cursor and then you can say to cursor or windsurf hey please check the dynamic docs. You have to be quite specific. I think sometimes you have to you know no room for misinterpretation.
use the tool to call the live documentation, but you know, you get there. So, that's amazing. And then you have oneshot prompts. So, again, most projects, including us, have really good actually oneshot prompts where you just copy and paste this and it's exact instructions. The difference between this and a documentation page is more like the fact that you have down here critical instructions.
So, guard rails for the AI models, things which we know they often get wrong. And that's the difference between copying in a tutorial or just using the normal documentation. A oneshot should have these guard rails like never do the following and verification steps. So also super helpful in any documentation site. Now we have this really neat feature where so I can't say any documentation site where on any page you are you'll have this menu.
So you can copy the page as markdown and then paste it into v 0ero lovable or cursor wherever you you're doing things. So if you're saying I want to implement a specific feature. I want to add access control for my app. So I want only people with certain email addresses to be able to get in and everyone else needs to sign up on a wait list. Really good use case for a hackathon.
Then you could go to the page access lists. You could copy it over and then paste it into context and say I'm implementing this. Please use this tutorial. You can also open it directly in claude or chat GPT. So it just brings you over there which is equally useful.
Depends where you're implementing. So those are some tips in general. Again, dynamic aderes to all of the kind of gold standard of of these, but I I hope you see them across the board. We certainly have them. And then anytime you want to use a feature, just go to the implementation guides, sort by your SDK or filter and you'll get a list of things which you can implement.
So anytime you need to use something locally, you can use the create dynamic app or you can just use the quick start. If you have an existing project, you really know what you're doing, you want more flexibility, then it'll generate commands for you. All right, any questions? I'll be here all weekend, by the way, with the lads. So the three of us downstairs give us a shout.
It's no problem. So that's remembering MCP. Again, some final tips for you along the way that yeah, ship with Coinbase on by default. So it's really, really, really cool the integration with Coinbase. You can customize it completely.
Uh I'll just show you for a second because I know it's a very popular integration. If you look at let's say on-ramps. So you look at money and funding on-ramps customizing the on-ramp experience you can completely customize it to create in the onboarding experience pay with Apple pay with card pay with whatever by default by USDC with card. So you can completely customize how it's done to connect to Coinbase and straight away in the end you'll have it right here in the wallet which you received when you signed up with email. So, really nice flow.
I sign up with email, don't know what crypto is, I buy with my credit card or Apple Pay, and suddenly I have USDC to spend across the board. I really like that one. There's also guides for like if you go to recipes, you have sending USDC, buying, receiving, and stable coin accounts, earning yield, that kind of thing. If you're building a bank style use case for consumer, we have everything else. All right, there's one last hook on the payment side which is a tip for you because it's very very new and untested.
I mean tested by us, unused in the sense of like production wise. It just went into production. So I'd love to use it with you. It's called pay with dynamic. It's down here.
So, it combines if you want to fund a wallet, it combines the ability to transfer from exchanges, fund from your external wallet, purchase through an on-ramp like Coinbase or Banksa, and choose them all through a unified interface all for your MPC wallet. So, I really really like this one in terms of the onboarding experience because it kind of connects connects the dots, right? You get in the door, you get given a wallet, you're holding this wallet, and you don't really know what to do with it. That's the next step. So, it's kind of similar to this, which I really, really like.
If you connect an external wallet, you can fund from that. Received by QR, all kinds of stuff. Okay. So, last things I have for you. Yeah, the office hours are great.
Use them where you can. And in my opinion, might not be everyone's, but it's it's hard to like give merit to every single project when it's being judged because you have so little time. And I always feel absolutely awful when you know, you feel like you can't give appropriate time to all of them. So just just know that everyone is trying and everyone wants to see the best of every project in the time that they have and you can help by cutting things down and and showing the best and giving more as people want to look at it in time like as extra documentation. And again for me it took me a long time to learn this doing these hackathons and it it is a game in the sense that like you might win you might lose but if you don't have fun if you're playing there's no point.
So that was my favorite part of all of this is learning how to have fun along the way. And that's biggest tip I could ever offer. Took me too long to learn. And then lastly, if you're building with dynamic or you talk to us tomorrow, I'll catch you with a little like maybe care package for a few people which we'll put together and give to people in person tomorrow if you need a little power up because that's what I wish I had when I was doing it. Okay, that's me.
[Music]
Automatic transcript — names and jargon may be misspelled.