Back to Projects

Filament Web3 Airdrop Platform

Decentralized Governance & Token Distribution

Overview

Designed NestJS backend for campaign lifecycle management and multi-phase governance voting. Adapter pattern with unified ITransaction interface for Ethereum + Hub blockchain. Event-driven WebSocket architecture for real-time transaction state sync across the full campaign lifecycle.

Key Features

  • NestJS backend for campaign lifecycle management and multi-phase governance voting
  • Adapter pattern with unified ITransaction interface for Ethereum + Hub blockchain
  • Event-driven WebSocket architecture for real-time transaction state sync
  • Ethers.js integration for on-chain execution and automated token distribution
  • Clerk Auth integration for secure user management
  • Campaign state machine with multi-phase voting logic

Tech Stack

Backend

NestJSNode.jsPostgreSQLRedisTypeScript

Blockchain

Ethers.jsWebSocketClerk Auth

Frontend

SvelteKitTailwind CSSTypeScript

Challenges & Solutions

Multi-Chain Transaction Handling

Problem

Ethereum and custom Hub blockchain have completely different transaction models, APIs, and signing mechanisms — UI needed to work with both without code duplication.

Solution

Adapter pattern with unified ITransaction interface — both EthereumTransaction and HubTransaction implement the same interface. Adding new blockchain = one new class, zero backend changes.

Real-Time Transaction State Sync

Problem

Transaction status needs to be tracked across the campaign lifecycle (pending, confirmed, failed) with real-time UI updates.

Solution

WebSocket-based event-driven architecture — backend emits transaction lifecycle events, frontend subscribes for optimistic UI updates across all components.

Key Achievements

Multi-Chain
Unified Adapter pattern for Ethereum + Hub
Event-Driven
WebSocket real-time transaction tracking
NestJS
Campaign lifecycle + multi-phase voting
Ethers.js
On-chain execution and token distribution