Project Story: Polkadot Discovery
Inspiration
As a first-time hackathon participant, I was drawn to the Polkadot Hackathon’s challenge to innovate in Web3, a paradigm I see as a solution to the biases and gatekeeping of centralized platforms. Reading the hackathon description on November 11, 2025, I reflected on how platforms like Google prioritize paid content, marginalizing small businesses and creators. This inspired Polkadot Discovery, a decentralized content discovery platform built on Polkadot’s Westend Testnet to empower users and creators with transparent, bias-free search.
My vision was to address three Web3 challenges:
- Countering Centralized Bias: Create a search system where discoverability relies on relevance, not ad budgets, using blockchain-based tagging.
- Enhancing User Experience: Leverage machine learning (ML) for dynamic, topic-based search with user-controlled preferences.
- Respecting User Attention: Deliver curated, non-intrusive newsletters instead of spammy notifications.
Web3, to me, is about sovereignty and fairness. Polkadot’s interoperable blockchain offered the perfect foundation to prototype a system where users own their data and creators gain visibility without centralized intermediaries.
What I Learned
This hackathon was a crash course in Web3 development and collaboration with large language models (LLMs). Key lessons include:
- LLM-Driven Development: I honed a process of iteratively prompting LLMs to design and code, translating my Web3 vision into a functional PoC. This required clear communication to align LLM outputs with my SCIS framework.
- Polkadot Ecosystem: Integrating Polkadot.js and the Westend Testnet taught me about blockchain wallet connections and on-chain data storage (e.g.,
system.remarkextrinsics for preferences). - Decentralized Architecture: I learned how to structure a flat-file system (SCIS) for traceability, with 31 files organized as
p{phase}s{section}f{file}.{extension}(e.g.,p0s0f1.jsfor the orchestrator). - Time Management: Building a PoC in ~6 days pushed me to prioritize features like dynamic filtering and newsletter previews while planning for future scalability (e.g., #tagging system).
How I Built It
Starting November 11, I used my LLM process to design and build Polkadot Discovery in under a week. Here’s the approach:
Ideation with LLMs:
- I prompted LLMs to define Web3 challenges, focusing on Polkadot’s scalability and user sovereignty. This shaped the PoC’s three pillars: decentralized search, ML-enhanced search, and newsletters.
- I outlined a system to search across topics (movies, restaurants, travel, events, tech) with dynamic filters and on-chain preferences.
SCIS Organization:
- I applied my Sequential Component Identification System (SCIS) to structure 31 files in a flat directory (
C:\Dev\Polkadot). Files followp{phase}s{section}f{file}.{extension}(e.g.,p1s0f6.jsxfor the React app component). - Components are named
Cp{phase}s{section}f{file}.{index}(e.g.,Cp0s0f4.1for the query analyzer). This ensured traceability and LLM compatibility.
- I applied my Sequential Component Identification System (SCIS) to structure 31 files in a flat directory (
Tech Stack and Implementation:
- Frontend: React (^18.2.0), Vite (^5.4.21), Tailwind CSS (^3.3.0) for a responsive UI, served at
http://localhost:5173/p1s0f1.html. - Backend: Node.js (v16+), Polkadot.js for wallet integration, and Westend Testnet for preference storage.
- Data: JSON mock datasets (
p1s1f1-5.json) for content and topic mappings (p1s1f6.json). - ML: A keyword-matching algorithm (
p0s0f4.js) for topic detection, with plans for advanced models. - Tools: ESLint, Prettier, and
@vitejs/plugin-react(^4.0.0) for code quality.
- Frontend: React (^18.2.0), Vite (^5.4.21), Tailwind CSS (^3.3.0) for a responsive UI, served at
Feature Development:
- Search and Filters: Users query topics (e.g., “thriller movies 2024”), and ML detects topics to load filters (
p1s0f3.jsx) fromp1s1f6.json. - Newsletter: Curated updates (
p1s0f4.jsx) based on filters, avoiding notification overload. - Polkadot Integration: Wallet connection (
p1s0f5.jsx) saves preferences on-chain (p0s0f6.js). - Future Vision: Planned a #tagging system (e.g., #VeganEats) for creators to boost visibility, stored on-chain.
- Search and Filters: Users query topics (e.g., “thriller movies 2024”), and ML detects topics to load filters (
LLM Coding:
- LLMs generated code for 31 files (9 JSON, 5 Markdown, 7 JSX, 1 CSS, 1 HTML, 12 JavaScript), guided by SCIS and my prompts. I reviewed and refined outputs to ensure functionality.
Challenges Faced
Building Polkadot Discovery was exhilarating but not without hurdles:
- Time Constraints: With ~6 days from November 11 to 17, I had to scope features tightly. I prioritized core functionality (search, filters, newsletter, wallet) over advanced ML or real APIs, deferring them to future plans.
- Web3 Learning Curve: As a first-time Web3 developer, integrating Polkadot.js and Westend Testnet required rapid learning. Debugging wallet connections (
p1s0f5.jsx) was tricky but rewarding. - LLM Alignment: Ensuring LLMs produced SCIS-compliant code demanded precise prompts. I iterated to align outputs with
p{phase}s{section}f{file}naming and component logic. - Styling: Configuring Tailwind CSS (
p1s0f7.css) for a polished UI was challenging under time pressure, requiring manual tweaks.
Looking Forward
Polkadot Discovery showcases Web3’s potential to democratize content discovery. The #tagging system, planned for future iterations, will let creators tag content (e.g., #IndieFilm) on-chain, enhancing visibility without centralized bias. This hackathon taught me the power of LLMs and Polkadot to build user-centric solutions. I’m excited to expand this PoC with real APIs, advanced ML, and a Polkadot parachain to create a fully decentralized discovery layer for the internet.
Built for the Polkadot Hackathon, November 2025
Polkadot Discovery Team
Built With
- claude
- css
- gemini
- grok
- javascript
- perplexity
- scis-(sequential-component-identification-system)
Log in or sign up for Devpost to join the conversation.