VeloDev
arrow_backBack to Portfolio
Case Study

InvestAdvisor

Smart AI Investment Suite

InvestAdvisor is a sophisticated stock market and ETF monitoring dashboard built to democratize professional financial analysis. It leverages advanced Large Language Models and technical indexers to translate complex chart patterns and market news into simple, actionable insights.

RoleLead Architect & Dev
Timeline1 Month (2026)
CategoryFull-Stack SaaS / AI
DeploymentLocal Sandbox / Private
Technology Stack
Next.jsReact NativeExpress.jsSupabaseSQLite (better-sqlite3)Gemini AIZustandTanStack QueryChart.js
Lighthouse Audits (Production Sandbox)
96
Perf
100
A11y
98
Best Pr.
100
SEO

Source: Lighthouse, production.

https://localhost:3000/dashboard
WORKSPACE SCREENS
Click on tabs to switch views. Click on the image to open full size.
Dashboard Overview
zoom_inZoom Screenshot

infoDashboard Overview

Main portfolio overview screen showing assets valuation, profit/loss history, market pulse, and automated AI highlights.


Engineering snapshot

Challenge, ownership, decisions, result

Challenge

Turn raw market data into recommendations a non-analyst can act on, across web and mobile — while keeping a hobby-scale budget, staying inside third-party API rate limits, and never presenting an AI guess as a fact.

What I owned
  • Product definition and scope: which questions the app answers and which it refuses to.
  • The full stack: Next.js web client, React Native app, Express API and the SQLite/Supabase data layer.
  • The AI layer — prompt design, scoring model, cost and latency control.
  • The alerting engine and everything that runs on a schedule.
Result
  • check_smallA working web + mobile product built solo in about a month.
  • check_smallLighthouse 96 performance / 100 accessibility / 98 best practices / 100 SEO on the production sandbox.
  • check_smallAI output that is always backed by deterministic calculations the user can check.
Key engineering decisions
01

Two cache tiers, chosen by how fast the data ages

Market quotes get a 5-minute TTL; heavy AI inferences get 60 minutes, since a portfolio thesis does not change minute to minute. That single split is what keeps both the API bill and the rate-limit errors at zero.

02

Deterministic indicators first, the model second

RSI, allocation and concentration risk are computed in code, not asked of the model. Gemini scores and explains on top of numbers that are already correct, which keeps the output auditable.

03

A separate loop for anything scheduled

The 5-minute cron alert engine runs outside the request path, so a slow provider or a long AI call never blocks a user opening the dashboard.

04

Share the logic, not the UI, between web and mobile

Both clients talk to the same Express API and reuse the same data contracts, but each keeps its own presentation layer instead of forcing one component tree onto two platforms.

05

Rate-limit the AI chat by design

The financial mentor chat carries rate limiting, persisted history and explicit market context in the prompt, so answers stay grounded and a single session cannot run up the bill.


Key Capabilities & System Features

InvestAdvisor integrates advanced artificial intelligence with a highly responsive, custom-cached architecture.

psychology

AI Portfolio Advisor

Evaluates asset allocations on 5 critical scores: fundamental health, technical indicators, overall concentration risk, macro trends, and market sentiment via the Gemini API.

chat

Conversational AI Mentor

A responsive, markdown-compatible financial chat interface in Romanian. Incorporates rate-limiting, history persistence, and contextual market parameters for safe learning.

notifications_active

Intelligent Alert Engine

Runs in the background checking price targets, percent swings, technical conditions (RSI overbought/oversold), and diversification risks on a 5-minute cron scheduler.

database

Dual Caching Engine

Utilizes high-speed SQLite caching layers with specialized Time-To-Live (5-min for market quotes, 60-min for heavy AI inferences) to ensure instant loading and zero API rate failures.

Monorepo System Design

Technical Architecture

The platform is structured as a performant monorepo featuring a decoupled client-server pattern. The Express backend integrates directly with multiple market data providers to supply clean historical and real-time feeds to the Next.js React frontend.

devicesFrontend (Next.js)

  • App Router Routing: Static and dynamic routing paths.
  • TanStack Query (React Query): Caches server states and manages optimistic portfolio mutations.
  • Zustand v5: Light weight client store managing custom chart limits and dark mode.
  • Chart.js: Fast canvas rendering of historical price action.

dnsBackend (Express)

  • better-sqlite3: High-performance synchronous database driver.
  • Cron Alert Engine: Evaluates active price alerts every 5 minutes in a separate loop.
  • Technical Indexer: Native calculations for RSI, MACD, and Bollinger Bands.
  • Gemini Orchestrator: Manages AI token limits and responses.

apiData Brokers & AI

  • Gemini 3 Flash: Generates dynamic investment scores and provides Mentor conversations.
  • Massive API: Real-time quotes and intraday feeds for US indices.
  • Finnhub API: Multi-exchange European stock symbol quote translations.
  • GNews API: Feeds the financial news feed with clean context.

Project Screen Library

Click on any of the screenshots below to open them in the lightbox viewer.

Dashboard Overview
zoom_in
CFD Trading Chart
zoom_in
CFD Trading Monitor
zoom_in
AI Financial News
zoom_in
Account Settings
zoom_in