Note: This is a portfolio description of a commercial, blockchain-based NFT trading platform developed under NDA. No source code is publicly shared.
This project involved the creation of a decentralized NFT exchange platform that enables users to authenticate via blockchain wallets, trade NFTs, and build relationships with other collectors. The system provides real-time asset visibility, transaction overviews, and social graph features.
I worked as one of three frontend developers for about 4 months. My main responsibilities included:
- Implementing wallet-based authentication flow using libraries like
wagmi,rainbowkit, andethers - Building the user wallet dashboard that displays owned NFTs and established user connections
- Ensuring secure and smooth wallet connection logic and proper handling of token/session flows
- Creating responsive and consistent UIs based on brutalist-style designs
- Making autonomous design and UX decisions in areas where mockups were incomplete or missing
- Next.js 14
- React 18
- TypeScript
- wagmi, RainbowKit, ethers.js
- WalletConnect support
- Session handling via
cookies-nextandjsonwebtoken
- Zustand β lightweight global state
- @tanstack/react-query β data fetching and caching
- TRPC β end-to-end type-safe API communication
- Mantine UI β design system & components
- Framer Motion β animations
- PostCSS, Sass
- Zod β schema-based validation
- clsx, date-fns, uuid
- Vitest, Playwright
- ESLint, Prettier, pnpm
- Delivered a fully functional wallet login and logout experience with session awareness and fallback states
- Designed and built the wallet dashboard, displaying NFT assets, connection statuses, and portfolio history
- Ensured compatibility with various wallet providers and edge-case error handling
- Participated in peer reviews and architectural discussions in a small, agile frontend team
- The project used a brutalist design approach, but many parts of the UI were underdesigned or missing entirely
- I contributed significantly to layout and UX decisions, collaborating with the team to fill in gaps and keep design language consistent
Looking for details about Web3 integration, wallet session flow, or dashboard logic? Iβd be happy to walk through them in a private conversation.