Client project9 min read
AllYouNeedIsNft - NFT Marketplace Startup

Tech stack
Contents
- Challenge
- Discovery
- Options Considered
- Decision
- Implementation
- Outcome
- Indexing Engine in Action
- Thumbnail Generation
- On-Demand Cache
- Nethereum and Domain-Driven Design
- GraphQL on Hot Chocolate
- Collections, Day by Day
- Backend on .NET Core
- Wallet Sign-In
- Admin Panel
- Mobile Bug Fixing
- The Listing Form
- The Transfer Form
- NFT Drops
- NFT Uniqueness Service
- NFTwitting: Teaching Artists NFTs
- Educational Videos for Clients
- Founders' Calls
Services
- →Co-founding and technical leadership
- →Frontend architecture and development (Next.js)
- →Ethereum smart contract integration (Solidity + ethers.js)
- →Wallet authentication UX (MetaMask, WalletConnect)
- →Product planning, roadmap, and engineering hiring
Deliverables
- ✓Live NFT marketplace, token listing, buying, and selling on Ethereum mainnet
- ✓Creator and collection profile pages with SEO-optimised routes
- ✓Wallet onboarding flow designed for non-crypto-native users
- ✓MVP shipped in 3 months from zero lines of code
Challenge
Co-founded AllYouNeedIsNft at a moment when NFT marketplaces were exploding but the space was dominated by OpenSea. The window to enter was narrow: ship a working marketplace fast, differentiate on UX, and establish creator relationships before the market cooled. The technical challenge was real, blockchain integration, smart contract security, wallet authentication, and a consumer-grade frontend all had to be built from scratch by a small team with no existing codebase.
Discovery
Early conversations with artists and collectors surfaced a consistent complaint about existing platforms: confusing wallet flows, poor mobile experience, and no support for emerging creators. The opportunity was a marketplace that felt as simple as an e-commerce store while hiding the blockchain complexity underneath.
Options Considered
- Fork OpenSea's open-source contracts, evaluated. Used as reference but not forked directly; business logic required custom royalty and auction mechanics.
- Use a marketplace-as-a-service (e.g. Rarible Protocol): rejected. Too much lock-in; fee structure wasn't viable for the target creator segment.
- Custom Solidity contracts + Next.js frontend: chosen. Full control over contract logic, gas optimisation, and UX.
Decision
Next.js for the frontend (SSR for SEO on collection pages), Solidity for the marketplace and royalty contracts on Ethereum, ethers.js for wallet interaction. MetaMask and WalletConnect covered the two dominant wallet surfaces. Architecture decisions were made with MVP speed as the top constraint, extensibility second.

allyouneedisnft.com, scrollable snapshot of the live marketplace
Implementation
Led the entire frontend architecture: routing, wallet connection flow, contract interaction layer, and collection/token pages. The wallet auth flow was a particular UX challenge. It had to work for users who had never touched crypto. Designed a step-by-step onboarding modal that walked new users through installing MetaMask and connecting without leaving the page.
Behind the marketplace sat a custom indexing engine that talked to the chain directly through the Nethereum library. It pulled token data on-chain, read the metadata JSON for ERC-1155, ERC-721 and several other formats, and stored collection attributes in a local database. Images were fetched from IPFS and rescaled to the sizes the site actually renders, so collection pages never dragged down full-resolution originals.
Caching worked as lazy load: a collection got indexed the first time someone opened it, on demand, instead of crawling the whole chain up front. Indexing progress was pushed to the browser over WebSockets and shown as a live progress bar, so a first-time visitor to a large collection could watch it fill in rather than stare at an empty page.
Drove product decisions week-to-week: prioritised the buying and listing flows for MVP, deferred auctions and offers to v2. Onboarded two engineers, defined the branching strategy, and ran weekly demos with co-founders to keep the roadmap honest.
Outcome
MVP shipped in 3 months from zero. First creator collections went live at the peak of NFT market interest. The platform handled real transactions on mainnet with no contract exploits. Served as a strong proof of concept for the team's ability to execute in a fast-moving, technically complex space.
Indexing Engine in Action
Thumbnail Generation
Thumbnails being generated for collection images. The collection downloads in the background as a separate microservice process, so the main site stays responsive while it runs, and the files are laid down on disk as they arrive rather than held in memory or re-fetched per request.
On-Demand Cache
For the site to load fast, I built a custom cache. It pulled the collection JSON from the blockchain, downloaded the images and made resized copies of them. The cache was rebuilt once a day on demand: when someone opened a collection whose cache had expired, the rebuild started, and the fresh cache then went to every user who opened that collection after them.

On the frontend the cache refresh showed up as a progress bar fed over a WebSocket connection. The collection update ran as a separate background process so it would not hold up the rest of the site, and it wrote its status to the socket as it went. The frontend moved the progress bar forward with each update.

When indexing finished, the page showed a reload button, and every item in the collection reloaded with its images already in place. On the backend the progress looked like this: the service logged each token it updated and the completion percentage, and sent every step to the socket listeners.


The refresh on the page and in the backend log
Nethereum and Domain-Driven Design
The backend talked to the blockchain through Nethereum, a .NET library for Ethereum. The screenshot shows a new NFT item being created from its metadata, with a wrapper around it built on a generic type so the same code serves different token kinds. The whole project followed Domain-Driven Design and was split into layers: the domain with the business entities and processes, infrastructure for the database and the blockchain, and the application layer on top.

GraphQL on Hot Chocolate
The backend was built on GraphQL, a progressive technology at the time, using the Hot Chocolate library. On top of it sat a set of SQL tricks: lazy loading of specific fields, and a cache rebuild triggered when a particular field inside a projection object was requested.

Collections, Day by Day
A few intermediate stages of the collections page. New collections were added to the site every day, and each snapshot shows the catalogue a little further along.


Two stages of the collections page
Backend on .NET Core
This is what the AllYouNeedIsNFT backend looked like. It all ran on .NET Core, so most of the development happened in JetBrains Rider. The solution sat in a monorepo next to shared packages, and each service was built into a Docker image.

The backend solution in Rider
Wallet Sign-In
To confirm that a user really owns the wallet address they claim, we built a custom authentication flow. The site asks the user to sign an arbitrary message that carries a one-time security token, and the backend then verifies the signature. A valid signature proves the person holds the signing rights for that exact address, so there is no room for doubt about who they are.
The screenshots below catch the signature check under the debugger: the service recovers the address from the signed message, and the handler compares it with the address the user claimed.



Sign-in request and the signature check under the debugger
Admin Panel
The site also got an admin panel. An author could manage their own collections and settings there, and a global administrator could manage collections and settings for other users.

A short overview of the platform's admin interface.
Mobile Bug Fixing
Bug fixing in the mobile version. The marketplace had a lot of functionality, so there were plenty of bugs too: long wallet addresses overflowing their fields, controls overlapping on narrow screens. Each flow was checked on a phone against the Sepolia testnet, down to creating a Seaport listing.


Mobile testing on the Sepolia testnet
The Listing Form
A walkthrough of how to use the listing form on allyouneedisnft.com.
The Transfer Form
A walkthrough of the form for transferring the rights to a collection item on our platform.
NFT Drops
A review of how an NFT drop is created, one more feature on the site. It used a dedicated contract, and during the event anyone could get a random item from the collection for free.
The event itself is similar to an AMA. It starts with a warm-up, a Discord channel is created and hosts are assigned. During the event there are contests, the guests talk to each other, a host leads it all, and giveaways and sales of the collection happen along the way.
NFT Uniqueness Service
A third-party developer built a service that checks NFT images for uniqueness and originality, unique.allyouneedisnft.com. The screenshot shows its home page.

Sometimes I had to record videos presenting new features and projects for our English-speaking audience. The video shows one of them: a presentation of the service that checks NFT images for uniqueness against a database collected from various sites, OpenSea and others.
Within the uniqueness work, the service itself was built by that third-party developer, and the following specification was agreed with him. After that I supervised the delivery and integrated the solution into the main site.
NFTwitting: Teaching Artists NFTs
To teach people how to work with NFTs, we launched a companion project, NFTwitting. It got a Telegram bot and its own ad campaign. In the bot a visitor could pick up a gift, subscribe to updates and join the club, and we collected their data to warm them up and follow up with a sale. The campaign was aimed at artists, to show them how to work with NFTs and earn from them.


The ad campaign for artists and the bot it led to
As part of AllYouNeedIsNFT we also grew an NFT club that taught artists to work with NFTs, talk to clients and sell their work on the well-known NFT platforms. The video is an ad for what we teach in our group.
Educational Videos for Clients
Working with clients, I often had to answer their questions. When a question came up especially often, I set aside time for it: wrote a script, recorded the video and the voiceover. The goal was educational, to bring more people into NFTs and introduce them to crypto.
This video is an example: a walkthrough of creating a wallet on the well-known Binance exchange and of working with USDT.
Another video from my educational series helps people who have never worked with crypto understand what USDT TRC-20 is and how to use it. Viewers set up the TronLink browser extension, create a wallet and make their first transfer.
Founders' Calls
Founders' calls: regular status updates and meetups where each of us shared what they had run into, what the next plan was, where we were heading and what we had already achieved.

Related
Projects

Aurora.Luxe, Technical Expertise and Specifications for a Silk Clothing Store
Before: another team developed the store, and when the 1C exchange failed nobody could see why or check the work precisely. After: technical expertise and acceptance on the owner's side, and specifications such as the logging system that make new work checkable point by point.

CasaLista - Home Services Marketplace in Buenos Aires
Before: a services catalogue that had to be retyped once per language, so moderators either duplicated work or shipped half-translated listings. After: one upload that lands the item in every locale at once, plus a standalone landing page for a single service in three languages.

Gazbet, Aerated Concrete Company Store
Before: no website at all, every enquiry started with a phone call and a manual quote. After: a product catalogue with a calculator that turns the buyer’s own parameters into a concrete offer, so more visits end in a sale.
Posts

AllYouNeedIsNFT: Image Uniqueness Checks and a Generative NFT Editor
Two tools from the AllYouNeedIsNFT marketplace: a service that scores a new NFT image against indexed collections, and an editor that assembles collages from one artist's assets.
Project Structure and Testing in .NET Core 6 vs .NET Core 5: Unit Tests, GraphQL, and Test Server Fixtures
A practical comparison of .NET Core 5 and 6 project structures, with real-world examples for unit testing, GraphQL integration, and test server fixture setup.
Open for contract collaboration
I am available for contract-based collaboration. If you have an interesting project idea, schedule a call via Calendly.
Schedule a 30-min call