Show HN: Pluto – AI for investing, data visualization, automation and analysis
Hey HN! I'm Jacob Sansbury, a software developer and founder of Pluto. After working at Bridgewater Associates and moving to San Francisco, I decided to combine my passion for software development and finance to create Pluto – an AI-driven platform that revolutionizes the way retail investors manage their finances. Today, I'm excited to share our beta with you:

https://pluto.fi/

Pluto is built with a combination of Next.js and Python, running on K8s and Kafka. Our AI Copilot, Plato, uses a three-part system (thinkers, actors, and communicators) to analyze data, execute actions, and communicate results to the user.

1. Thinkers: These components are responsible for gathering data and generating observations about the world. They query various data sources, such as financial markets, news feeds, or user inputs, to create specific observations (e.g., "AAPL's price is $132"). The thinkers act as the "eyes and ears" of the AI system, providing the essential information needed for decision-making.

2. Actors: The actors take the observations generated by the thinkers and use them to execute actions that change the state of the world or the system. These actions can include creating new investment strategies, adjusting existing strategies, executing trades, or running tests. The actors are the "doers" in the system, responsible for making things happen based on the information they receive.

3. Communicators: The communicators are responsible for wrapping up the observations and actions and presenting them to the user in a clear and understandable format. They may generate reports, send notifications, or provide visualizations to help users make sense of what the AI system has done. The communicators act as the "voice" of the AI system, bridging the gap between the raw data and the user's understanding.

We've faced several interesting challenges and devised innovative solutions while building Pluto:

1. Integrating with trading platforms and APIs for multi-strategy management: Our "aha moment" came when we realized users wanted each strategy to behave like a separate account with segregated performance metrics and data while also having aggregated results. However, our partners that handle custody and settlement provide a single account per user. We developed a sophisticated infrastructure to track which strategies “own” each cent and share, keeping them bucketed, and created a custom rebalance algorithm that efficiently handles allocation changes and transfers to and from all strategies. This approach allowed us to offer a unique multi-strategy management experience.

2. Building a versatile AI Copilot: To enable Plato to call almost any function in our codebase, we built DionysusDSL, a tool that uses Lark to make it simple to create new commands that both AI and Lark can understand. This allows for seamless integration of commands and handling multiple arguments with accurate type validation.

Pluto's beta version allows you to:

- Create an entire dashboard of bespoke AI data visualizations from a single prompt like "Track Finance".
- Create data-driven strategies using Python or visual blocks with the help of Plato.
- Talk about data with Plato including real-time feeds from 100+ sources like SEC filings, news stories, Senate trading reports, company financials, analyst forecasts, sentiment data.
- Backtest strategies with 20+ years of historical data.
- Build a portfolio of strategies in sandbox and live mode.

We'd love to hear your feedback, opinions, and any technical questions you might have and if you're interested in us open-sourcing any of the work we've done on getting LLMs to produce structured results.

TLDR: Try AI-driven financial management at https://pluto.fi/