Inspiration

The inspiration behind QARO AI came from a simple problem: financial research is often split between what a company fundamentally looks like and what the market is actually paying attention to right now.

Traditional financial research tools are excellent at presenting fundamentals such as revenue, EPS, valuation ratios, balance-sheet information, and historical performance. However, these metrics are inherently backward-looking. At the same time, investors have access to thousands of news articles and search results, but those sources rarely answer an important question: is public attention around a company changing faster than the information being published about it?

This became the motivation for building QARO AI — an AI-powered equity research platform designed for Indian retail investors that combines financial fundamentals with live web intelligence.

The key insight that shaped our SerpApi integration was that Google Search, Google News, Google Trends, and Google Finance each reveal a different part of the market's current state. Individually, they are useful. Together, they can reveal patterns that are difficult to see from any single source.

This led us to build what we call “The Signal.”

The Signal cross-references Google Trends search-interest data with Google News coverage. When search interest for a company rises significantly above its historical baseline while news coverage remains comparatively low, QARO AI surfaces that discrepancy as a potential attention-versus-coverage signal.

We were particularly interested in this because it does not attempt to predict whether a stock will go up or down. Instead, it answers a more fundamental research question:

“Is something changing around this company that deserves attention?”

That philosophy is central to QARO AI: use AI to make financial information easier to understand, while grounding the experience in real, current data rather than allowing the model to speculate.

What it does

QARO AI is a production-deployed AI equity research platform for Indian retail investors.

It combines three major layers:

Financial fundamentals from Financial Modeling Prep and yfinance Live web intelligence through SerpApi AI reasoning and generation through OpenAI

The current product provides three major surfaces.

  1. Live Metrics Dashboard

The dashboard provides a company-level intelligence view combining:

Live Google Finance pricing Financial fundamentals Google News coverage Google Trends search interest Organic Google search results Broader market indices through Google Finance Markets

Rather than treating every source equally, QARO AI uses different cache durations based on how quickly each type of information changes.

For example:

Google Finance → 60 seconds Google Finance Markets → 3 minutes Google News → 5 minutes Google Trends → 6 hours Organic Search → on-demand with frontend caching

This allows the platform to balance freshness, latency, and API cost.

  1. The Signal

The flagship SerpApi-powered feature is the Trends-versus-News Signal.

QARO AI compares:

A company's recent Google Trends search interest Its historical search-interest baseline The amount of recent Google News coverage

If recent search interest exceeds the baseline by more than 30% while the corresponding news coverage remains below the configured threshold, QARO AI surfaces a plain-English insight indicating that retail attention is moving faster than press coverage.

The important part is that this insight does not come directly from one API response.

It emerges from reasoning across multiple SerpApi engines.

  1. AI Research and Reports

QARO AI also provides AI-generated equity research reports and an AI research chatbot.

The report generator currently uses financial data and AI to produce detailed research PDFs, while the chatbot answers company-related questions using real-time financial information and the user's research context.

SerpApi is currently powering the live intelligence layer of the dashboard and is positioned to extend into these AI surfaces as part of the roadmap.

The goal is for the dashboard, chatbot, and generated reports to eventually operate from one consistent live intelligence layer, rather than each surface having a different view of the market.

How we built it

QARO AI is built as a full-stack production application rather than a standalone hackathon prototype.

Architecture

At a high level, requests flow through the React frontend into an asynchronous FastAPI backend.

The backend combines three major data layers:

SerpApi live-web intelligence

→ Google Finance → Google News → Google Trends → Organic Search → Google Finance Markets

Financial data

→ Financial Modeling Prep → yfinance

AI layer

→ OpenAI GPT-4o-mini

These sources converge into QARO AI's intelligence layer before being presented through the dashboard and AI-powered product surfaces.

SerpApi integration

We integrated five SerpApi engines directly into the backend:

SerpApi Engine Purpose Google Finance Live pricing and independent price validation Google News Current India-focused financial coverage Google Trends Retail search-interest measurement Organic Search Financial snippets and company context Google Finance Markets SENSEX, NIFTY 50 and global market benchmarks

The integration is implemented directly in the deployed FastAPI backend rather than being simulated for the hackathon.

Async architecture

One of the engineering decisions we were particularly deliberate about was how SerpApi calls interact with FastAPI's event loop.

The metrics router uses a dedicated asynchronous Redis client.

This is important because making synchronous Redis calls from asynchronous request handlers could block the event loop and reduce concurrency.

The architecture therefore uses asynchronous cache operations and concurrent fetching through asyncio.gather().

This allows multiple independent data sources to be retrieved concurrently rather than sequentially.

Smart caching

We also implemented per-engine TTLs instead of using one global cache duration.

This is important because different financial signals move at different speeds.

A stock price may change every second, while search-interest trends generally move much more slowly.

The caching strategy therefore makes Google Finance highly fresh while allowing Google Trends to use a much longer TTL.

For market-wide data, we use a single shared Redis cache key because the SENSEX, NIFTY 50 and global benchmarks are identical for every user.

This prevents thousands of users from generating duplicate upstream requests.

Graceful degradation

We also designed the SerpApi layer to fail gracefully.

If one upstream engine fails, the entire dashboard should not disappear.

Cache operations are fail-open, and concurrent fetches use exception-tolerant orchestration so that the remaining sources can still return data.

This means that a temporary SerpApi or Redis failure can result in partial intelligence rather than a complete application failure.

That distinction was important to us because QARO AI is designed as a real product rather than a one-request hackathon demonstration.

Challenges we ran into

One of our biggest challenges was moving from the idea of “showing live web data” to actually turning that data into useful intelligence.

Simply displaying Google News headlines or a Google Trends graph is not particularly differentiated.

The difficult question was:

What can we calculate by combining these sources that neither source can provide independently?

That led to the development of the Signal.

Another major challenge was balancing freshness against cost and performance.

It is tempting to query every upstream service on every request, but that does not scale.

At the same time, aggressive caching defeats the purpose of live market intelligence.

We therefore had to think about the actual velocity of every data type and assign different TTLs accordingly.

Concurrency was another challenge.

The dashboard depends on several independent upstream data sources. Making those calls sequentially would increase latency considerably.

We therefore designed the backend to fetch independent sources concurrently using asynchronous execution.

Failure handling was another important consideration.

With five external intelligence sources, any individual upstream service can potentially fail or become temporarily unavailable.

We didn't want the failure of one engine to take down the entire metrics page.

This resulted in the fail-open caching and partial-response strategy.

Finally, there was the AI grounding problem.

Financial AI systems have a particularly serious problem with hallucinated market commentary.

We therefore deliberately designed the AI components to work from sourced financial context rather than allowing the model to freely invent market explanations.

The roadmap for SerpApi integration into the chatbot and report generator follows the same philosophy: bring live, attributable information into the model's context instead of asking the model to guess what is happening in the market.

Accomplishments that we're proud of

The biggest accomplishment is that QARO AI is already live.

This isn't a concept showing what we might build if we won the hackathon. The submitted SerpApi integration is connected to a deployed FastAPI backend and a working React dashboard.

We integrated five SerpApi engines into one product and made them work together as a unified intelligence layer.

We are particularly proud of The Signal, because it demonstrates a more interesting use of search infrastructure than simply displaying search results.

Google Trends tells us about attention.

Google News tells us about coverage.

QARO AI combines the two to identify a relationship between them.

We are also proud of the engineering work underneath the feature:

Asynchronous SerpApi integration Async Redis caching Per-engine TTL optimization Shared caching for global market data Concurrent data fetching Graceful degradation Rate limiting Integration with existing financial data AI-ready structured data pipelines

Another accomplishment is that the same architecture can support multiple future product surfaces.

Instead of building separate data pipelines for the dashboard, chatbot and reports, we are building toward a shared live intelligence layer.

That gives QARO AI a much stronger foundation than simply adding an AI chatbot on top of financial APIs.

What we learned

One of our biggest learnings was that AI becomes much more useful when the problem is solved at the data layer first.

An LLM by itself does not know what is happening in the market right now.

The quality of its answer depends heavily on the quality, freshness and structure of the context we provide.

SerpApi helped us think about web intelligence as a first-class data source rather than something added after the AI layer.

We also learned that different data sources have different velocities.

A live stock quote, a news article and a search-interest trend should not be treated as if they have the same freshness requirements.

That realization directly influenced our caching architecture.

Another important lesson was that combining independent signals can create more useful information than simply collecting more data.

The Signal came from asking what we could learn from the relationship between Trends and News rather than simply displaying both datasets.

We also learned that production engineering matters even in a hackathon.

Concurrency, caching, rate limits, failure handling and graceful degradation may not be visible in a screenshot, but they determine whether a system can actually serve users.

Finally, building QARO AI reinforced an important principle for financial AI:

AI should explain sourced information, not manufacture information that doesn't exist.

That principle is influencing how we design both the current platform and the next generation of QARO AI.

What's next for QARO AI: Live Market Intelligence

Our next objective is to turn QARO AI from a platform that shows live intelligence into one that can actively reason with and deliver that intelligence to the user.

  1. Live AI Research Chatbot

The next major step is integrating SerpApi directly into the research chatbot.

When a user asks:

“Why is this stock moving today?”

the chatbot should be able to retrieve recent Google News coverage, combine it with live financial information, and provide a grounded answer based on what is actually being reported.

Google Trends can add the retail-attention dimension, while Google Finance can provide real-time peer-price comparisons.

This would transform the chatbot from a fundamentals-based assistant into a genuinely live research assistant.

  1. Live AI Reports

We also plan to introduce a new “Market Sentiment & Momentum” section into generated research reports.

The report would combine:

Trends-based attention Google News coverage Market movement Existing financial fundamentals A Google Finance price cross-check

This means a report generated today could reflect today's market context, rather than primarily describing historical financial information.

  1. Personalised Signals

The next evolution of The Signal is to make it proactive.

Instead of requiring an investor to open QARO AI and check a company manually, background jobs could monitor Trends-versus-News relationships across the user's watchlist.

When an unusual change occurs, QARO AI could notify the user.

That changes the product from:

“Pull the information when you need it.”

to:

“QARO AI watches the market for you.”

  1. More intelligence sources

Longer term, we want to explore additional SerpApi engines.

Potential directions include:

Google Jobs → hiring velocity as an operational growth signal App-store data → consumer traction for technology and fintech companies YouTube search → management interviews and video-based market commentary Regional-language Google News → Hindi, Marathi, Tamil and other Indian-language financial coverage

This is especially important for India because market information is not consumed exclusively in English.

The bigger vision

Our long-term vision is for QARO AI to become a live market intelligence layer for Indian equity research.

Instead of having:

fundamentals → one tool news → another tool search trends → another tool AI research → another tool

we want QARO AI to bring them together into one continuously updated intelligence system.

The ultimate product loop is:

Live Web → Financial Data → Signal Detection → AI Reasoning → Personalised Insight → Continuous Monitoring

And SerpApi sits at the centre of the live-web portion of that loop.

That is why, for us, SerpApi is not simply an API that QARO AI calls.

It is the foundation that allows QARO AI to move from historical financial research toward real-time market intelligence.

Built With

Share this project:

Updates

Submission history