case study

ipick.ai

ml & swe intern sept 2026 - now nexus team python · django · plaid

ipick is an ai stock research platform. this semester i'm on nexus, the student team building three new tools for it, and i've had my hands in all three.

the problem

dealing with agents

ipick had ai agents picking stocks, but nothing backing up their picks. no portfolios, no recommendations either. that is what i am working on.

  • no way to build or analyze a portfolio
  • no stock recommendation system
  • agents with no real logic behind their picks

what i'm building

the tools

01

portfolio analysis

link your brokerage through plaid and ipick pulls in what you actually own.

02

stock recommendations

price history from yfinance, cleaned up in postgresql, turned into features that predict returns.

03

rl stock picking

an agent watches about 150 stocks, looks at the last month or two, and decides how much of each to hold. rebalances every two weeks.

portfolio analysis

linking a brokerage account

plaid lets you connect your brokerage without ever giving us your password. it's a token handoff across four django endpoints, and i worked on all four.

01 · connect

page loads the plaid widget.

02 · link token

server grabs a short-lived link token so the login popup opens.

03 · exchange

user logs in, and we swap their public token for a permanent one. that one never leaves the server.

04 · holdings

pull stocks, etfs, and funds from every linked account into one list.

the ipick.ai homepage: agentic ai for stock research and investments
ipick.ai: ai research on 6,000+ stocks and etfs
diagram of how plaid connects an app, the user's device, and their bank
where plaid fits in (diagram: dashdevs)
diagram of the reinforcement learning loop: agent, action, environment, reward
the rl loop: pick weights, see what the market does, learn from the returns

what i did

  • portfolio analysis: built the plaid endpoints in django. tokens stay on the server, and if plaid breaks we return a clean 502.
  • stock recommendations: pulled price history with yfinance, fixed ticker mismatches, and stored the clean stuff in postgresql.
  • feature engineering: built indicators and return targets that only use past data.
  • rl stock picking: designed what the agent sees and does, and dug into bandit algorithms like linucb.
  • evaluation: figured out how to test it honestly so it's not just memorizing old data.

what happened

  • presented at the mid-semester review.
  • wrapped the first round of rl research and started testing baselines.
  • got the data pipeline running despite yfinance rate limits and mismatched tickers.
  • next: build the best rl model and backtest everything.