-
-
content marketplace where users browse available fashion content before purchase
-
creator Hub showing uploaded fashion content with prices set in DEV tokens, 100% earnings to creators
-
explore page
-
Glamora landing page, a luxury design with wallet connection for seamless Web3 onboarding
-
content stored permanently on IPFS via Pinata
Inspiration
I run a small fashion company called Dredge Classics here in Lagos, Nigeria. Every day, I watch talented designers pour their hearts into their work, only to see platforms like Instagram, TikTok, and Patreon take 30-50% of their earnings. But the money isn't even the worst part it's the algorithms. In Nigeria, the algorithm decides if anyone even sees your work. You can be incredibly talented, but if you're not in the right market, your content gets buried. I've seen designers spend weeks on a collection, post it online, and get maybe 50 views while someone in New York posts the same thing and gets thousands.
The centralized platforms control everything, what you post, who sees it, when you get paid, whether your account even stays active. They can ban you tomorrow and keep your money for 90 days. And there's nothing you can do about it. There was a night, after another designer friend got her account suspended for suspicious activity (she was just selling her designs), I thought: What if we didn't need them at all?
What if creators could upload their work, set their own prices, and actually keep what they earn? What if geography and algorithms didn't matter because the platform was decentralized? This is when Glamora was born. Not as a tech project, but as a solution to a real problem I live with every day.
What it does
Glamora is a decentralized marketplace built specifically for fashion creators. Here's how it actually works: For Creators (like me):
- Upload your fashion content - tutorials, photos, design files, videos
- Your content goes to IPFS, so it's stored forever and can't be deleted by any platform
- Set your own price in DEV tokens (or any crypto)
- When someone buys, you get 100% of the payment instantly
- No waiting for "payment processing," no minimum withdrawal amounts, no platform taking cuts
For Buyers:
- Browse all available content without needing a wallet
- Connect MetaMask when you're ready to purchase
- One-click purchase, pay directly to the creator
- Access your purchased content forever on IPFS
- Everything is recorded on blockchain, complete transparency
The key difference from traditional platforms: I don't control anything. The smart contracts handle everything. I can't ban anyone, I can't take anyone's money, I can't delete content. That's the point.
How I built it
Week 1-2: Learning and Planning
I knew some JavaScript so spent the first week watching Solidity tutorials at 2x speed and reading Moonbeam docs. I designed three smart contracts:
- GlamoraHub - The coordinator that manages everything
- CreatorProfile - Stores creator information (username, bio, wallet address)
- ContentPayment - The money contract - handles uploads, purchases, payments
Used OpenZeppelin libraries because I'm not arrogant enough to write security-critical code from scratch.
Week 3: The First Deployment (That Failed)
I wrote my contracts in VS Code. First deployment to Moonbase Alpha failed. Solidity version mismatch. I fixed it. Second deployment failed. Wrong network configuration in Hardhat. Fixed it. Third deployment... worked Seeing my contracts on Moonscan for the first time felt unreal. Those were MY contracts, running on a real blockchain, and nobody could take them down.
Week 4: Building the Frontend
Built the UI with React and TypeScript. As a fashion designer, I couldn't just make it "functional" it had to look good. Went with a luxury aesthetic:
- Dark black backgrounds (#0a0a0a)
- Gold accents (#d4af37) for that premium feel
- Rose gold highlights (#b76e79)
- Smooth animations everywhere
Used ethers.js to connect the frontend to my smart contracts. This is where things got complicated.
Week 5: The IPFS Nightmare
Tried uploading images and videos directly to IPFS. It kept timing out. then I discovered Pinata. Their gateway just... worked. Uploads that took 10 minutes now took 10 seconds. Sometimes the solution isn't coding harder, it's finding the right tool.
Week 6: The Bug That Almost Broke Me
Everything was working, upload worked, viewing worked, the UI looked beautiful. Then I tried to actually purchase something. I click "Purchase Now" and... error: "invalid address or ENS name"
I checked everything. My contract was deployed. My frontend was connected. MetaMask was working. What was wrong? I spent an entire day debugging. I checked the contract function signature:
function purchaseContent(address _buyer, uint256 _contentId)
Checked my frontend call:
await contentPayment.purchaseContent(contentId, { value: price })
See the problem? I was only passing the content ID. The contract expected the buyer's address FIRST, then the content ID.
One line fix:
await contentPayment.purchaseContent(account, contentId, { value: price })
And it worked. I literally laughed at myself. Six hours debugging because I didn't read my own code carefully.
The Final Polish
Last few days were testing, fixing small bugs, writing documentation, recording the demo video. Made sure everything worked smoothly before submission.
How we built it
I built alone
Challenges I ran into
"Content is not a function" Error
Early on, I kept getting this error when trying to fetch content from my contract. The function existed in the contract, I could see it in Solidity. What was happening?
The ABI wasn't exporting it correctly. I was importing the contract wrong in my frontend. I fixed the import path, regenerated ABIs with Hardhat, and it worked.
IPFS Upload Timeouts
I spent three days fighting with direct IPFS uploads. Videos would hang, images would upload partially. The user experience was terrible.
Switching to Pinata's gateway solved it instantly. Sometimes you need to admit when something isn't working and find a better way.
MetaMask Integration Quirks
Getting MetaMask to consistently detect network changes was tricky. Sometimes it would connect to the wrong network. Sometimes it wouldn't switch at all. I added proper network detection and automatic switching to Moonbase alpha. Now it just works.
Making Web3 Feel Normal
The biggest challenge wasn't technical - it was UX. Web3 has a reputation for being complicated and scary. I needed to make it feel as simple as Instagram.
No complexity in the UI. Just "Connect Wallet," "Upload Content," "Purchase Now." added loading states, confirmation messages, clear instructions. Made MetaMask popups less scary by explaining what's happening.
Working Alone
This was hard. When you hit a bug at 2 AM and there's nobody to ask for help, you just have to figure it out. I learned to use Claude, read Stack Overflow, check GitHub issues and polkadot resources. The internet became my team.
Accomplishments that I'm proud of
I Actually Built It
So excited to see t's a working platform with smart contracts deployed on Moonbeam, real content stored on IPFS, and real transactions happening on-chain.
Zero Platform Fees
Creators keep 100%. Not 95%. Not 90%. 100%. That's revolutionary for our industry.
It Actually Works
You can:
- Connect your wallet
- Upload content (I've uploaded two fashion pieces)
- Purchase content (tested multiple times)
- View purchased content on IPFS
- Everything is recorded on Moonbase Alpha blockchain
Smart Contracts Are Live and Verified
Three contracts deployed and working on Moonbase Alpha:
- GlamoraHub:
0x4fe1D1b42E734c52365C0DdF2C94bf34f6e07115 - CreatorProfile:
0x17D58639c871D848e31597372056CBb548F3fE93 - ContentPayment:
0x86eC3e58B69e9975d572d099814c2F470E18b2e6
You can verify them on Moonscan right now. They're real. They work. I built this for fashion creators who might not know what blockchain is. The UI doesn't scream "crypto" it feels like a premium fashion platform that happens to use Web3.
Did It Solo
No team. No co-founder. Just me, my laptop, and determination. Every line of code, every design decision, every bug fix - all me.
What I learned
Technical Skills:
- Solidity isn't as scary as I thought. It's just another programming language I'm way deep into Clarity programming language so it was easy to grasp;
- Moonbeam's EVM compatibility is a superpower, everything I learned from Ethereum tutorials just worked
- IPFS is powerful but needs the right infrastructure (thank you, Pinata)
- Smart contract debugging is 90% reading your own code carefully
- TypeScript saves you from mistakes
- Good error messages are worth it
About Blockchain:
- Transactions on Moonbase Alpha are FAST, we're talking seconds, not minutes.
- Gas fees are pennies, not dollars (huge for creators)
- Web3 UX is still a challenge, but it's getting better
About Building:
- Start simple. I wanted to build everything at once. Bad idea. Build the core, get it working, then add features.
- Test early, test often. Deploy to testnet early. Don't wait until "it's perfect."
- Documentation saves your life. Future you will thank past you for comments.
- Sometimes the bug is a typo. Check the simple stuff first.
- Coffee helps, but sleep helps more.
Why Moonbeam Specifically:
I chose Moonbeam for one simple reason: it just works.
EVM compatibility meant I could use Solidity without learning a new language. The documentation was clear. The testnet was reliable. I never had downtime or network issues. Transactions confirmed in seconds and cost almost nothing. But the real reason? being part of the Polkadot ecosystem means I'm building for the future. Cross-chain is coming, and Moonbeam is the bridge that makes it possible.
What's next for Glamora
Immediate (After This Hackathon):
- Creator Analytics Dashboard: Show earnings over time, most popular content, audience demographics
- Search and Categories: Right now it's just "all content." need proper organization fashion, photography, tutorials, etc.
- User Profiles: let creators customize their profiles, add social links, tell their story
- Following System: let users follow their favorite creators and get notified of new uploads
- Better Mobile Experience: works on mobile now, but could be smoother
Next Few Months:
- Subscription Models: pay $10/month, access all of a creator's content. Recurring revenue for creators.
- Bulk Uploads: uploading 50 pieces one by one is painful. Need batch upload functionality.
- Content Collections: let creators group related content (e.g., "Spring 2025 Collection")
- Advanced Analytics: show creators where their buyers are from, peak sales times, conversion rates
- Collaborative Features: let multiple creators work on content together and split earnings automatically
Big Dreams (6-12 Months):
- Deploy to Moonbeam Mainnet: Move from testnet to production with real money
- Mobile Apps: React Native apps for iOS and Android
- NFT Integration: mint limited edition content as NFTs for super fans
- DAO Governance: let the community vote on platform decisions, fee structures (if we ever add fees), new features
- Cross-Chain Magic: Use Polkadot's cross-chain capabilities to let people pay with any token from any parachain
- Creator Grants Program: Use a small percentage (maybe 2-3%) to fund emerging creators
The Real Vision:
I want Glamora to become the default platform for fashion creators worldwide. Especially creators in places like Nigeria, Kenya, India, Brazil places where traditional platforms ignore us or exploit us.
I want a world where a designer in Lagos can upload their work, reach customers globally, and keep every penny they earn. Where algorithms don't decide who succeeds. Where platforms can't delete your life's work as they please; that's what I'm building toward.
Sustainability Model:
Right now, creators keep 100% to prove it's possible. But, long term, I'm thinking:
- Optional 2-3% platform fee (still 10x better than Web2 platforms)
- Fee covers IPFS pinning costs, development, improvements
- Or maybe premium features basic uploads free, advanced analytics paid
- Or maybe DAO decides let the community vote on what's fair
The point is not really to maximize profit. The point is to build something sustainable that actually serves creators.
Technical Roadmap:
- Optimize smart contracts for gas efficiency
- Add batch operations to reduce transaction costs
- Implement Layer 2 scaling solutions if needed
- Build robust indexing for faster content discovery
- Add automated testing and CI/CD
- Open source everything and accept community contributions
Built by: Timothy Terese Chimbiv
Company: Dredge Classics
Location: Lagos, Nigeria
Contact: dredgeclassics@gmail.com | @ter_chimbiv
GitHub: https://github.com/Terese678/glamora-polkadot
Built With
- ethers-js`
- hardhat`
- ipfs`
- moonbeam`
- openzeppelin`
- pinata`
- polkadot`
- react`
- solidity`
- typescript`
- vite`
Log in or sign up for Devpost to join the conversation.