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

Loading player…

Mini Apps BBQ Week: UX Track Wednesday

BaseThu, Oct 9, 2025, 12:00 AM

These workshops are run by our internal Developer Relations Team, designed to teach you best practices coming from real-world Base experience. #OnchainAppInsights #web3 #accountabstraction #erc4337 #onchain #onchainApps #gasless #base #basechain #coinbasewallet #crypto #web3 #apps #blockchain_technology

Transcript

Nice. We're live. Hey guys,

everybody.

GM GM. I just want to make sure I got the uh the chat open as well. Awesome. So, who do we have here? Pat.

I know you guys see me all the time, but uh who who do we have here? Introduce yourself. Yeah,

this is Eric on the Devil team with Pat. So excited to to chat about MiniApp UX today.

Yes. So, um hey everyone, welcome to day two. Just to give you a recap, I know not everyone gets to join the live streams live and just want to give a recap of what we did yesterday. So yesterday was mini apps 101, right? We kind of gave you the run through of just, you know, the overall landscape of mini apps, how they fit into TBA, how it fits into the mission of Coinbase and base.

We covered the architecture, right? What exactly is a mini app, right? It is a web app that has a few extra functionality that allows you to distribute your application in a social feed, right? And there's two main clients that these mini apps run in and that is going to be Farcaster and the TVA app, the base app. And the really cool part is if you post on one of the clients, it will pop up in the other.

So if I post in TVA, Farcaster users will see it. If I post in Farcaster, TBA users will see this and that's because it runs on a open social graph. It's share it's sharing a protocol. And so that's like the magic of it, right? And we were explaining how this distribution model is unlike we've ever seen before.

There is no gatekeepers in this world. You create an app and you post it on the social feed and that is how you get distribution. Speaking of distribution and posting these apps, one of the most important things you want to do is get your metadata correct, right? And that comes in two forms. The forecaster JSON, which is what allows these clients to index uh and uh allow others to search and discover your app.

Um maybe I do a little visual, but yeah, your your Farcaster JSON essentially has some information about the owner of the app. it should be you uh and um you know your name and things like that, right? And also to have some signatures that prove you own this application. That's important because when you post that app, which is like equivalent to like publishing it or or you know that's your go to market. When you publish that, you're going to market.

It's live and that file is what allows other people to search for your app. So you want to make sure the name is correct and things like that and you do the the signature and header correctly. All right. So, that's the first sort of like metadata. The other one is your embed.

So, we kind of covered the behind the scene. The forecaster, you can look at that as like the behind the scenes, you know, handshake with the, you know, provider sort of thing. But your embed is going to be that poster. It's your marketing. It's the splash.

It's like the, you know, the flamboyant sort of side of your app, right? It's going to be what people see first. And you want to make sure your embeds are correct. This is going to be the image, the text. You want to make sure that you're deciding between a static embed or a dynamic embed.

We have some more in our documentation, but a static embed is going to be sort of like a simple billboard, right? Nothing changes. It's not personalized. And for some that's fine. Uh a dynamic embed is going to allow you or allow your users when they share your mini app to maybe it say something, you know, very personable about me, right?

So he gave you example with the Powerpuff Girls do the quiz, you know, says I'm like Blossom, right? And I get to share that out. So it's going to change depending on some information about the user and it uses context, right? My Farfaster ID, my name, things like that. Uh and so uh what else did we cover yesterday?

We covered uh mobile first experiences. Um, you know, inherently if you use a mini kit, uh, these mini apps are built for mobile first and you do want to kind of keep that in mind. And we touched a little bit on this and we're going to talk more about it tomorrow on Thursday's session, but we talked about building social and making sure that you add social sharing and virality in your app. uh because this ultimately leads to your app growing and and I know there's a lot of questions on how people can get featured and so you want to make sure that you build these things because the featured apps and and growth is all based on interactions, right? Uh with your app.

Did people open it? Did people share it? Are they liking this uh post? Right? All of that contributes to your app getting featured and moving up the ranks and things like that.

There's no like insider stuff that you need to do. Just make it social, make it sharable, make it fun. Um, and it'll grow. All right, cool. I think that's it.

I know we again, yesterday was just a overview of many apps. Today, we're diving into UX and what makes a a good UX user experience uh for many apps. And we're going to do like the whole like question and answer sort of like vibe here. But I do have another question of the day, Eric, if you don't mind posting it in the messaging channel or or in the uh chat. But the question of the day is, what has been your biggest challenge in building so far?

So, let us know below what has been your biggest challenge when building apps. It could be a various amount of things, understanding the protocol. It could be actually building the, you know, your mini app. Maybe you're maybe a designer. Maybe maybe you work in retail, right?

Maybe you don't have any technical background, right? Maybe you have some ideas and it it you're hard it's hard to bring it to life, but uh let us know what's been your your biggest challenge so far. All right. And I'll keep repeating that question throughout the live stream, but just wanted to get some thoughts before we jump in. All right.

So, first question I have uh that I want to talk through is onboarding. All right. When people get to your app, we want to make sure that they continue to use your app, right? The worst thing that you can do is build an app, people open it, and they're immediately like turned off for whatever reason. And we're going to talk through some of those reasons, right?

So, you know, what makes for a smooth onboarding flow in a mini app. Okay, one of those things is definitely going to be do you have or or first off what is going to be authentication and a sort of flow that guides a user through your app. Okay, so let me see if I can share my screen here to show you an example of this. So one second. Sorry, guys.

Sorry, it's a whole process. All right, cool.

While Pat does that, I did drop a couple of links in the chat as well. So definitely check those out. One on like the manifest, making sure that you have the manifest well set up so that you don't have any issues with the app being indexed in TVA or issues with the way that the metadata is is displayed. And then also shared one about the whole like sharing your app and the social impact of that. You know, Pat mentioned how he and Sohi were chatting about like the Powerpuff Girls example.

I shared a doc that has that in there as well. You know, you want to make sure that your embeds are super crisp. Would definitely recommend dynamic embeds uh because those create a more engaging experience for uh people who are sharing it to the feed. They're more likely to share it when it's personalized to them and other people are more likely to engage with it because uh they're excited to see that their friends and that like social proof that your app is something that's interesting and worth sharing for others and their friends to share on the feed. So, definitely check out both those docs as well.

uh make sure that you're implementing the best practices that we have outlined there.

For some reason, I can't show my phone. Um it's okay. I can talk through it, but I would have loved to show a uh a visual representation of it and maybe maybe I can go on caster. However, yeah. So, one of the things I want to talk about is do you one kind of give your users steps to log in or or to use your app.

One of the main things that we do as developers maybe we assume because we we build the app, right? We're like, everyone knows how to use this app, right? Everyone's going to know it's super intuitive. But that's not the case. We have people from all over the world, different background.

They may be reading your app in a different language that's not yours, right? So um it may be in English but they speak uh a different language. And so you want to consider this when building your application. Um and some many apps really good ones have an onboarding flow. So for example you I'm on the predict base app here and one of the first things uh it provides me with is a eightstep flow of what to do.

So I I can click through these different steps. Uh it says connect your wallet. Um and we'll talk about wallets. you we touched on it a little bit yesterday. Browse or create markets is the next step.

You place a bet and it kind of walks you through uh how the market resolves, you claim your rewards and how you can earn as a creator. And each of these steps are like super short, right? One sentence, two sentence, how to get started. That's really important for getting people to easily flow through the main components of your application. Right?

So in this case, this app wants me to place a bet on some sort of market or create my own market prediction market, right? And so the first step is obviously logging in, browsing around and then going to do something. There's so many, you know, when we're developing the app, we we underestimate like how many things are on the screen and when you are a new user, there's you could be overwhelmed with so much like input on the app. So having a guided onboarding is going to be essential for one increasing retention of your app and making sure that people don't just click your app and then go away again. People will not share an app that they didn't use, right?

Like if you can get someone to kind of get their aha moment, then you will have like better usability, right? And so your onboarding should focus on the core use case of your mini app. um in the Powerpuff Girls example or even in a ner sort your hat uh the Harry Potter like sort your hat it was for you to pick your house right and so an onboarding flow would be um you know answer your name answer these questions um in in the uh for the quiz and then share your results once you get it is is as simple as that. Um, on the topic of, you know, wallets, one of the things that we want to keep in mind, and we're going to keep like bringing this up, PBA is a wallet. And when you build with MiniKit, uh, if you build your mini app with Mini Kit, don't need to create another login flow for your users.

Okay? It's already taken care of out of the box. It will use the TBA as the connected wallet. it will use the base app as the user's connected wallet. Okay?

And so one thing that we can help to improve the stickiness of your app and allow people to use your app is to avoid extra authentication. For example, Farcaster. What we've what we've seen from our research is that users who are prompted to go to Farcaster to sign in once they open up a mini app um quit this app instantly, right? And so you are you're going to see a drop off in users if you create this in your flow. Another thing TBA is largely free to sign up and get started.

If you you know we've even heard this from you know Farcaster devs as well building on mini apps is that hey you know we want our mini app to be out there but people need to buy warps in order to create an account and this is you know some friction. So you're, you know, if you build a flow like this, you are inherently, you know, recreating that same sort of friction again for for your users. Hopefully that makes sense. Okay. Now, the other thing I want to touch on, and if you guys have any questions, please put it down below, and then Eric, let me know if I if you if you want me to answer any questions from the from the chat, you can stop me at any point.

The other thing that we want to do to make a really great onboarding is to not overwhelm our users. And so one of the ways we can do that when it comes from a design standpoint is to keep things super simple. Um as developers I know uh in creatives I know we have all these ideas. We're going to make this app. It's going to do this this this this.

We're going to have seven you know icons at the bottom. They can choose so many options. But what will happen is you will overwhelm your user especially because you know we want to think about firsttime users right most of the people who are going to use your app are going to be first-time users. So again, think about the core use of your app and then grow from there, right? Keep everything super simple.

Have a smooth onboarding. Guide them through where you would want them to interact with and just focus on that. As you grow and add different features, users will pick up on that, but generally keep things as simple as possible. later this week or going into next week, we're going to uh share some guidelines for design and and some good practices there. So stay tuned to that.

But this is going to be one of those core components of building a really great app is keeping things very simple. Eric, do you have any thoughts on that? Like onboarding like what's your experience on on some of these these apps when using them for the first time?

Yeah, definitely. the the main thing that we see or at least that I've seen is around the concept of connect wallet within a mini app. And just to reiterate Pat's point from earlier because it is very important is that you don't need to have a button to connect wallet anymore. And when you're considering your mini app, there's two different contexts in which someone might be connecting their wallet in a standard app. Let's say that you're not in your mini app and you're migrating over.

One is you need your app to have context of the wallet, right? You need to be able to see their balances. You need to be able to see their base name. Another context is you're using the wallet to sign in by doing something like sign in with Ethereum and that's how you're authenticating into the app. And those are two they're similar but different.

And so it's important to understand the difference between those because with a mini app like Pat was saying in that it's built on base account. Everybody has one and as soon as you open a mini app, that mini app already has context of the wallet, you don't need to connect the wallet. So, if your flow is stopping at connect wallet and there's not an additional sign in with Ethereum signature step that you're using for authentication, you shouldn't have the connect wallet at all. You should just be instantly leveraging the balance, the profile, the social graph that comes instantaneously as soon as they open that app. And really don't force them to sign in unless it's really necessary for them to take a key action because that's additional friction.

You're like, if I see a friend share something on the social feed and I click it and then I got to sign in, it's like, okay, now it's two clicks, which sounds silly, but I think we all know if you're scrolling through, you know, your traditional social media apps, as soon as you hit that first click, the odds that you churn if there's a second click are actually quite high. So, I would go play around with some of the mini apps yourself if you haven't yet. I think that's super important as a mini app developer. and just like click on them, you know, like the Morpho one is a great example. I click on it and I could be deposit depositing funds like 5 seconds later.

It's it's instant. There's no like connect wallet or anything. Same thing with like the unis swap one. There's other social examples as well like noise. So, it's a super critical point.

If there's a connect wallet button in your mini app, very critically evaluate whether or not that's actually necessary. And the only reason it is necessary is because you're using it for authentication to authenticate that user in a backend somewhere that's not in the front end like experience, not in the the smart contracts, etc.

Yes, great points. And like what I love to there's like two things that made me you made me think about um especially with the morpho example is it should be dead simple to get the thing done right and the least amount of friction. And one of the things that you can do as a developer to test this out is have a friend test your app that's never used it. And in your mind, you know what you would want them to do, but one, see how intuitive it is, but then count the number of clicks it takes for your friend to get to that point, right? And see where they drop off.

We we even do it here at Coinbase, right? We've seen the way we measure some of the quality in the apps is how long does it take to actually get to a desired outcome in our applications and we try to remove the unnecessary steps and clicks between first getting to the p uh you know logging in to actually getting something done. So count the number of clicks try and reduce that. If it's more than three you you're you're going to have to reduce that right? The less the better cuz there's there's probably like click fatigue.

There's probably a word for this, but there it's definitely real and you want to reduce that as much as pos. The other thing it made me think about is when do you want to prompt a user to sign or transact or you know any of the wallet sort of actions and it should be at the very last moment if necessary, right? So, for example, the Powerpuff Girls and the uh Harry Potter example, there was nothing really onchain and so that's when you can take advantage of automatically logging in and authenticating through TBA where the user is just instantly logged in and I don't need to sign a transaction either when sharing this, right? And so you want to make sure that if it isn't necessary as part of your app um you know try not to present a wallet where they you know uh request for signature or transaction if it's not needed you can provide that as a secondary option maybe they can mint an NFT but if there is some sort of onchain transaction which goes into the next point you want to make sure that it is gasless and you're using a pay master. So speaking of gasless, we offer pay master credit.

So what is what does it mean to be gasless and why? Everything that we've talked about for this week is about helping you to improve the quality of your app, right? And the quality of your app is measured across a few different components. Obviously look and feel is is a quality metric, but also how the user get to the desired outcome that you laid out for them, right? but also removing as much friction as possible and gas and transaction fees uh are friction right especially if these are new users right and so if you don't have a pay master maybe Eric you can link to the Coinbase developer platform but you can sign up once you sign up with the Coinbase developer platform you'll get a couple hundred bucks in pay master credits we know that base transaction fees are generally subsense they've been subsense for a sub penny for for a while.

And so a few hundred bucks goes a long way. You know, you can onboard a couple thousand users just off of a couple hundred bucks. So, you know, it will go a long way. And we still have incentives to provide you with more pay master credits. We're doing uh you know, face builder quest.

We have a bunch of other events where we'll we'll give out uh pay master credits. And that's because we want you to build your apps in a way where there's not a lot of friction for users to get started and you as a builder you get to retain those customers when there is as little friction as possible. One thing I'll I'll quickly add there uh because also somebody's mentioning it in the chat is base pay which is associated with this uh and like sending payments in a frictionless manner is that base pay is now like fully works within the base app uh within the mini app. So, if you want to be able to like let's say you're like recreating a Venmo type of experience, you should be using base pay because it's a single click and it'll automatically have all the features that you need for a seamless user experience. It's been built specifically for the intent of like paying people, paying friends, paying services.

Uh like don't try and rebuild the wheel here. We spent a bunch of time optimizing this the last months and months and months. And so, uh use base pay. Somebody in the chat's mentioning how they sent over, you know, $900 in USDC payments for 71. Uh, you know, if you were using an app that was like paying for the gas for you, you wouldn't even had to pay anything.

And so, as an app developer, we definitely encourage you to like be doing that for their users. The common comparison is that, you know, on uh the Yeah. 900 USC, not $900. You sent 900 payments. Oh, wow.

Okay. Sorry, I'm reading the chat. That's even better, right? So 900 individual payments

uh for 71 cents which is is pretty unheard of

and so you know the there's a ton of benefit here basically. So leverage that it now works in many apps. It wasn't before a couple weeks ago we heard everybody's feedback and now it is. So definitely check that out and make it gasless by using pay master. Those two tools work seamlessly together.

Yeah. Perfect. And then on top of that in transactions use batch transactions, right? That's the other benefit of using a smart account. TBA comes with a smart account.

When users get onboarded to TBA, they have a base account. Sorry, they have a base account. It's going to be their universal account, right? That's where they're going to be messaging. They can send money via base pay, right?

And then as a developer, if there are multi-step transactions, maybe it's a swap, an approve, a transfer, right? You can batch all of those into one transaction, one call, and they click approve one time and it is all taken care of, right? We would hate to, you know, have seven, eight popups. And what's really cool is to see that that was reality like a year ago, right? And we've we've come so far.

Um, and so let's keep it moving. Like let's keep the the UX really smooth, right? Because we do want to make sure that the next billion users don't have to go through that, right? Uh, it should be super clean, super snappy, and uh, that's what we want to push for. Um, I also just want to take like a little philosophical se uh, section here where I want to encourage you guys to take ownership of the base ecosystem, right?

You are also responsible for the quality that others see. and the apps. And I want you guys to take that super seriously because, you know, you are a representation of Bass as well. When you build these apps on base, you're choosing to, you know, put all your hard work and time in this. And, you know, what we're trying to do is just help you, you know, give you some guard rails and things like that in order to make your app stay successful.

And, you know, we would love to show your app off as a marquee product and say like this is the standard. So I I want to encourage you guys to build right and build it high quality and and make it something that everyone loves. Eric, any other thoughts?

Yeah, I think just speaking a little bit to UX and and then we can start getting into some questions as well, but one important thing to consider, you know, some people are chatting a little bit about, you know, if you're migrating an existing app, you need to be particularly careful of this, but even if you are building a new app, is that it is mobile, right? And so you want to be thinking mobile first design and making sure that the call to actions are super clear. When you're looking at an app, there really should only be one call to action. Maybe there's a small secondary, but there shouldn't be a bunch of like different places to click that distract people from the core user flows. And so if you do have like a larger existing app, one thing to consider and it might be a little bit more work, but your app has context of when the user has opened your app within the mini app view.

And so and hopefully your app also has a mobile context already and a mobile design, but make sure that you're keeping it super clean, super streamlined, a very clear visual cues as to where people should be engaging, what the value prop is, what the user flow. You want to test that over and over again is like what does the first five seconds look like for a user and it shouldn't be them looking around the screen trying to get a sense of what they can now do. It should be like here's the clear obvious thing that I want to do next. And so I think that's a really important part. Sometimes we see many apps that get a little bit cluttered, haven't really thought through the mobile first design.

One thing that we've seen in the onchain space for a long time is a very desktop forward design paradigm paradigm because of the fact that we've been using uh you know like browser wallets and things like that. But that era is like it's over. It's changing. It's all mobile first now and that's where the users are anyways. So if you need to put the mobile first hat on and and start thinking from those bases and then I I'll just answer one person's asking in the the chat about like migrating existing apps.

I did share uh the link to we have a guide that helps you turn existing apps into a mini app because it is super easy to just wrap your existing app with the SDK functionality. You know, just quickly, somebody Rob is asking about like how you could create an app for a resort where guests can verify they hold the NFT and instantly get your perks. That's super easy, right? Because all you're relying on and all you need is the wallet address from that user. So if you have it in a mini app and they open your mini app, your app instantly without them taking any action has the address for that user on chain and then you can just run a query on chain in your, you know, NFT contract to see if they're a holder or not.

And if they are, you know, you could even render the page differently. You know, you could tell them to sign up if they don't have it or, you know, you could give them access to whatever their their portal is with their perks. So that's a super easy use case and is a good one to highlight the fact that it requires zero action on the user users end upon opening the app. It's just they open it and your app knows this is an NFT holder of ours or it isn't.

Awesome. Should we start answering some questions from the chat?

Yeah, let's let's do it. I don't know. Pat, do you have access to the chat or no?

Yeah, I can see some right here. All right, let me just scroll up. Sorry. Yeah, I I lost a little bit of uh I reloaded at one point and lost some of the questions. So, feel free to also like drop your questions again in case they they got lost higher up in the chat.

My camera is doing whatever it wants. So, the mini app access to user profiles once user opens the mini app. Yes. So, there's like context. There is context, right?

Uh to let me see if I can pull up um all the uh Yeah, the short answer is yes, there's context. There's stuff like the forecaster ID. There's going to be metrics on where it was open, whether it was in the DMs or in the feed. And so, contact is a very powerful tool. Well, let me just kind of get my camera to come back.

Yeah, there we go. It will give you some sort of guidance on how people are using your application. This is going to be some sort of like feedback loop for yourself to say, okay, well, great. Most people who are using it, they're sending it in DMs with friends. Most people are discovering our app in feed.

Maybe we should do more dynamic embeds, make it even more personable. Um, you know, let's make the colors more vibrant, right? It should give you some sort of feedback. So, context is is very powerful. Uh, let me see.

And I want to make sure I don't skip any does logging in have to be connect wallet only? Um, not sure what you mean by that. I mean, one, you don't need a connect wallet button. Uh, if you're building a mini app, especially using mini kit, we we handle that for you. Uh, does it have to be connect wallet only?

I'm guessing

Yeah,

I was just going to say I think this question came in when we were chatting about kind of like not having the connect wallet button and like only using it if you have the off flow. So, so that's kind of like the TLDDR. The only time you should have a connect wallet button is if you're doing an authentication flow where it's like sign in and really you shouldn't do connect wallet. should just be like sign in and that triggers the signature that you're using for authentication. But for many many use cases, I'd say for most of the use cases we see, you don't need to even have them signing in and authenticating.

So you should just get rid of the connect wallet button altogether and get rid of that click so it's a more seamless experience.

Pixeli Pixi, I was screwing that one up. I'm sorry. your question on uh the sort of uh difference in experience between browser mode and uh mini app mode. We share that with the product team and we will get back to you uh in a more like personalized manner. So I don't have an answer for you right now on that on the the difference.

Um you can ask question about any app. Yeah, just today. Oh, definitely. Yeah, I want to see if there's I want to see if there's a way to make the app. Okay.

Um, yeah, we can answer that maybe in the end if we have questions, but you can make almost anything a mini app, right? So, I I'll answer it this way, right? If you have an idea that could be a normal application, web application, it can definitely be a mini app. Again, like mini apps run in a feed on an open protocol, right? And that's just sort of like the baseline, right?

It doesn't need to have, you know, everything on chain, right? What is onchain is you're going to be able to know that the users using your app uh are real um and um you know it's a shared protocol. It's your app is going to be populated across two clients, right? You don't need to have like fancy smart contracts or anything like NFT by default. That's that's totally fine.

But any web application that you have an idea for web application can definitely be a mini app. So, I encourage you to give it a shot.

Cool. I can I can jump in on the next one. I was reading ahead a little bit while you uh gave that response. So,

awesome. Pixeloshi also has a question around uh you know adding mini app buttons and like how that works in forecaster versus the base app. And then this is also related to notifications which I saw a question about is that there's the it used to be add frame it's now ad miniapp functionality that right now that is not live in the base app uh for like the caster SDK side but if you people can still add the mini app within the base app right now where in the like top left corner in the kind of the menu bar where you would go to like either share the mini app there's also button there where users can add the mini app uh and then it'll show up on their homepage under say mini apps within TVA. We are working on adding that functionality along with notifications. That's like top on our priority list.

So coming soon we'll have the add app functionality that'll work the same way as it does with the existing forecaster. Yeah, Pat's showing where it exists today. And can you show where you clicked to pull that up? Yeah, it's in the top lefthand corner. is like exactly yeah cool and so users can save there right now and they can share from there like I said the like directly the functionality in the app by using the SDK is coming soon and that's important because you need users to use the SDK functionality to add the app in order to get the like ID that you would then leverage to send them notifications in the app and notifications are super important and it's going to be part of our best practices guide that we're putting out as soon as notifications are live because it's a great way to re-engage your users.

It's incredibly powerful. And even if you have an app that maybe isn't necessarily the most social in nature and isn't leveraging other aspects of the social graph, let's say you're like a DeFi portfolio management app that focuses on privacy. You're not like sharing your portfolio with your friends. You could still leverage the not notifications feature in a really powerful way where, you know, let's say somebody has a limit order that got triggered, you could send them a notification in the base app about that and that's a great way to like re-engage and activate your users. So keep an eye out for that.

We'll be going very loud once that is ready to go and the team is hustling on that right now.

I see another one here that's uh from Marcelo. What would be the best way to share my mini app outside of TBA and Farcaster for instance via Telegram or WhatsApp because the link would redirect to the actual web page and not to Farcaster/TBA. Is there a way to create a deep link inside Farcaster/TBA so the mini app opens inside it? Couple thoughts on this and Eric let me know what you think as well. One is that Sparkcast and TBA are using a shared protocol and these are just clients, right?

And so if another application decides to use this protocol, it will be populated across those. Telegram, WhatsApp, Worldcoin, they kind of have a more closed ecosystem. And so there's, you know, it doesn't use a shared protocol. So there's going to be different standards there. Now, can you share a link that deep links back to Farcaster and TVA?

I'm not sure. I'm not sure if we have that yet. Do we?

Yeah. So, I just uh shared a link that in in part of our docs that talks about some of the compatibility things to address uh between TDA and the you know, and Farcaster. And one of them is like the navigation links. So instead of using like a direct HTML link to a third party website, you know, like a you an a tag in HTML or like a link component from Nex.js, we have a SDK action.

So there's it's just SDK.Actions.open open URL which allows users to safely open a thirdparty website in the inapp browser which is also good because it keeps users in the same place which is also like we see that there's a lot of drop off if you try and push them into a different app so you want them to use that inapp browser anyways so use that SDK action just open URL and it'll open it in the inapp browser and then one thing to be careful about is like not using the like share error URL from Sarcaster because if you if you're using that hardcoded in your app, then if somebody's clicking that from the feed in base app, it'll open a browser trying to get them into the Farcaster app and it'll kind of break down. So, you want to make sure that you're using like direct URLs for your mini app opposed to share URLs from a different client like the Farcaster client. Same thing goes with like the composing like the compose cast actions, right?

So you can have a button in your app that creates a cast that directly shares it to the feed. Tie that up with a you know a dynamic embed so super personalized when they share it. You want to make sure that you're using the SDK action for Composecast opposed to like using the Farcaster dev tools for Compose and then all of a sudden you're getting linked out over to Farcaster instead of staying within the base app and and creating a jarring experience for your users. Hopefully that answered that question.

Sweet. Okay, I don't think I see any more questions.

All right, I'll give a quick scroll see answered the one on push notice that's coming soon. Uh yeah, there is a media kit if you go to bass.org. or this is actually kind of cool. I I can share Let's see if I can share my screen.

Is that the brand?

Yeah. Let me just pop open a new page real quick so I can share it. But if you go to bass.org, everybody should now be able to see. You go to bass.

org and you see our logo up in the top left hand corner. If you right click on this, you can download the icon as a SVG. You can download the full logo as an SVG. And then you can also download our brand kit as a zip and our brand kit as a Figma. So, if you're looking for a brand kit, uh definitely leverage this.

Uh it's super cool. You can basify your app. Uh so, I would definitely check that out. It's just bass.org and then right click on the logo in the top left corner.

Got another question on I just want to get this link open. Awesome. So, got a question uh from Yuben and Tash. I don't know why I choose to say the names and and screw them up. Um, do we need to be on TBA to build and test mini apps?

No. Um, you don't have to. So, I shared uh one way which is to um use the Farcaster uh/developers uh site. And let me actually just share my screen because I can share this one. Cool.

Sweet. So, here is a really great spot. Uh, and you should definitely do this, especially before you jump into the base Discord and say, you know, my mini app isn't working. Check it here first, right? And so, uh, this is where you can preview your app.

You paste in your URL to your application, make sure that it's deployed uh, and hosted and it's publicly accessible. Once you enter in uh, let me see if I can um, put a let me see. Well, let's see. This one will work. See?

Awesome. Boom. Right. So, this is the URL that I would be testing. Right.

I can preview this uh link as a mini app. So, I'm testing and seeing how it would look in the hands of a user. Right now, if I go back, I can also check the embed. Right? This is going to be how it looks on um uh on feed.

Right? So this is this right here in this corner. This is going to be what users see when they are scrolling TBA and Farcaster, right? And this is why it's so important because this is going to be your marketing. This is like your billboard.

This is your business card. This is this, you know, the homepage of your app. This is the homepage before the homepage, right? Um so you want to make this really, you know, appealing uh for users to to want to click on. Um, and uh, this is going this if you know if you post um, on the feed and you're like, "Oh, it's it's just a link."

There's likely that your embed uh, needs some reworking. Um, and then obviously there's also the manifest that you can uh, check out as well. So, this is a little different. You just uh just get rid of the HTTPS here, just the uh, domain, right? And then one you will see all of the you know the header, the payload, the signature.

This is what you sign. This is again the handshake behind the scenes letting them know you own the application, background images, icons, etc. Um, and this is also going to be important uh for when we launch the builder site uh for uh many apps. And so uh we gave a little teaser yesterday. We got so much more in store to share about it.

But TLDDR, make sure that your manifest is uh filled out correctly. It's going to come in handy for getting uh just in touch with ecosystem team, exclusive uh things like that, doing metrics of your application, seeing user uh usage, things like that. So um again, when you're when you're testing this out, you'll see a bunch of check marks. If you see something that is invalid, then just go ahead and fix that. Um because again, it's, you know, these are the top reasons on why um apps don't work.

Last but not least, I would uh go over to our docs as well, the common issues and debugging page. This is gold likely. Your issue is likely in here, right? Uh, and if you just look over to the uh, you know, the right here, um, you know, hey, I have I'm having indexing issues. I don't see my app, uh, in the search bar, right?

You would go to the app and indexing issues. Uh, manifest embed uh, hey, I'm having issues on mobile, right? All of that is in this guide. If you've gone through the tool, you've read our docs, right? and you still have have issues, then definitely reach us uh reach out to us on our discord u and we'll be happy to help you.

Hopefully that makes sense.

I just dropped that debugging guide link in the chat for those who are seeking it. And then yeah, Toki just dropped the discord as well. So jump in there as well. We got a mini mini apps channel where uh you can ask questions. Folks like us from the devil team are there and then also your fellow community members are there to help you out as well.

I saw a question that was asking about how mini kit scaffolds an app if you're using the uh mpx create onchain- mini to create a mini app about whether or not you should use the route.ts file instead of the forecaster.json. Uh I want to make sure that I'm going to share my screen so folks can see it but they are actually one and the same. So want to make sure that that doesn't get confused.

So let me see if I can pull it up. It's just has to do with a little bit with how next.j JS sets up the that forecaster.json file in the well-known folder. Uh and the it's in the the route.

ts file is in thewwellnown/farcaster.json directory. So when the uh app gets built and somebody tries to navigate to the URL that is expected of it, then it'll actually show up uh the right way. I think I am sharing. Yeah.

So you can see it here. So it's uh well-known forecaster.json then route.ts under it. So the route.

ts file is like where you want to have the uh forecaster.json. You definitely want to keep that file because that's going to build it for you. So it's accurate when somebody pops to the URL.caster.

json. Particularly any of these clients that are looking for your forecaster.json file. They'll hit this route and what they're going to get in return is the perfect broadcast.json file for you.

Sweet. All right. See, is there a last one? Yeah, I don't think I don't think so yet. We do have the CB wallet colon slash, but I don't know if like we have like best practices around that um to link to deep link to a mini app.

This could be a really cool feature request and I will bring this up to the TVA team, you know, because it sounds like you want to share a link in WhatsApp and it open up the TBA app and take them directly to the mini app. I haven't seen that yet, but that's pretty awesome in terms of like getting more users in usage up. Yeah.

Yeah. I know we do have a section in our docs that's chatting about deep links and like some of the SDK actions. So, I'll drop that here for people to take a look, but it's something that we're working on like polishing out the user experience for because it's it is challenging when you're you're looking between the two different clients. So, take a look there. But that's just like a compatibility thing.

So, we'll make sure that in the base app that's nice and smooth for you guys as well. I saw another question from Rob. I was just scrolling up in the chat. He asked, "Hey, is there any way this I can make my app with someone from Bass?" And I got some good news, you know, cuz Rob said he's not really a developer.

Next week, Rob, we are doing a vibe code week where we take you from, you know, no developer experience to a mini app. We're not gonna we're not gonna turn you into a software engineer overnight, but we will help you to uh launch a mini app that's high quality, take you from, you know, guide you through understanding best prompting practices using vibe coding tools like Vzero, Lubable, things like that. And so, you're going to build a really awesome front end. You're going to be able to, you know, communicate clearly your plan, your expectations to an LLM, have it build out your front end, and then you're going to add your mini kit and onchain components to it, and then go live. That's going to be the the goal of the week.

Everyone who participates is going to be able to ship a mini app, have all the components to it, and then we're going to have a section in our doc that goes over the same thing we've been over uh that we're going to go over live. So excited for that. Rob, I definitely think you should sign up. Toki, if you can throw one of the Lumas in, at least for for day one. I think uh yeah, thank you.

Thank you so much. Um did I have any other thoughts on that one? But yeah, that's like one of the best ways to do it, especially if you're not a developer, is really just getting really good at prompts and then understanding the language. We're also going to go over like, hey, I've never read documentation, like how do I like use this documentation to build this app, right? We're going to help you to do that as well.

So, if you guys are interested in that, definitely sign up. Yes. Is there some examples of a gold standard mini app? Yeah. So, there's there's actually plenty.

I mean, Ponder is one of them. P O N D E R. We talked about stream yesterday and I haven't dropped the link. Here you go. So, I put in the Farcaster tool which is right here.

Oops, I can't. So, you can use this link right here. So, check out that link. Sorry. and then this one as well.

Both of those are are tools that you can use to debug your mini app. And again, use those, check out the docs, read through the common issues in debugging, and then reach out to us on uh Discord. Any questions that you see, Eric, is there somebody with gold standard? Oh, yeah. Gold standard.

See, I think yeah, gold standard is the last one. Uh and I actually got to drop pretty soon here. Uh but this has been awesome. Appreciate you uh running the session. Thanks everybody for being here.

Uh it's exciting to shut many apps. Definitely, this is just a plug. The reason we're doing this is because we have a a builder quest going this week and we have 5e uh rewards for up to 18 teams. Uh I know I know that none of you guys are are looking at the ticker prices. You're focused on building, but uh that's that's a a pretty little sum these days.

So uh definitely participate, submit your app, and join us tomorrow and Friday as well for the last two sessions that we're going to have. We're also going to have a interview uh with some of the folks from Farcaster as well who you can chat with and and get some of their insights on on building uh mini apps. And then like Pat said, next week we're going to follow all this up with a week on vibe coding mini apps. So you got two weeks full of of mini app content coming your way. So just definitely stay in touch with us.

Let us know how it's going uh and what else you'd like to hear.

Awesome. Yeah, there's no excuses. We're not giving you there's no reason for you not to be able to ship them out. All right, guys. Thank you so much.

Thanks everybody.

Automatic transcript — names and jargon may be misspelled.