Hedge
Your friends. One investment strategy. An AI team inside Slack.
Inspiration
Every friend group has someone sharing stock picks. What happens next is usually a scattered conversation—not an investment process.
Research gets buried in messages. Nobody tracks the shared strategy. Contributions live in a spreadsheet, and risk management depends on whoever remembers to ask the hard questions.
We wanted to make investing together more structured without making everyone learn another platform. What if your Slack channel had its own investment team—one that could research ideas, propose allocations, and check the risks?
That became Hedge.
What it does
Hedge is a Slack-native AI investing club. It brings the workflow of a small investment fund into a channel shared with friends.
Members can:
- Create a virtual investment pool with a shared mandate and risk level.
- Invite friends and record individual virtual contributions.
- Track contribution-based ownership.
- Ask an AI investment team to research stocks, market trends, and news.
- Evaluate portfolio proposals through backtesting and risk review.
- View their individual stake and paper portfolio inside Slack.
Our demo centers on friends setting up a $500 virtual pool and researching investment ideas together.
Hedge currently uses simulated money. It does not collect real deposits, operate as a regulated hedge fund, or place live brokerage orders.
How we built it
Brainbase: the investment team’s infrastructure
We configured seven agents in Brainbase: CIO, Market Scout, Trend Analyst, News Analyst, Portfolio Manager, Backtester, and Risk Reviewer.
Their instructions and orchestration graph are defined in version-controlled YAML manifests and deployed through the Brainbase CLI. The configuration uses a Daytona runtime, Brainbase’s Kafka agent harness, and a Google Gemini model.
Brainbase’s MCP tools provide orchestration, memory, and browser capabilities. This gives agents tools for coordinating tasks, retaining context, and researching sources rather than relying only on a static prompt.
The orchestration graph branches from the CIO into market, trend, and news research. Those branches converge at Portfolio Manager, followed by Backtester and finally Risk Reviewer.
Separating these stages matters: the agent finding an opportunity is not the agent approving it.
Slack: the collaboration layer
We built the interface with Slack Bolt for Python, Socket Mode, and Block Kit.
The CIO bot receives mentions, reads the originating thread, and creates a Brainbase task. Pool creation and contribution workflows use confirmation cards with signed, thread-bound actions.
The bridge checks workspace, channel, and member permissions. Persisted event IDs prevent repeated button clicks from recording duplicate contributions.
Python and SQLite: the financial controls
Financial state lives outside the language models.
Our Python backend stores virtual contributions in an append-only SQLite ledger. Amounts use integer cents, ownership uses exact fractions, and duplicate requests are handled without double-crediting members.
Proposals must follow the hedge.decision.v1 contract. Local code validates pool identity, mandate version, symbols, quantities, order types, and paper-trading policy.
The repository also includes typed handoff validation that checks run identity, thread identity, deadlines, and hashes linking research artifacts.
Yahoo Finance: historical research and simulation
We use yfinance to retrieve Yahoo Finance data for paper research.
Our local backtesting engine supports historical OHLCV data, next-bar fills, slippage, commissions, cash checks, and performance metrics. The paper-trading runtime adds exposure limits, an audit trail, duplicate-decision protection, and a kill switch.
Challenges we ran into
The hardest problem was deciding what the AI should not control.
A convincing research answer should not be enough to change someone’s ownership, update a balance, or execute a trade. We separated agent reasoning from deterministic accounting and validation.
Another challenge was asynchronous coordination. Results must belong to the correct task, channel, and thread. A completed task is not automatically a verified decision.
The documented automated Brainbase-to-Slack result path still needs a trusted, task-bound structured-result transport. We treat this as an integration requirement rather than assuming task logs are safe final outputs.
Accomplishments that we’re proud of
- Building a shared investing workflow rather than another stock-question chatbot.
- Defining a seven-agent research and review graph in Brainbase.
- Implementing exact virtual contribution accounting and member-scoped Slack views.
- Building local backtesting and paper-trading controls without giving agents broker access.
- Making uncertainty and invalid data reasons to stop—not reasons to invent an answer.
What we learned
Multi-agent systems need more than specialized prompts. They need explicit responsibilities, validated outputs, and reliable boundaries between stages.
We also learned that financial correctness often depends on ordinary engineering: exact arithmetic, durable records, permission checks, and safe retries.
What’s next for Hedge
- Complete and verify trusted Brainbase-to-Slack result delivery.
- Validate the complete group workflow end to end.
- Add richer strategy comparisons and paper-performance reporting.
- Improve how members review proposals and record group decisions.
Log in or sign up for Devpost to join the conversation.