New Ethereum talks, every Monday. The week's conference uploads by event, in your inbox.

Loading player…

From Zero to Full App in Minutes with nora, the Coding Agent I Luke Wang

ETHGlobalThu, Oct 9, 2025, 12:00 AM

Speaker

Luke Wang presents Nora, an AI coding agent integrated into an IDE (currently a VS Code fork), designed to rapidly build full-stack web3 applications, especially in Solidity and other blockchain languages. Nora leverages foundational LLMs (like Claude, Gemini) with post-training reinforcement learning for web3-specific tasks, enabling users to generate, debug, and iterate on smart contracts and dApps with minimal human intervention. The demo showcases creating a cross-chain vault app from scratch, highlighting Nora’s self-correcting abilities, security best practices, and support for multiple chains (e.g., Ethereum mainnet, Base L2) and frameworks (e.g., LayerZero). Nora indexes codebases for context, supports prompt engineering for better results, and is optimized for Mac/Linux (Windows experimental). Future plans include CLI and API versions, broader language/framework support, and enhanced developer tooling. Nora accelerates prototyping, reduces manual coding, and empowers both novices and experts to build complex web3 apps efficiently. 00:00 Introduction 00:28 What is Nora? Overview & Form Factor 00:55 Live Demo: Building a Cross-Chain Vault 02:13 Error Handling & Self-Correction 03:18 Reviewing the Generated App 04:30 Editing and Iterating with Nora 05:35 Q&A: Model Tuning and Performance 06:26 Security, Verifiability, and Determinism 07:34 Prompt Engineering Tips 10:07 Coding with AI: Best Practices 11:24 Codebase Indexing & Context 12:17 Generation Accuracy & Domain Understanding 13:18 Foundational Models & Post-Training 14:45 Use Cases & Model Selection 15:39 Open Source vs Closed Source Models 16:49 IDE, Traces, and Judging 18:08 Human Creativity & AI Execution 19:44 Complex Apps & Human Intervention 20:48 Chainlink, Oracles, and Integration 21:19 Platform Support: Mac, Linux, Windows 22:15 Demo Recap & Usage Quotas 24:01 Reinforcement Learning & Backend 24:39 IDE Fork vs Plugin, CLI/API Plans 25:31 Language & Framework Support 26:03 Closing & Support Channels _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 🇺🇸 *ETHGlobal New York* This workshop is specifically for ETHGlobal New York, a 3-day hackathon held August 15-17, bringing together the most skilled web3 developers, designers and product builders from all around the globe for a weekend-long adventure to advance the Ethereum ecosystem! Watch the full ETHGlobal New York 2025 playlist here: https://www.youtube.com/playlist?list=PLXzKMXK2aHh4Xze0ZeSWCSGsw25clPpvZ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ✅ *Follow Nora X: https://x.com/mynoraai ✅ *Follow ETHGlobal* X: https://x.com/ETHGlobal​ Warpcast: https://warpcast.com/ethglobal Website: https://ethglobal.com YouTube: https://www.youtube.com/c/ETHGlobal _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _Are you interested in Ethereum development and entrepreneurship?_ 👉 Sign up for the next ETHGlobal event: https://ethglobal.com/events 🎁 Get exclusive access and perks with ETHGlobal Plus! https://ethglobal.com/plus 📣 Want us to throw an event in your city? Tell us where! https://ethglobal.com/city _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Transcript

Cool. Um I'll keep this relatively simple. Um you know um everybody has slides. Um we have some slides but you know it's a live product so I think people will be u probably much more interested in how the live product works. Um so so yeah um in a gist Nora the form factor right now it's inside an IDE.

So it's it's basically an AI assistant that helps you write web 3. Um that's just in a gist. Um we have some um extra model magic to u make uh foundational models happen like uh a lot better on solidity and uh other more web3 oriented tasks and uh languages. Uh but you know you can still choose um whatever foundational model you really like um to uh to build on top. So yeah um and this is um this is like a quick demo of um essentially so um I started this around let me see it was I think it was around 520 u so this was done over the course of about uh about an hour I think so um yeah basically what we started with was it's pretty long um it's a lot of uh a lot of contracts but um this is actually our our BD person's um what's it called uh laptop it's not laptop.

It's not a dev laptop. So, um it's actually a pretty good demo of how this works from zero. Uh so, yeah. U basically the initial prompt was uh we wanted to see if uh uh you know, Norah could help us build let's say just a crosschain um crosschain vault where you can uh essentially deposit in uh withdraw um across different uh um different chains. So, um let's say ETH mainet and base L2 for now.

Um yeah and um yeah so so it goes ahead um starts doing uh what it needs to do. Um if it goes to errors generally this is this is kind of what we try to do with AI nowadays uh which is okay if it runs into an error can it fix itself um the recovery and whatnot. Uh this is the part that uh we've spent a lot of time u focusing reinforcement learning efforts on. Yeah. Um and yeah so this is pretty long.

Um it actually even sets up your basic uh what's it called? uh configurations for you if uh let's say you lack Foundry or like basic npm or what whatnot. Um again, this is our BD person's uh BD leads uh uh laptop. So um this was literally from zero. Yeah.

Um and yeah, so so it goes ahead to to write contracts. Um if there's errors, um it tries to fix the uh contracts and what whatnot. And um I'll just show the end product real quick. Um so uh yeah and you can see like uh it does run into errors every now and then but this is all like without any human uh uh what's it called uh um human interaction so it's fixing itself um and um yeah so the end product um we have this uh uh let me see yep okay so so this is like essentially what it's been doing after the first prompt Um, so, um, it's all ready and you know, if you're like a if you're like a newbie to code, it even tells you how to how to run local host, whatnot. Um, yeah, and this is essentially kind of the um the result here.

Um, I won't connect to the wallet, but yeah, you can see uh you can deposit and withdraw. Now, of course, u there's some problems here, right? U you can only deposit on Ethereum and then um you can't you can't really withdraw on Ethereum and then L2 uh the L2 vault too. So um let's say we um you know try to edit and by the way this is just uh asking it to count the lines of code. So um over the course of about like 40 minutes um it's written like 5,000 lines of code core smart contracts it's around 200 lines.

Um yeah but but let's just try it out. So yeah, um let's see. Um so currently the UI only seems to be able to pause it on ETH L1 and with draw on base L2. Can we edit this so that it can withdraw and deposit on both chains. Um

yeah and so you know um what's different from traditional coding is well you could you could get off to to do whatever you want uh during this phase. So um you could eat food, you could uh uh you know check documentation, what whatnot. Um this part's uh yeah it's mostly AI handled. Um of course the the source files are all here. So if there's anything wrong uh you want to make edits or whatnot that's all totally possible too.

Might be taking a while but um yeah and u meanwhile I guess I I'll just uh Oops. Um yeah, I I guess I could take some uh generic questions if people have like regarding uh Nora. Yep.

Nora is specifically tuned to be optimal.

Yep. Exactly.

So because of that, do you see a loss of performance on nonree tasks?

Not really. So anything anything that the base foundational model carries, we can't do worse than that. So like Yeah. So like raw claudi opus or claudi sonnet um those capabilities would be carried over. So front-end dev, python dev um those are things that generally today are already baked into like the foundational model itself.

So yeah

so I'm just getting started with the idea of just doing a prompt and then letting the 500 security.

Yeah. So, um, to be honest, um, it's probably already more security-minded than maybe like 90% of Solidity devs. Um, just because it's AI and the best practices are baked in. Um, and then in terms of verifiability, like verifiability. Um, so, so the weakness about LLMs is that, um, they're not they're not deterministic, right, the logic.

Um, so what we do is we add in compilers and what not to make sure that, okay, there's steps that are like deterministically verifiable. Yeah. When you said for example

yeah well in that sense well this is not like decentralized in that sense. So like um whatever addresses would be like you know we've configured those addresses. So um or or like the AI will pull. So um yeah, it should be like the the official addresses instead of Yeah. Uh because generally probably what happens is you do a Google search, right, and then people try to make a website that just looks like it and then you click on the wrong Yeah.

Uh yeah, you

Yep. That's actually a very good question. Um, I'll I'll try to I'll try to expand on that. Um, so, so I've been I've been pretty lazy with this initial prompt to be honest. U, it's just, uh, let me see.

Let me just scroll all the way to the top. Yeah. Um, so for this initial prompt, I think I've just used something very simple. Uh, actually that's the other one. Um so yeah specific is always better um especially if let's say you want to um use a particular um framework or something else.

Um so like I I've I've prompted the AI to use layer zero specifically for their bridge. Um if you don't it will try to pick for you but um again it's not always Oops. Um it might be a little bit of a scrolling bug, but um the prompt's like getting really long here. Yep. Okay.

This is the initial prompt that I've given it. So um yeah, I've specified that the vaults were just like 42 4626 vaults. Um this is for those who are not familiar, this is like a very standard form of vault um in Ethereum. So like uh I think year um year started it um and so yeah and then um I've specified that I want this to be supported on ETH mainet and basel 2 and then u layer zero as the bridge. Um, generally if you want it even better and even more like specific like um some people just do like full-on PRDS like product requirement docs and then put it in um like like like it's not the type that product managers would need um against like engineers but but you just you just want like the the specific parts really laid out in a clear fashion and that tends to work well.

Yeah. or

um so to the extent that it's needed generally you probably don't need a five-page PRD right um a lot of the PRD is like telling the engineer why is this is valuable um in normal like uh normal tech companies um but you know AI is going to execute it anyways so uh you don't need that part of the fluff but um yeah you know if there's details that you really hope would happen like okay what chains things I wanted to support, what uh user journeys I wanted to support. Uh that would be nice. Yeah. And in addition, so a couple of tips and tricks um for like coding with AI. So like um AI different from like systems code, it's very non-deterministic.

It's like it's a stochcastic model. So sometimes just opening up like a new window, like a new context window. So like um if you open a new window and but but still directed at the same kind of a same workspace um that essentially creates a new chat with like a new context history. Sometimes that works. Um it's really janky but um you know it's something with AI it's like sometimes you're essentially stuck in like a local minima of this very highdimensional function and you know sometimes if you just re reinitiate it works well.

So, um, yeah. So, essentially, you know, one being clear about your prompt. That's really important. And sometimes, you know, if things are really, really stuck, um, it's nice to kind of reboot a little bit. Um, but yeah, those are, I would say, like just off of my mind like the best, uh, recommendations I have right now.

Yeah. have to reassess the code that is cont.

Yeah. Well, it will kind of scan and index. So, yeah, essentially we do index like the codebase in a particular way. Um, yeah. And um that's always included like that's like tied to the codebase.

Yeah.

Yeah. Like the workspace. Yeah.

Yeah. So, so real quick, um, it's like generation accuracy and then understanding of like the the domain. Um so like let's say um you know accuracy means that okay how many like if I give it three passes or five passes um will it will it go through like like for example this is happening live right um there's been a small error right here here here's been a small there's been a small error here um it always happens with stochastic models and can you recover from this because generally like so um if you give it like five passes and it doesn't really compile um then then it generally fails from there whether it's claudi or gemini or like uh grock or what whatnot. So um yeah, so being more tuned on web 3 like the first means that okay, it's much more accurate and then uh uh like much higher probability that it's actually going to work uh like pass and compile. Um and the second is um essentially understanding of practices um so like between different frameworks uh which one's better um is this design pattern a good idea or not?

Um yeah so th those are things that you know the general foundational model uh generally doesn't have in its uh in its core capabilities that come out of the box. Yeah.

Uh which APIs

uh it's called from the ID. So the ID calls the uh the agent. Yep. It's Nora's agent. Y

So um our our own models are like built on top of um like it's on the post- training phase. So like after the LLM. So like you could still use um here here's like you can just see um with you know Gemini 2.5 or cloud E4 or whatn not uh 3.7's here for some reason but yeah um so so whatever foundational model you feel really comfortable with um that's like doable.

Yeah. And then uh whatever like Nora does that's really specific to Nora is actually after that.

Yeah.

Not yet. We we do have plans to release like CLI versions um real quickly, but yeah. So, oh yeah. Oh, well, you have to try a few, but like let's say u you know, if you try to let it run dexes, um dexes are generally right. Um they're like they're optimized towards like much more efficient like mathematical ops and whatnot.

And um you'll find that Claudia will give you like a generic answer or whatnot. U but you know um yeah, Norah can give you something that's much more optimized in that sense. And then uh well in terms of getting stuck like see it got stuck here right uh uh for some some file operation but yeah um

not really specific but yeah

you mentioned it was postraining

what goes into the decision between

yeah that's that's really easy to answer. So like basically if you want to use like capabilities of closed source foundational models or not um it's just the reality that open source models they exist but if you want to tune them really really well um like fine-tuning a full large model is generally like$1 to5 million um nowadays um yeah so um do you want to spend $5 million and fine-tune it and then will it do better than like using Clott 4 plus post training that's basically the decision um we thought you know this was the better way to uh make it happen like immediately tomorrow for for our users. So yeah,

um so we we will optimize context but like the the context window itself at least like in terms of interacting with the LLM that that's just whatever the LLM can handle. So, so like Gemini 2.5 theoretically it can handle like a million and then Claud 4. Okay, they've just announced like two days ago that they're upping up to 1 million but before that it was like 200k. So yeah,

yep.

Yeah. Yeah. So, um it's the requirements should be pretty easy to meet. So, if you generate any section uh with Nora, you're eligible. So, yeah.

I mean, you have like traces here. So, like the the actual generation traces, right?

Yeah. Okay. Well, so generally like during judging you you'll be like moving around with your laptop and Yeah. Yeah. Um I mean you could include the uh snapshots into your GitHub repo too, but yeah.

Um the ID itself is just like a VS Code fork. Yeah. Yeah. There's nothing special about it. It's just like um for us it's a lot easier to um you know do tool calls and whatnot if uh we ship it with the IDE.

Yeah.

So you're looking for any particular use of

not really just just anything cool built uh built on Nora? Yes. Yeah. Anything cool built on Nora? Yeah.

Do you have any examples of super crazy or interesting apps that were unlocked by building on

um to be honest that comes from the human right like the interestingness has to come from the human brain still like um I mean you could ask AI to like make suggestions but um it's still down to the human to u essentially formulate the most most fundamental of ideas I think and so um yeah what AI guy does is it helps you execute on that, right? Like maybe it took you I don't know like say 72 hours before to to really make that idea um like reality but um with AI it might be done within like minutes to one or two hours. Yeah.

Do you have any examples I guess to clarify um the most complex app you saw develop? So most complex we've actually tried a game but that's with so so with anything like either vibe coding or like AI assisted coding um the kind of tradeoff spectrum is how much human um kind of intervention do you want to um to put onto it like right now so I'm not intervening at all right um and and it's nice but um for games um you do need to watch on it quite a bit more u but but it works too and um you know generally let's say If it was a game that took you about a week or two to to put together as a demo previously, uh you might be able to get that together in like seven to eight hours. Um yeah, that's when we've internally tested it. So yeah, um if you're willing to um intervene more, there's lots more um possibilities, but yeah.

Yeah. problem. I think we've indexed a good amount of chain link stocks just for this event. Um so we'll see. Um so so like for things like CCIP and um I think the default oracles they should be indexed but um yeah but the part that you just described there's a certain bit of logic which is um you have to somehow hook the uh external kind of betting data um together with that um chain link.

So we'll have to see uh thing with AI is it's always uh you just have to try and see. Um that's kind of the fun part. Yeah. Yeah, exactly.

Um, yeah. So, um, in terms of Windows, um, we'll probably be uploading a build around like 10 p.m. or so. Um, the reason is we don't support Windows that well by default because it has like a different shell and u, you're probably using WSL, right?

Or like for the or PowerShell or Okay. Yeah. Yeah. It's just like much less native. It's not Unix.

So, yeah. Uh, Mac and Linux are well supported. Yeah. Yeah. So, so the Windows part is it's experimental.

I I'll have to be honest about that. Yeah.

Yeah. So, virtual machine running Linux um virtual machine that works too. Yeah. Yeah. Yeah.

Um Yeah. that's still it's still in its uh modification phase, but yeah. Um yeah, do we do we feel like we want to ask more questions or All right. Um yeah, I'll just keep it uh on this. Um I mean, so basically this is essentially Oh, okay.

It's already updated the the UI. Um for those who missed it kind of um the initial pass had like a not really bug but uh the AI made a decision where you could only like which deposit from Ethereum L1 and withdraw from like the base L2 vault. Um and so yeah uh the prompt was to ask it to um have uh have support for both and uh yeah and now it's like testing itself. So mostly um it's just trying to resolve all these bugs and what would not. Oh okay.

Uh I I reached the uh usage quota. Um, so, um, yeah, it's like 200 credits for free. Uh, and, uh, it should it should be enough for for the weekend. But, yeah, if people have problems, um, come, uh, come find us. Yeah.

Yeah. Yeah.

We're about a dozen people. Yeah. U, this this has been just weeks. Um, I mean, we were AI nerds before, so yeah. Uh, yeah, we thought, you know, web three.

Um, yeah. Um so a lot of things so like uh you know compiler data and whatnot and then also like uh um the code itself obviously um and uh we have a good amount of reinforcement learning in the back end to to string it all

yeah so it's LLM and then we feed that into a model um that's not in LM but yeah that model does a lot of Yeah.

Yeah. Okay.

Yeah.

So, are there any other advantages you could get by VS Code versus I feel like this could be like an extension or MCP?

Yeah. So like um you know we kind of forked VS Code just because it's uh it allows us to do more like uh uh be more precise with our tool calls and whatnot. Like you could technically do this as a uh VS Code plugin

but it's just a little harder and uh um you have to work with the APIs that are available. So um that's the slight difference. Uh we will have a CLI version soon. So um that's that's been strongly preferred by some developers like Cloudy Code and AM. Um so yeah and then we might have just have an API version later on too.

So

last question.

Yeah. So um as of now I would say so Solidity has been quite quite well tuned and trained. Um and then on top of that, anything that um so like the JS and Python part normally just comes from the uh the foundational model itself. Uh like Claud's already good in and of itself when it comes to JavaScript and so yeah uh

um we've we've tuned a few things too. So like um you know in terms of what kinds of uh frameworks do you use and what whatnot. Um so it just makes it slightly better but it's more like a quality of life upgrade in terms of JavaScript. Yeah. Um but yeah we don't support move or um like Salana SVM yet.

So that's that's to come. Yeah. All right. Um cool. Um yeah.

Well, well, thanks for the questions and uh you know uh we we'll be in the Discord 247 um this weekend. So, if anybody has uh problems uh feel free to just ping us. Yep. Awesome. Thank you.

[Music]

Automatic transcript — names and jargon may be misspelled.