Collections
Public upvote-ranked lists at /collections. Each collection can mix catalog listing types:
| Type | Examples in a collection |
|---|---|
| Mini App | Tonkeeper, DeDust |
| Bot | Notcoin, Fragment |
| Channel | Telegram News, TON Community |
| Group | TON Community Chat |
All listings link to their catalog page: /apps/{slug}.
Marketing overview for creators: /create-collection.
Ranking
Membership is either:
- Manual: creator or editor picks listing slugs (up to 50)
- Tag: every approved listing with a given tag (e.g.
hackathon,built-with: apps-father)
Display order is always by community upvotes for the selected period (not curator order). Vote inline from the list view or from any listing page.
Periods (?period=)
| Value | Meaning |
|---|---|
all (default) | All-time |
today | UTC day |
week | Last 7 days |
month | Last 30 days |
year | Last 365 days |
YYYY-MM | Calendar month (e.g. 2026-05) |
Example: /collections/best-ton-wallets?period=2026-05
Views: ?view=list (default) or ?view=grid. The URL mirrors period and view so you can share an exact board.
The global /leaderboard uses the same period chips.
Who can create collections?
| Role | Capability |
|---|---|
| Admin / editorial | Featured platform lists, seed sync, moderate any list |
| Creator | Own lists in Creator Studio (/creator/collections), draft by default |
| Anyone | Browse, vote, share period links, embed |
Start from the landing /create-collection or Creator Studio. Admins feature or unpublish from /admin/collections.
Share and embed
On every collection page:
- Copy link (includes period + view)
- Share to Telegram / X
- Copy a channel post template
- Embed: pick period + row count (1-20), copy the snippet
<div data-tgapp-collection="best-ton-wallets" data-limit="5" data-period="2026-05"></div>
<script async src="https://tg.app/embed/collection-v1.js"></script>
Optional: data-theme="dark". The widget links back to TG.app with “Powered by TG.app”.
Browse and discovery
| Surface | URL |
|---|---|
| Index (Featured / Editorial / From creators) | /collections |
| Marketing landing | /create-collection |
| Detail | /collections/{slug} |
| Creator Studio | /creator/collections |
| Search | Collections appear in homepage suggest and /search?q= |
Filter the index with /collections?q=….
Operator seed
Edit lib/collections/defaults.ts, then:
npm run seed:collections
# or
npm run seed:collections:production
Creator-owned collections are not unpublished by the seed. Tag-mode defaults (e.g. Apps Father, hackathon) resolve membership at read time.
SEO
- Title / meta / OG per collection; period can appear in the page title when selected
- Canonical + sitemap: all-time URL only (period variants stay shareable, not sitemap-exploded)
- JSON-LD:
CollectionPage,ItemList,BreadcrumbList - Create-collection landing:
WebPage+FAQPage+ breadcrumbs