Project 01 / 05

CRYPTO TRACKER

Role
Solo · Design & FE
Year
2025–2026
CRYPTO TRACKER interface
Overview

The signal lives in communities, not on price charts.

The platform ingests messages from Discord, Twitter, and Telegram in real time and surfaces them as five distinct card types (token mentions, tweets, Twitter profiles, URLs, and contract deploys) the moment they arrive. Each card is enriched with on-chain context, ranked by source credibility, and organized into named feed columns the user defines. By the time a token appears on a price dashboard, the call was already made in a private Discord. This puts you in the room the moment it happens.

Next.jsTypeScriptWebSocketsPythonZustand
Role
Solo: design through deployment
Year
2025–2026
Stack
Next.js · Python · WS
The Problem

Most of it is missed, not because it wasn't there, but because it was buried.

Signal lost in volume

Hundreds of Discord servers and Telegram groups, thousands of messages per hour. A token call surfaces and drowns in seconds. Without a monitor across all your sources simultaneously, you're always late.

Credibility is invisible

Not every mention is equal. A big KOL calling a token is a different event from a random account. A flat feed treats them the same, so you can't act on what you can't distinguish.

Context gets discarded

A contract address in isolation tells you nothing. The surrounding conversation (who else was talking, what was said before and after) is where the actual signal lives. Most tools discard it entirely.

Approach

Route signal to the right place before you have time to think about it.

Route signal to the right place before you have time to think about it.
01

One pipeline, many feeds

A persistent WebSocket gateway ingests Discord, Twitter, and Telegram via a custom adapter, normalizes every message to a unified format, and delivers five distinct card types to the frontend in real time: token mentions, tweets, Twitter profiles, URLs, and contract deploys. Users define named feed columns with filter rules so the right cards surface in the right column automatically.

Technical note

Custom gateway (Telecord) bridges Discord and Telegram over a single persistent WebSocket using msgpack encoding. Twitter is ingested separately via its own adapter. Server-side ingestion pipeline in Python normalizes platform differences before they reach the frontend. Zustand cardStore receives applyDelta events; each feed column independently filters and re-orders without touching the others.

02

Credibility-weighted surfacing

Sources and users are tagged across four credibility tiers: big_kol, kol, gigabrain, and scanner. When a high-credibility user mentions a token, that card bumps to the top of the feed with an indicator. Bump criteria are configured per feed, so your priority column reacts to different sources than your general chatter column.

Technical note

Bump detection compares lastMentionAt between render cycles, not updatedAt, so context replies don't falsely bump a card. Tag priority order: big_kol > kol > gigabrain > scanner. Per-feed bumpTags and bumpInterval are independent, so different feeds can have different credibility thresholds without shared state.

03

Full context, never discarded

Every mention card carries a timeline view (every previous mention of that token across all monitored sources in chronological order) and a conversation view that pulls the Discord or Telegram thread before and after the mention from source. On-chain context (market cap, drawdown, mention velocity) is enriched at ingest time, not on demand.

Technical note

TOKEN_MENTION_NESTED WebSocket messages carry context_before and context_after arrays from source. Timeline is fetched on demand via a REST backfill endpoint keyed by entity address. Freshie/dormant wallet summaries (12 fields) are computed at ingest and attached to each mention card, so wallet quality is visible without a separate lookup.

Feature 01

Live feed columns, filtered your way

Multi-feed TweetDeck-style layout. Each column is a named feed with its own filter rules: source channels, chains, user tags, time windows. Mentions arrive as cards ordered by recency or bumped to the top by credibility, with token context at a glance: contract address, market cap, drawdown, mention counts over 5m, 24h, and all-time.

Real-time feedsWebSocketZustand
Live feed columns, filtered your way
Timeline: every mention, in order
Feature 02

Timeline: every mention, in order

Every time a token was mentioned across all monitored sources, chronologically. See when it first appeared, how mention velocity shifted over time, and which sources were earliest to call it, without leaving the card.

TimelineMention historySource tracking
Feature 03

Conversation: what was actually said

The full Discord or Telegram thread surrounding a mention, pulled from source. Read what was being said when the call happened, who else was in the conversation, and how it developed: full context, one click away.

Conversation viewContextSource thread
Conversation: what was actually said
10K+
Messages ingested / hour
100+
Sources monitored
<1s
Source-to-card latency
5
Entity Types