How it works
Tech stack
The frameworks, infrastructure and data providers Nexusol is built on, and the core database tables behind each section.
Stack
Runtime
Next.js 16
App Router, React Server Components by default, React 19
Styling
Tailwind CSS v4
Custom CSS variables, oklch colour space
Components
shadcn/ui
new-york style on Radix UI primitives
Database
DigitalOcean Postgres
Managed Postgres over the postgres-js driver
ORM
Drizzle ORM
Type-safe, schema-first, tracked migrations
Auth
Better Auth
Google and X sign-in, plus OAuth 2.1 for the MCP server
Hosting
DigitalOcean
Docker, nginx and blue-green deploys
Charts
lightweight-charts, Recharts
Price series and network and supply charts with range sliders
Email
Resend
Newsletter delivery and transactional email
Jobs & realtime
Upstash
Redis, realtime pub/sub and QStash job scheduling
AI
Vercel AI Gateway
DeepSeek V4 Flash (editorial), Claude Haiku 4.5 (sentiment), GPT-5.6 Luna (Nexusol Research)
Market data
DeFiLlama, Birdeye
TVL, revenue, DEX volume, large-trade feed
Market data
CoinGecko, SoSoValue
Prices and momentum, SOL spot-ETF flows
Network data
Helius, Solana RPC
Historical transactions, stablecoin supply, live TPS and epoch info
Asset data
tokens.xyz
RWA treasury data and DEX liquidity
Ecosystem data
Magic Eden, Stakewiz, Luma
NFT collections, validators, events calendar
Social & news
GetXAPI, Exa
X sentiment search and a curated-domain news crawl
Visualisation
cobe, tsParticles
The WebGL validator globe and particle backdrops
Core database tables
| Table | Purpose |
|---|---|
| users | Google or X identity through Better Auth; the two can be linked to one account |
| signal_news | News articles with sentiment scores, categories and tags |
| projects | The project directory: name, categories, status, claim and shut-down date |
| news_project_mentions | Validated links between articles and projects (videos and tweets have their own) |
| ecosystem_jobs | The job board |
| ecosystem_scores | Daily composite health scores and their six sub-scores |
| category_momentum | Per-category daily momentum and X sentiment |
| developer_activity_repos | The curated basket of active Solana GitHub repositories |
| trending_tokens | Daily top tokens by momentum |
| category_capital_flow | Capital inflow and outflow by category |
| rwa_asset_breakdown | RWA breakdown by asset class |
| solana_stablecoin_supply | Daily USD stablecoin supply on Solana, per coin |
| ai_research_sessions | Saved Nexusol Research sessions, per user |
| ai_prototypes | Nexusol Vibe blueprints, with immutable revisions |
| ecosystem_ideas | Weekly Build Signal ideas, archived by week |
All database access goes through Drizzle and a service layer; schema changes always go through generated migrations.