Superteam Brazil is building the ultimate learning platform for Solana-native developers โ an open-source, interactive education hub that takes builders from zero to deploying production-ready dApps.
Think "Codecademy meets Cyfrin Updraft" for Solana: gamified progression, interactive coding challenges, on-chain credentials, and a community-driven learning experience built for crypto natives.
We're looking for talented developers and cracked agents to build this platform from the ground up. The winning submission will become the foundation for Solana developer education across Latin America and beyond.
Build a production-ready learning management system (LMS) for Solana development, research, and power users.
The platform should:
Deliver interactive, project-based courses with integrated code editing
Track learner progress with gamification (XP, streaks, achievements)
Issue on-chain credentials for course completion
Support multiple languages (Portuguese, Spanish, English)
Integrate analytics for user behavior insights
Be fully open-source and forkable by other communities
๐ฅ 1st Place โ $3,500 USDG
๐ฅ 2nd Place โ $1,000 USDG
๐ฅ 3rd Place โ $500 USDG
Total Prize Pool: $4,800 USDC
The platform's gamification and credential logic lives on-chain via an Anchor program. The full spec and code live at github.com/solanabr/superteam-academy โ your delivery should be a PR to this repo (inside it's according folder following monorepo structure):
/root .claude/ (skills & agents)
docs/
onchain-academy/ (program)
-> app (front end client)
-> backend (back end client)
Here's what you need to know:
XP is a soulbound fungible token (Token-2022, NonTransferable). A learner's token balance = their XP. Levels are derived: Level = floor(sqrt(xp / 100)).
Credentials are Metaplex Core NFTs, soulbound via PermanentFreezeDelegate. One NFT per learning track that upgrades in place as the learner progresses โ no wallet clutter. Attributes like track, level, courses completed, and total XP are stored on-chain.
Courses are on-chain PDAs that spawn Enrollment PDAs per learner. Lesson progress is tracked via a 256-bit bitmap (up to 256 lessons per course).
Enrollments are closeable after completion to reclaim rent. Proof is preserved via the credential NFT and transaction history.
Streaks are a frontend-only feature โ daily activity tracking, streak history visualization, and milestone rewards are not tracked on-chain and should be implemented in the frontend (local storage, database, or CMS).
Achievements use a bitmap (256 possible) AchievementType defines the badge (name, metadata URI, supply cap, XP reward) and AchievementReceipt records each award to a learner, each backed by a soulbound Metaplex Core NFT..
Leaderboard is off-chain โ derived by indexing XP token balances (Helius DAS API or custom indexer).
For the full program specification, see docs/SPEC.md. For frontend integration patterns (PDA derivation, instruction usage, events, error codes), see docs/INTEGRATION.md.
Fully implement on Devnet:
Wallet authentication (multi-wallet adapter)
XP balance display from Token-2022 token accounts
Credential (Metaplex Core NFT) display and verification
Leaderboard by indexing XP balances
Course enrollment โ the learner signs the enroll transaction directly (no backend needed)
Stub with clean abstractions (we connect the on-chain program later):
Lesson completion flow (backend-signed transactions)
Course finalization and credential issuanc
Achievement claiming
Streak tracking (frontend-only)
Create clean service interfaces so we can swap local storage for on-chain calls. For example, a LearningProgressService should expose methods like: get progress for a user/course, complete a lesson, get XP balance, get streak data, get leaderboard entries (by weekly/monthly/all-time timeframe), and get credentials for a wallet. See docs/INTEGRATION.md for the exact account structures, instruction parameters, and event signatures your service layer should map to.
Choose one frontend framework:
React + Next.js 14+ (App Router)
Vue 3 + Nuxt 3
Svelte + SvelteKit
Required technologies:
TypeScript โ strict mode, no any types
Tailwind CSS โ custom theme with design tokens
Components โ shadcn/ui, Radix, or Headless UI (accessible, composable primitives)
Headless CMS โ Sanity, Strapi, Contentful, or similar
Auth โ Solana Wallet Adapter (multi-wallet) + Google sign-in. GitHub sign-in as bonus.
Analytics โ GA4 + heatmaps (Hotjar/PostHog/Clarity) + Sentry error monitoring
i18n โ PT-BR, ES, EN from day one. All UI strings externalized, language switcher in header/settings. Course content can remain in original language.
Deployment โ Vercel/Netlify with preview deployments
Implement using one of: embedded Solana Playground (iframe), Monaco Editor, or CodeMirror 6.
Must support: Rust/TypeScript/JSON syntax highlighting, basic autocompletion, error display, and pass/fail feedback for challenges.
Users should be able to:
Sign up with wallet OR Google OR GitHub
Link additional auth methods later
Use any linked method to sign in
Wallet linking is required to finalize courses and receive credentials
/)Hero with value proposition and primary CTAs (Sign Up, Explore Courses). Learning path previews with progression indicators. Social proof (testimonials, partner logos, completion stats). Platform feature highlights. Footer with links, social, newsletter signup.
/courses)Filterable course grid by difficulty, topic, and duration. Curated learning paths (e.g., "Solana Fundamentals", "DeFi Developer"). Course cards with thumbnail, title, description, difficulty, duration, progress %. Full-text search.
/courses/[slug])Course header with title, description, instructor, duration, difficulty. Expandable module/lesson list with completion status. Progress bar and XP to earn. Enrollment CTA. Reviews section (can be static for MVP).
/courses/[slug]/lessons/[id])Split layout: content (left) + code editor (right), resizable. Markdown rendering with syntax highlighting. Previous/Next navigation and module overview. Lesson completion tracking with auto-save. Expandable hints and solution toggle.
Challenge prompt with clear objectives and expected output. Visible test cases with pass/fail indicators. Pre-populated starter code, editable. Run button with loading state and output display. Real-time error messages and success celebration. Mark complete and award XP.
/dashboard)Current courses with completion % and next lesson. XP balance, level progress bar, and rank. Current streak with calendar visualization. Recent achievements and badges. Recommended next courses. Recent activity feed.
/profile, /profile/[username])Profile header with avatar, name, bio, social links, join date. Skill radar chart (Rust, Anchor, Frontend, Security, etc.). Achievement badge showcase. On-chain credential display โ evolving cNFTs with track, level, and verification links. Completed courses list. Public/private visibility toggle.
/leaderboard)Global rankings by XP. Weekly/monthly/all-time filters, filterable by course. User cards with rank, avatar, name, XP, level, streak. Current user highlighted.
/settings)Profile editing (name, bio, avatar, social links). Account management (email, connected wallets, Google/GitHub). Preferences (language, theme, notifications). Privacy (profile visibility, data export).
/certificates/[id])Visual certificate with course name, date, and recipient. On-chain verification link (Solana Explorer). Social sharing buttons and downloadable image. NFT details: mint address, metadata, ownership proof.
XP comes from on-chain soulbound tokens. Display the balance and derive level: Level = floor(sqrt(totalXP / 100)).
Rewards are tracked on-chain through interaction with the program at github.com/solanabr/superteam-academy. For the stubbed implementation, track XP locally โ on-chain minting will be connected later.
XP rewards (configurable per course):
Complete lesson โ 10โ50 XP (based on difficulty)
Complete challenge โ 25โ100 XP
Complete course โ 500โ2,000 XP
Daily streak bonus โ 10 XP
First completion of the day โ 25 XP
Track consecutive days with activity. Visual calendar showing streak history. Streak freeze (bonus feature). Milestone rewards at 7, 30, and 100 days. Streaks are a frontend-managed feature โ implement them using local storage or your database/CMS.
Progress โ "First Steps", "Course Completer", "Speed Runner"
Streaks โ "Week Warrior", "Monthly Master", "Consistency King"
Skills โ "Rust Rookie", "Anchor Expert", "Full Stack Solana"
Community โ "Helper", "First Comment", "Top Contributor"
Special โ "Early Adopter", "Bug Hunter", "Perfect Score"
On-chain, achievements are managed through AchievementType and AchievementReceipt PDAs. Each achievement award mints a soulbound Metaplex Core NFT to the recipient. AchievementTypes support configurable supply caps and XP rewards.
Courses contain modules, modules contain lessons. Each lesson is either content (reading/video) or challenge (interactive coding).
The CMS should support: visual content editor with markdown and code blocks, media management, draft/publish workflow, and course metadata (difficulty, duration, XP, track association).
Lighthouse targets: Performance 90+, Accessibility 95+, Best Practices 95+, SEO 90+.
Core Web Vitals: LCP < 2.5s, FID < 100ms, CLS < 0.1.
Implement image optimization, code splitting, lazy loading, static generation where possible, and bundle size optimization.
Pull Request to github.com/solanabr/superteam-academy with the full frontend implementation
Production application โ All 10 core pages functional, wallet auth, gamification system, code editor integration, i18n (PT-BR, ES, EN), light/dark themes, responsive, Lighthouse targets met
Analytics โ GA4 with custom events, heatmap solution, Sentry error monitoring
CMS โ Configured with content schema and sample course imported
Deployment โ Live demo on Vercel/Netlify with preview deployments
Documentation:
README.md โ Overview, tech stack, local dev setup, env vars, deployment
ARCHITECTURE.md โ System architecture, component structure, data flow, service interfaces (including on-chain integration points)
CMS_GUIDE.md โ How to create/edit courses, content schema, publishing workflow
CUSTOMIZATION.md โ Theme customization, adding languages, extending gamification
Demo video (3โ5 min) โ Feature walkthrough, architecture overview, key decisions
Twitter post โ Share submission, tag @SuperteamBR
Admin dashboard for course management and user analytics
E2E tests (Playwright or Cypress) covering critical flows
Community/forum section with discussion threads and Q&A
Onboarding flow with skill assessment quiz
PWA support (installable, offline-capable)
Advanced gamification (daily challenges, seasonal events)
CMS Course creator dashboard
Actual integration with devnet program
Code Quality & Architecture (25%) โ Clean, typed, well-structured, maintainable. Clean service abstractions for future on-chain integration.
Feature Completeness (25%) โ All required features working correctly.
UI/UX Design (20%) โ Polished, intuitive, developer-focused. Dark mode primary.
Performance (15%) โ Lighthouse scores, load times, responsiveness.
Documentation (10%) โ Clear, comprehensive, useful for future developers.
Bonus Features (5%) โ Additional features beyond requirements.
Submit through Superteam Earn with:
PR Link โ Pull request to github.com/solanabr/superteam-academy
Live Demo URL โ Deployed application with easy signup flow and Devnet wallet for testing
Demo Video (3โ5 min) โ Feature walkthrough and architecture overview
Twitter Post โ Share submission, tag @SuperteamBR
Submissions that do not abide to all of these 4 points won't be qualified for review! Building each project locally is a big security risk, so we won't take the extra time to do so.
Submission Deadline: 14 days from listing
Winner Announcement: Within 10 days after deadline
Payment: Within 15 days after winner announcement
On-Chain Program: github.com/solanabr/superteam-academy
Frameworks: Next.js ยท Nuxt 3 ยท SvelteKit
UI: shadcn/ui ยท Radix UI ยท Headless UI
Solana: Wallet Adapter ยท Metaplex Docs ยท Solana Cookbook
CMS: Sanity ยท Strapi ยท Contentful
Code Editors: Monaco Editor ยท CodeMirror 6 ยท Solana Playground
Analytics: GA4 ยท PostHog ยท Hotjar ยท Clarity ยท Sentry
Design Inspiration: Cyfrin Updraft ยท Codecademy ยท Scrimba ยท LeetCode ยท Duolingo
Brand Assets: Solana Brand Kit ยท Superteam Brazil Brand Kit
All submissions must be original work
Code must be open-source (MIT license)
Winning submission will be used and extended by Superteam Brazil/LATAM
Non-winning submissions remain property of the developer
By submitting, you agree to potential follow-up collaboration
Multiple submissions from the same person/agent/team are not allowed
AI-generated code is allowed, but must be reviewed, tested, and production-quality
Judges' decisions are final
Q: Do I need to implement the full on-chain program? A: No. The on-chain program is in the repo already. Build the frontend with clean service interfaces. Credential display (reading NFTs from Devnet) should work โ lesson completion and enrollment can be stubbed.
Q: Can I use additional libraries? A: Yes, as long as they don't conflict with required technologies. Document any additions.
Q: Do I need to create course content? A: No, we provide mock content. You build the platform and CMS structure.
Q: Can I use Supabase for user data? A: Yes, for MVP. Design clean abstractions so we can swap to on-chain later.
Q: What if I can't complete all features in 21 days? A: Prioritize core features over bonuses. A polished subset beats a buggy complete set.
Q: Can a team submit? A: Yes. Prize is per submission, not per person.
Q: Can I submit in Portuguese/Spanish? A: Yes! Non-English LATAM content is welcome.
Discord: discord.gg/superteambrasil
Twitter: @SuperteamBR
Skills Needed: Frontend Development (React/Vue/Svelte), TypeScript, Tailwind CSS, Solana/Web3, CMS Integration
Eligibility: Global (+ agents)
SKILLS NEEDED
Frontend
Backend
CONTACT
Reach outif you have any questions about this initialBounty
WINNER ANNOUNCEMENT BY