Skip to content

Commit 5537bae

Browse files
authored
added search and discovery (#176)
* added search and discovery * added figna link * added figna link * added figna link * added debugging tips * added debugging tips * added debugging tips * added save hook * added search * added search * added search img * added search img * added what you'll learn * checked for spelling * changed metatdat link * changed structure for clarity
1 parent 28556cd commit 5537bae

File tree

10 files changed

+206
-0
lines changed

10 files changed

+206
-0
lines changed
Lines changed: 175 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,175 @@
1+
---
2+
title: 'Mini App Search and Discovery'
3+
description: 'Learn how users discover and access Mini Apps in the Base ecosystem, including discovery surfaces, ranking systems, and optimization strategies for maximum visibility.'
4+
---
5+
6+
> **What you’ll learn**
7+
> By the end of this guide, you’ll be able to:
8+
> - Structure your Mini App’s metadata to create rich, visually compelling user experiences.
9+
> - Get your Mini App indexed in Base App search and understand how indexing works.
10+
> - Design compelling embeds that drive clicks and engagement from social feeds.
11+
> - Choose the right categories and implement strategies to rank higher in “Trending Today.”
12+
> - Apply best practices to increase discoverability across all Base App surfaces.
13+
14+
15+
## Metadata
16+
17+
### Manifest
18+
Your Mini App's [metadata](https://miniapps.farcaster.xyz/docs/specification) is defined in your manifest file located at `/.well-known/farcaster.json`. This JSON file contains all the essential information that Base App needs to display and categorize your Mini App.
19+
20+
<Warning> Mini Apps require a complete manifest. You can read more [here](base-app/introduction/mini-apps#example-manifest) </Warning>
21+
22+
### How Metadata Works
23+
Each specification element in your manifest serves a specific purpose in Base's interface and directly translates into compelling visual experiences that drive user engagement.
24+
25+
<Frame caption="Manifest data spec">
26+
<img src="/images/minikit/spec_image.jpeg" alt="Manifest data spec" height="200"/>
27+
</Frame>
28+
29+
### Why It's Important
30+
Your metadata determines how your Mini App appears across all Base App surfaces:
31+
32+
- **App icon (1024x1024px)**: Becomes the primary touchpoint users interact with across all surfaces
33+
- **Embed image (3:2 aspect ratio)**: Creates the visual hook that stops users scrolling in social feeds
34+
- **Tagline (50 characters max)**: Provides the instant value proposition that converts browsers into users
35+
- **Categories**: Determines where your app appears in Base App's browsing sections
36+
<Note>
37+
You can find the Figma file for visual guide [here](https://www.figma.com/design/4wx6s24NB0KLgprQAyMT8R/TBA-Mini-App-Specs?node-id=0-1&t=vs3713Z2RarbGRYi-1)
38+
</Note>
39+
## Design
40+
41+
### Embeds
42+
When a user pastes your Mini App's link into a feed, the Base App automatically fetches your page's Open Graph metadata before the post is published. This metadata is used to render a rich embed—complete with your image, title, and call-to-action—that appears instantly in the composer and in followers' feeds. Well-designed embeds make your app stand out in fast-scrolling social contexts and can turn casual impressions into active launches.
43+
44+
<Frame caption="Mini App in the feed">
45+
<img src="/images/minikit/feed_mini.jpg" alt="mini app feed" height="200"/>
46+
</Frame>
47+
48+
49+
50+
51+
## Search
52+
53+
### How Search Works
54+
Users discover Mini Apps through direct search queries in Base App.
55+
56+
<Frame caption="Here in The Base App you can see searching based on partial titles">
57+
<img src="/images/minikit/search.jpg" alt="search bar in base app" height="200"/>
58+
</Frame>
59+
60+
Your Mini App will only appear in search results after it has been indexed. To ensure indexing, share your Mini App at least once in Base App. Indexing typically takes ~10 (approx) minutes after the first share.
61+
62+
### Managing Search Indexing
63+
64+
**Development Environment:**
65+
Add `"noindex": true` to your manifest to prevent development versions from appearing in search results:
66+
67+
```json
68+
{
69+
"frame": {
70+
"noindex": true,
71+
"name": "Your App (Dev)",
72+
// ... other fields
73+
}
74+
}
75+
```
76+
77+
**Removing from Search:**
78+
To remove your Mini App from search results:
79+
80+
- **Invalidate manifest:** Update your manifest to make it invalid (removes from all discovery).
81+
82+
<Warning>
83+
If your Mini App does not show in search please follow the debugging guide [here](/base-app/build-with-minikit/debugging#1-app-discovery--indexing-issues)
84+
</Warning>
85+
86+
## Discovery
87+
88+
### Trending
89+
The "Trending Today" section showcases the most popular Mini Apps being actively used and shared.
90+
91+
<Frame caption="Trending Today">
92+
<img src="/images/minikit/trending_today.jpg" alt="Mini App showing trending view" height="200"/>
93+
</Frame>
94+
95+
**What determines trending status:**
96+
- Social sharing frequency
97+
- Current user engagement metrics
98+
99+
### Saved
100+
Multiple surfaces help users discover Mini Apps through social interactions:
101+
102+
**Saved Apps** - Personal launcher and quick access hub
103+
<Frame caption="Saved Apps">
104+
<img src="/images/minikit/my-apps.jpg" alt="saved apps" height="200"/>
105+
</Frame>
106+
107+
This surface functions like the iPhone homescreen for onchain applications. Users see their saved apps and Mini Apps in a personalized view.
108+
109+
**What appears here:**
110+
- User's saved Mini Apps
111+
- Recently used applications
112+
113+
**How users access your Mini App:**
114+
- Click on your Mini App icon after they've saved it
115+
- Access through recent usage if they've interacted with it recently
116+
117+
<Tip>
118+
You can prompt users to save your Mini App using the [useAddFrame hook](/base-app/build-with-minikit/overview#useaddframe). Consider waiting until users experience value - after completing their first action or reaching a milestone - for better conversion rates.
119+
</Tip>
120+
121+
**App Categories** - Browsable directory organized by interest
122+
<Frame caption="App Categories">
123+
<img src="/images/minikit/categories.jpg" alt="app categories" height="100"/>
124+
</Frame>
125+
126+
<Warning>
127+
Choose your primaryCategory carefully as it determines where your app appears in Base App's category browsing. Available categories are: games, social, finance, utility, productivity, developer-tools, and art-creativity
128+
</Warning>
129+
130+
<Frame caption="Ranking for the Social Category">
131+
<img src="/images/minikit/ranking.jpeg" alt="app categories" className="h-18 w-auto" />
132+
</Frame>
133+
<Tip> The Base app uses aggregated data (7-day rolling window) to generate dynamic category rankings and identify trending applications.</Tip>
134+
135+
136+
### Sharing
137+
138+
**Technical implementation:**
139+
```html
140+
<meta name="fc:frame" content='{"version":"next","imageUrl":"https://your-app.com/embed-image","button":{"title":"Play Now","action":{"type":"launch_frame","name":"Your App","url":"https://your-app.com"}}}' />
141+
```
142+
143+
**Specs**
144+
**Best practices for embeds:**
145+
- Add `fc:frame` meta tags to make pages shareable as embeds
146+
- Optimize embed images for 3:2 aspect ratio
147+
- Include compelling call-to-action text in embed buttons
148+
- Use dynamic embed generation for personalized content
149+
150+
<Warning>
151+
If your Mini App does not show as an embed please follow the debugging guide [here](/base-app/build-with-minikit/debugging#3-embed-rendering-issues)
152+
</Warning>
153+
154+
**Build for Discovery:**
155+
156+
- [ ] **Implement proper manifest files:** Ensure your `/.well-known/farcaster.json` includes all required metadata including proper categorization. [Example here](base-app/introduction/mini-apps#example-manifest)
157+
158+
- [ ] **Choose relevant categories:** Select the most appropriate primary category in your manifest to appear in the right discovery sections
159+
160+
- [ ] **Create shareable moments:** Build features that naturally encourage users to share their achievements, creations, or experiences. Follow our [Thinking Social Guide](/base-app/guides/thinking-social)
161+
162+
- [ ] **Design compelling embeds:** Create eye-catching embed images and clear value propositions that encourage clicks from social feeds
163+
164+
- [ ] **Encourage saves:** Implement prompts for users to save your Mini App to their personal launcher for easy return access
165+
166+
## Next Steps
167+
168+
Continue building your Mini App with these resources:
169+
170+
- [MiniKit Documentation](/base-app/build-with-minikit/overview): Complete MiniKit integration guide
171+
- [Thinking Social](/base-app/guides/thinking-social): Social mechanics and sharing best practices
172+
173+
174+
175+
By understanding and optimizing for these discovery mechanisms, you'll increase your Mini App's visibility and user engagement in the Base ecosystem. Focus particularly on social sharing mechanics and proper technical implementation to maximize your app's discoverability.

docs/docs.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -400,6 +400,7 @@
400400
{
401401
"group": "Guides",
402402
"pages": [
403+
"base-app/guides/search-and-discovery",
403404
"base-app/guides/thinking-social",
404405
"base-app/guides/chat-agents"
405406
]

docs/images/minikit/categories.jpg

47.1 KB
Loading
95.1 KB
Loading

docs/images/minikit/feed_mini.jpg

59.8 KB
Loading

docs/images/minikit/my-apps.jpg

32.7 KB
Loading

docs/images/minikit/ranking.jpeg

54.2 KB
Loading

docs/images/minikit/search.jpg

37.5 KB
Loading
45 KB
Loading

docs/instructions.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
2+
### Language and style requirements
3+
4+
- Use clear, direct language appropriate for technical audiences
5+
- Write in second person ("you") for instructions and procedures
6+
- Use active voice over passive voice
7+
- Employ present tense for current states, future tense for outcomes
8+
- Avoid jargon unless necessary and define terms when first used
9+
- Maintain consistent terminology throughout all documentation
10+
- Keep sentences concise while providing necessary context
11+
- Use parallel structure in lists, headings, and procedures
12+
13+
### Content organization standards
14+
15+
- Lead with the most important information (inverted pyramid structure)
16+
- Use progressive disclosure: basic concepts before advanced ones
17+
- Break complex procedures into numbered steps
18+
- Include prerequisites and context before instructions
19+
- Provide expected outcomes for each major step
20+
- Use descriptive, keyword-rich headings for navigation and SEO
21+
- Group related information logically with clear section breaks
22+
23+
### User-centered approach
24+
25+
- Focus on user goals and outcomes rather than system features
26+
- Anticipate common questions and address them proactively
27+
- Include troubleshooting for likely failure points
28+
- Write for scannability with clear headings, lists, and white space
29+
- Include verification steps to confirm success
30+

0 commit comments

Comments
 (0)