DK Back to case study

CryptoSense AI - System Design & Product Document

AI-powered crypto sentiment & investment-likelihood advisor - portfolio case study, mobile-first application.

Prepared as a design and engineering portfolio artifact. Contains prototype specifications, not a production system.

Executive summary

CryptoSense AI is a mobile application concept that aggregates social media chatter, news coverage, on-chain activity and market data for major cryptocurrencies, converts that raw signal into a composite sentiment score, and translates the score into a plain-language investment-likelihood indicator (Strong buy → Avoid). The app ranks all tracked currencies by that score, and for any single currency shows current price, 30-day history, a 7-day model-projected trend, and the underlying sentiment breakdown.

This document covers the product scope, the mobile UX, the end-to-end system architecture, the sentiment and forecasting methodology, data and API design, and the non-functional and compliance considerations a production build would need. A working front-end prototype (with simulated data) accompanies this document.

Problem & goals

Retail crypto investors track many scattered signals - X/Reddit chatter, headlines, on-chain flows, price action - with no single place that turns them into a consistent, comparable score across assets.

Product goals:

Non-goals: this is not a trading or custody product, does not execute trades, and does not replace licensed financial advice.

Target users & use cases

Persona Need Primary flow
Casual retail holder Quick gut-check before buying/holding Open app → scan ranked list → tap a coin
Active trader Track sentiment shifts across many assets daily Ranked list sorted by score, daily check-in
Researcher / analyst Understand why sentiment moved Detail view → source breakdown → headlines

Mobile experience

The prototype (see accompanying React file, CryptoSenseAI.jsx) implements two core screens in a single-column, thumb-first layout:

Rankings screen

Currency detail screen

Visual system: dark surface (#10131C / #171B27 cards) so charts and colour-coded scores read clearly; Space Grotesk for headings, IBM Plex Sans for body copy, IBM Plex Mono for all numeric data (prices, percentages, scores) to make figures easy to scan; a single warm amber accent (#F5A623) reserved for score/brand emphasis, with green/amber/red used only for gain/neutral/loss semantics.

Scoring methodology

Each tracked currency receives three 0–100 sub-scores, refreshed continuously as new data arrives:

Signal Weight What feeds it
Social sentiment 40% Volume-weighted NLP sentiment across X, Reddit, Telegram; spam/bot filtering applied first
News sentiment 35% NLP sentiment + relevance scoring over licensed news APIs and RSS feeds
On-chain / market signal 25% Wallet accumulation, exchange in/outflows, volatility, liquidity depth

Composite score = 0.40 × social + 0.35 × news + 0.25 × on-chain. A hype-vs-substance penalty is subtracted when social sentiment sharply outpaces news and on-chain signal (a proxy for speculative pump activity with limited underlying support), before mapping to the final likelihood indicator:

Score range Label Interpretation
75–100 Strong buy signal Broad, consistent positive signal across all three sources
60–74 Buy signal Net positive signal, some mixed inputs
40–59 Hold / neutral Signals roughly balanced or conflicting
25–39 Caution advised Net negative signal, elevated uncertainty
0–24 Avoid signal Broadly negative signal across sources

The 7-day forecast is produced by a separate time-series model seeded by the same composite trend direction, expressed as a projected price path with a widening confidence band - communicating uncertainty rather than a false-precision point estimate.

System architecture

High-level data and processing flow, from raw source data to the mobile client:

CryptoSense AI system architecture diagram

Layer detail

Data model (core entities)

Entity Key fields
Asset id, symbol, name, current_price, price_24h_change, updated_at
SentimentSnapshot asset_id, ts, social_score, news_score, onchain_score, composite_score, label
PriceHistory asset_id, ts, price, volume
Forecast asset_id, generated_at, day_offset, projected_price, band_low, band_high
SourceItem asset_id, source_type (social/news), source_name, text_summary, sentiment_polarity, ts, url
User (if accounts added) id, watchlist[], alert_preferences, auth_provider

Key API endpoints (illustrative)

Endpoint Purpose
GET /v1/rankings Ranked list of all tracked assets with current score and price
GET /v1/assets/{id} Current price, 24h change, composite score and label for one asset
GET /v1/assets/{id}/history?range=30d Historical price series for charting
GET /v1/assets/{id}/forecast?days=7 Projected price path with confidence band
GET /v1/assets/{id}/sentiment Source breakdown (social/news/on-chain) and top driving headlines
GET /v1/assets/{id}/headlines Recent, relevance-ranked headlines and posts feeding the score

Tech stack (proposed)

Layer Suggested technology
Mobile client React Native (iOS/Android), Recharts/Victory for charts
API layer Node.js or Python (FastAPI), REST/GraphQL, Redis cache
Streaming & queue Apache Kafka or a managed Pub/Sub service
NLP / ML serving Python, HuggingFace transformers (FinBERT-style), model server (TorchServe/BentoML)
Forecasting Prophet, or an LSTM/temporal-transformer model per asset
Storage PostgreSQL or TimescaleDB for time-series; S3-compatible object storage for the raw data lake
Infra Containerised services (Docker/Kubernetes), managed cloud (AWS/GCP), CI/CD pipeline
Observability Structured logging, metrics dashboards, model-drift monitoring on sentiment/forecast accuracy

Non-functional requirements

Compliance & responsible-use considerations

A tool like this sits close to financial advice, so a production build should treat the following as first-class requirements, not an afterthought:

Roadmap

Phase Scope
MVP Top 10–20 assets, rankings + detail screens, daily-refresh sentiment, static 7-day forecast
V1 Real-time sentiment refresh, push alerts on score changes, personal watchlists
V2 Portfolio-aware scoring (correlate score with a user's actual holdings), backtesting dashboard showing historical score accuracy
V3 Multi-language source coverage, community-verified source credibility ratings

Appendix - prototype scope note

The accompanying front-end prototype (CryptoSenseAI.jsx) uses deterministic simulated data for 10 major currencies to demonstrate the rankings screen, detail screen, gauge indicator, source breakdown, and 7-day forecast chart end to end. It does not call live social, news or market APIs. Wiring it to production data means implementing sections 6–9 above (ingestion, NLP pipeline, forecasting model, and API layer) behind the same API contract the prototype's UI already expects.