Launchcaster
Launchcaster - is a platform designed to fill a crucial gap in the Web3 ecosystem—providing a space for new crypto projects to showcase themselves and attract early adopters. When we first ventured into the Web3 space, we realized there was no dedicated platform for projects to connect with the community. So, we created Launchcaster, focusing on delivering the best possible user experience and making it incredibly easy to launch new projects.
We initially deployed our front-end Next.js application to a Kubernetes cluster, but have since migrated to the Vercel platform for better performance and scalability.
How we built it
- Front-end
- NextJS with server-side rendering, using a mix of App and Pages routers.
- SCSS modules for styling, role-based UI rendering.
- GraphQL Apollo for API communication, RainbowKit for authentication.
- Analytics via Segment, deployed on Vercel.
- Indexer service
- Listens for smart contract data via RabbitMQ.
- Indexes ERC721/1155 transfer events, returns data to RabbitMQ.
- API
- Custom framework with GraphQL, integrated with Farcaster Hub (Neynar API) and RabbitMQ.
- Syncs data from Farcaster and Lens to MongoDB via cron jobs.
- Monitored by BetterStack, email handled by Customer.io, and resources cached with Redis.
- IPFS (Pinata), Zora smart contracts, and NFT token gating.
- LaunchPass
- Solidity-based ERC721 project, integrated with hardhat-deploy, including unit tests and custom logic.
New learnings
- Farcaster Hub for data retrieval and submission.
- Neynar API for seamless communication with Farcaster Hub.
- Lens API integration for decentralized social data.
- RabbitMQ as our message broker.
- BetterStack for monitoring system health.
- Advanced usage of Smart Contract factories and Hardhat.
- Integration of OpenAI for content generation.
- RainbowKit for user authentication.
- Custom blockchain log indexer development.