The Brief
The protocol was growing quickly. New tokens were launching, Uniswap pools were appearing, and the community was trading—but there was no reliable place to see what was happening.
Major market-data providers did not index these early ecosystem tokens. Without a dashboard, users had to inspect contracts and transactions manually through Etherscan to understand price, liquidity, or recent activity.
I built Based Gecko as the missing intelligence layer: a purpose-built market terminal that discovers tokens directly from the blockchain and turns raw pool state into prices, charts, trade feeds, and community signals.
I designed, engineered, and shipped the entire product solo, including its blockchain scraper, backend services, cache, database, WebSocket infrastructure, wallet authentication, frontend, responsive interface, and deployment.
The Data Gap
A newly launched token may exist only inside one Uniswap pair. Until a major provider chooses to index it, there is no price endpoint, no historical chart, and no embeddable market feed.
That creates a serious product problem for an emerging ecosystem. The most important period in a token’s life is precisely when conventional tooling knows the least about it.
Based Gecko could not depend on CoinGecko or another aggregator as an upstream source. It had to derive useful market information from first principles and make any token visible as soon as it acquired on-chain liquidity.
Moving Blockchain Work Off the Critical Path
Reading Ethereum state directly from the browser for every visitor would have produced a slow and expensive application. A single page could require token lookups, pool discovery, reserve checks, historical block reads, and recent event queries—all competing for rate-limited RPC capacity.
I inverted that model. A backend service performs the expensive blockchain work on a schedule, processes the results, and stores application-ready data. The frontend reads from the cache instead of reconstructing the market every time somebody opens a page.
Every 20 minutes, the scraper discovers activated ecosystem tokens, checks Uniswap V2 and V3 liquidity across multiple fee tiers, refreshes price history, and parses recent trades. By the time the interface requests the data, the heavy work has already happened.
This separation keeps RPC latency and provider cost away from the user’s critical path. It also gives the application one consistent data model rather than spreading blockchain-specific parsing logic through every screen.
Building Price History from Pool State
The largest technical gap was historical pricing. There was no API to query because nobody else had indexed the assets.
For each token, the service reads Uniswap pool reserves at historical block heights across a 60-day window. The ratio between the paired reserves gives the token price at that moment. Sampling those states over time produces a chart without relying on an external market-data vendor.
The same principle drives the activity feed. I parse raw Swap events, identify whether each transaction represents a buy or sell from the direction of token movement, calculate its price and volume, and expose it as a readable stream of trades.
Because the pipeline works from contracts and pools rather than a curated provider list, Based Gecko can track a token from the moment liquidity exists. There is no listing request, indexing delay, or external approval process.
A Community Layer Grounded in Ownership
Crypto communities often make decisions in chat, but normal chat systems provide no way to distinguish a genuine holder from someone simply claiming authority.
I built a live WebSocket chat where identity begins with a wallet signature. Connecting users sign a message through MetaMask without paying gas or sending a transaction. The backend verifies that signature and reads the wallet’s actual token balances.
Messages are enriched with on-chain holdings before they are broadcast. When someone comments on a token, the community can see whether that person has meaningful exposure rather than trusting a username or self-selected badge.
Leaderboards extend the same system across top holders, token-specific leaders, and daily participation streaks. Supabase records activity as users authenticate and chat, allowing the product to recognise both ownership and sustained community participation.
Designing a Usable Market Terminal
Market products have to carry a high density of information without becoming visually chaotic. I designed a custom three-column desktop interface with token identity and metadata on the left, price history at the centre, and market statistics on the right.
On mobile, those regions become a single ordered flow rather than a compressed desktop grid. The chat becomes full width, while its desktop version remains draggable and collapsible so conversation never blocks the information a user is trying to read.
The visual system uses a dark trading-terminal language, clear positive and negative accents, and monospace numerals so changing values remain aligned. I built the interface without a component library or purchased theme, allowing the hierarchy to follow the product rather than a generic dashboard template.
Tokens without an active pair still receive an intentional state. Instead of an empty chart or dead “no data” message, the page renders a slowly rotating Three.js particle spiral. Even the absence of market information is treated as a designed product condition.
One Connected System
The strength of Based Gecko is not any isolated feature. It is the way the layers reinforce one another.
The blockchain scraper feeds the cache. The cache serves the frontend. Raw pool data becomes charts and trades. WebSockets deliver chat in real time. Wallet signatures establish identity. On-chain balances add credibility to messages. Supabase records participation and powers leaderboards.
The blockchain remains the source of truth, but users interact with a fast product rather than a sequence of RPC calls. Two services, one database, and a custom frontend turn protocol state into something the community can actually use.
The Outcome
Based Gecko gave the ecosystem an independent market-intelligence platform capable of seeing assets before mainstream providers did.
Users could inspect historical prices, watch buys and sells, evaluate liquidity, identify holders, and speak inside a community whose identities were verified against the chain. New tokens became visible as soon as their pools existed.
I delivered the product alone, from the blockchain data model and scheduled scraper through authentication, WebSockets, database design, responsive frontend, Three.js empty states, and production deployment.
It is a strong example of what I bring as a full-stack developer: I can find a gap that no API solves, build the missing infrastructure, and carry it all the way into a product that feels coherent, fast, and trustworthy.
