Inspiration

We built OmniHold AI from a personal need: understanding our true investment exposure. Owning an ETF and an individual stock can create hidden overlap, making a portfolio appear more diversified than it really is. What's worse is other than direct holdings and ETFs, we can be exposed to the same stock via 401Ks, HSAs, etc. We wanted a clearer way to see those connections and make more informed decisions about balancing our holdings.

What it does

OmniHold AI helps investors understand their portfolios at both the direct and indirect levels. Users can:

  • Add and manage stocks, ETFs, and multiple investment accounts
  • See effective company, sector, and asset-class exposure
  • Identify overlap between individual holdings and ETFs
  • Track portfolio concentration and diversification
  • Explore “what-if” allocation scenarios
  • Ask an AI assistant to explain their portfolio in beginner-friendly language
  • Monitor holdings with price updates, market context, and company news

How we built it

We built the frontend with React, TypeScript, Vite, Bootstrap, and custom CSS. Xano powers the backend, including authentication, portfolio management, database storage, API endpoints, background tasks, ETF data imports, monitoring, and AI workflows (which is powered by Open AI and Gemini models).

We use ETF constituent data to calculate look-through exposure, combine it with users’ direct holdings, and generate deterministic diversification metrics. Gemini powers the portfolio assistant, while market prices and company news are retrieved through Finnhub.

Challenges we ran into

The biggest challenge was accurately calculating indirect exposure through ETFs without double-counting companies. We also had to handle incomplete ETF constituent data, stale prices, missing metadata, and differences between direct allocation and effective exposure. We also had a lot of challenges getting access to stock market data (both historical and current) as most companies have very strict rate limiting policies in place on their APIs.

Another challenge was designing AI features responsibly. The assistant needed to explain portfolio data clearly while staying grounded in verified calculations, distinguishing facts from interpretation, and avoiding personalized buy or sell recommendations.

Finally, we had difficulties with custom logging and metrics when building on top of Xano. While Xano made development super easy and smooth, and honestly we really enjoyed using it, debugging failures was not as easy as we had hoped.

Accomplishments that we're proud of

We’re proud to have built a working portfolio analysis experience that reveals exposure investors may not see in a traditional holdings list. OmniHold AI can show how direct stocks and ETFs combine to create effective company and sector exposure.

We’re also proud of the read-only scenario calculator, which lets users explore potential allocation changes without changing their portfolio or placing a trade.

We also really proud of the AI assistant feature, and how well it does explaining complex concepts like diversification strategies in a way that anyone can understand.

What we learned

Both of us are software developers, so we learned a lot about finance and stock market trading. We often hear people say divesification is a must, but we didn't know how to holistically approach it before this hackathon.

We also learned the importance of providing deterministic inputs to AI. We discovered that for the same exact input and prompt, AI is going to generate different outputs over different invocations. So whenever and wherever possible, we stored and displayed the output generated by AI instead of calling AI on-demand.

What's next for OmniHold AI

Next, we want to expand beyond U.S. stocks and ETFs to support more asset classes, international investments, options, bonds, mutual funds, and deeper ETF look-through analysis.

We also want to add broker integrations, historical exposure tracking, tax-lot awareness, customizable concentration alerts, portfolio comparison tools, and more scenario types. Over time, OmniHold AI could become a comprehensive personal investment understanding and decision-support platform.

Built With

Share this project:

Updates

Submission history