About the project

Inspiration

I'd tried to build something like this before and failed — the models weren't capable enough, the agent tooling wasn't there, and I didn't have the time. This time a few things lined up: Google's Agent Development Kit had matured, I finally had room to experiment, and a couple of previous hackathons meant I could put what I'd already learned to the test.

What it does

The core question I wanted to answer: can you blend a human-style discretionary thesis with the non-determinism of LLMs — without letting a model that hallucinates actually place orders?

So the platform splits the two apart. The agents do the reasoning — they read foundational research, news cycles, and macro/economic data across the G8 economies to make sense of why the market is moving: why a sector is bid up, why another is beaten down. From that they narrow a 13,000–20,000-ticker universe down to ~50–100 names in the sectors most likely to be mispriced in the current regime. (Energy might be the right place to trade in June; tech or financials might not be, in the same business cycle.)

The execution stays deterministic — specific, technical-analysis-driven trades placed through Alpaca as bracket orders. Rule-based and proven, not a model freestyling with my money.

I used Gemini Flash-Lite for fast summaries and self-explanation (so I could share the idea with colleagues in the UK and abroad), and Gemini Flash for the deeper reasoning behind the thesis. A reflection step then feeds insights back so the agent refines its strategy for a sector over time — it gets better. It's an idea, not a guarantee; I don't think any single strategy works forever. But Arize Phoenix was genuinely useful for working out which model fits which job.

How I built it

Built on Google's ADK, deployed on Cloud Run. I ran it like a real product rather than a notebook: develop and test locally, then ship by pushing a git tag — the tag triggers a programmatic deploy (Terraform baseline, integrations, feeds and tests all wired in). A lot of the effort went into the harness around me — a spec-and-doc-driven workflow that let me bootstrap the whole thing. The runbooks, HLDs and ADRs in the repo document how it was put together.

Challenges I ran into

Too many to list. I ended up dropping Fivetran for this cut — it synced Mongo→BigQuery once or twice (I wanted it for ML-driven analytics later), but wiring it back reliably was more pain than it was worth right now.

The integrations themselves are battle-tested; the real challenge was making them tell a story. What's the business value, and how do I show it on screen? If it doesn't make sense visually, there's no point — and that's demoralising. A lot of evenings went into the chat interface so you can ask questions about your own trade history (backed by Elastic) — find anomalies, see which tickers I have an affinity with, and why.

The hardest problem was data coherence. Too often I was unknowingly rendering stale data — something failing silently upstream — so a dashboard number would be quietly wrong. Pulling G8 macro sources was straightforward (web search, plus a Twitter key for social sentiment); keeping it all fresh, clear and consistent was not. The 3D/animation work (three.js, motion.dev) was its own fight.

Accomplishments that Im proud of

First: it works, and it deploys itself. I have a proper harness now — pre-commit hooks and a test gate that catch problems before anything ships, which I'd been burned by before. Five of six integrations are live (Fivetran is the one I cut).

And honestly, cutting a tight 3-minute video after weeks of late-night building and debugging was its own accomplishment — I nearly gave up more than once, and I'm glad I didn't.

What I'm proudest of is that I shipped this the way you'd ship a real product — release pipelines to GCP, decision logs, architecture docs, runbooks and low-level designs for every integration, all version-controlled. As a solo builder you wear every hat — CEO, data engineer, domain expert — and getting it to place real paper trades through Alpaca (paper capital, but real orders and a real performance ledger) made it tangible.

What i learned

A lot — ADK, MCP tools, and the realities of hosting. The biggest lesson is the oldest one: works on my machine doesn't mean works in the cloud. It took real effort to streamline the local pipeline and then hand CI/CD to GitLab with a proper test-and-approval gate.

  • Arize Phoenix was the standout — it showed me which evaluation model to use where, how my traces were performing, and whether the multi-agent architecture actually held together. GCP has eval too, but Phoenix (including the open-source edition) was the easiest on-ramp.
  • Notifications matter. I wired failed builds to a private Slack channel, so I know immediately when something didn't ship.
  • Elastic surprised me — I could generate dashboards just by asking Claude for them, which used to be a manual chore. Genuinely magical.
  • MongoDB Atlas quietly handled everything — thousands of documents, AI conversations, and all the ingested feeds (news, FRED economic data, ECB policy) as the persistent store, barely registering on performance.

I expect this to turn into talks in my professional community, and hopefully a Google developer day or two.

What's next for SentinelHub — Agentic G8 Market Opportunity Trader

I'm going to keep building on it — there's genuine, snowballing interest from colleagues, which is the best signal there is. The threads I want to pull next: tightening data-quality guarantees and scheduling, and maturing the operational story from AgentOps into EvalOps + SRE-style monitoring. From there, a small, lean production rollout with room to scale (Firebase as the hosting path). And — given how much I learned — a series of talks on full-stack Agentic systems with MCP tooling.

Built with

google-gemini · google-adk · mongodb-atlas · arize-phoenix · elasticsearch · fivetran · bigquery · dynatrace · alpaca · firebase · next.js · react · fastapi · python · typescript · docker · google-cloud-run


Built With

Share this project:

Updates

posted an update

I will continue evolving this, and refine, to offer user-based (firebase) profiles. The auth is already configured but i am skipping it now to enabled unrestricted demo playtime. To be fair there's not much to do this runs programmatic agent behind-the-scenes does pretty much everything but you can ask questions and about the portfolio. You could ask question about everything as data is gathered by the agents and data feeds to continuously spot and evaluate market opportunities..

I have restricted backend to a smaller (ETF) Stock Universe to avoid maxing out my API calls to Alpaca on hourly run schedule. enjoy Let me know if you enjoy it and what else do you want to see this project add features for. JP

Log in or sign up for Devpost to join the conversation.