An AI co-pilot, not an autopilot.
A trading workbench where the human decides and the model does the homework.
Stock Co-Pilot is an AI-native research tool built for active traders. Two client surfaces — a SwiftUI iOS app and a React PWA — sit on top of a single routing layer that turns natural-language questions into structured work, dispatches them to eight specialist services, and hands back validated, cache-aware answers. The model never touches the trade button.
Most retail trading tools fall into two camps. On one side, there are brokerage apps that give you a big green button and a confetti animation. On the other, there are professional terminals that cost thousands a month and assume you already know what a Stochastic crossover is. Neither is built for the growing population of self-directed traders who are serious about learning but don’t have a Bloomberg terminal budget.
The AI wave made it worse before it made it better. Chatbots started offering stock tips with no attribution, no methodology, and no guardrails. A trader would ask a question and get a confident-sounding paragraph that they couldn’t verify, couldn’t trace back to data, and couldn’t act on safely.
I wanted to build the opposite: a tool where every answer is grounded in real data, every recommendation shows its reasoning, and the user stays in control of every decision. A co-pilot that does the analysis legwork, not an autopilot that pretends to know the future.
The web workbench is the primary surface — a React PWA with screening, charting, strategy bots, portfolio sync, and a persistent AI copilot sidebar. The iOS app focuses on daily briefings, watchlists, and push alerts for traders on the move.


The system is four layers deep: client surfaces ask questions, the AI router classifies intent and picks the right specialist, eight specialist services do the actual work, and the data layer keeps the system honest with live market feeds and durable storage.

getAIResponsequeryRouterparseCriteriarunWorkshopRoutine{ results, feedback }Natural language is the API.
A trader can ask anything in plain English and it flows through one router. Intent classification happens once and gets reused across every surface — chat, screener, briefing, bots.
The model never touches the user.
Every call to OpenAI happens server-side, behind auth and a rate limiter. Clients hold no keys. Schemas are validated on the way out, so a hallucinated shape never crosses the wire.
Cache is a first-class citizen.
Five tiers of caching sit between the user and the cost of fresh inference. By the time you tap “analyse,” there’s a good chance someone already paid for the answer.
The next iteration moves the workshop from screen-and-pick to screen-then-improvise — the same router, but with mid-run branching, so the co-pilot can change its mind alongside you when the tape turns.