Data-heavy UI
Virtualized tables with sticky headers for thousands of positions.
Async refresh
Job polling with loading, partial-update and retry states.
Sharing
Public and private portfolio views with share links.
Go + RAG
Gin/GORM service tasks and the Qdrant-backed AI chat.
01 · 2024 – 2026
Folionomics
Multi-chain portfolio analytics
A product that pulls wallets, DeFi positions and charts from many chains into one view. I owned most of the Next.js frontend and contributed to the Go backend and the AI chat.
Crypto holdings are spread across wallets, chains and protocols, each with a different data format. Users want one clear picture of value, history and exposure.
- Next.js
- React
- TypeScript
- Redux Toolkit
- Go
- PostgreSQL
- Docker
- AWS
- Qdrant
How it fits together
Next.js / React / TypeScript app
My main area
- Redux Toolkit state and data hooks
- Dashboards, virtualized tables, charts and filters
- Wallet connection, public tracking and sharing
- API requests and refresh-job polling
Go (Gin) portfolio API
Contributed
- Controller / service / repository layers
- GORM + PostgreSQL models
- Provider adapters and background refresh jobs
- Wallets, bundles, positions, history, sharing links
- AI path: embeddings → Qdrant → retrieval & reranking → LLM
Providers & infrastructure
Team
- Portfolio and market-data providers
- Container and cloud infrastructure
What the whole product does
- Tracks wallets across EVM networks, Solana and Bitcoin.
- Go (Gin) API with GORM and PostgreSQL normalises several providers.
- Background refresh jobs with persisted progress.
- Share links with expiry and revocation.
- AI chat grounded in the user's own portfolio via Qdrant embeddings.
- Team and product capabilities, not individual authorship.
