GitHub Gems

Finley: Open-Source AI Financial Analyst Built on Telegram

Finley, an open-source AI assistant for Telegram, answers stock questions with live market data, SEC filings and persistent memory, all on free-tier services.

Smartphone screen showing a Telegram chat with an AI assistant displaying stock market data and charts
Photo: GitHub

A new open-source project published on GitHub on 12 October 2026 offers a different way to research stocks: a conversational AI analyst that lives inside Telegram. Called Finley, the tool answers questions about companies using live market data, recalls what users have discussed before, and sends price alerts and morning briefings. Its developers say the entire system runs on free tiers of existing services, with no paid APIs and no credit card required, which makes it an unusually low-cost option for individual investors and developers who want to experiment.

What Finley does

Finley is designed to be used the way a person would talk to a junior analyst. Users type plain questions rather than memorising commands, and the assistant responds with figures pulled from live sources. There are no dashboards to learn and little financial jargon is required to get started.

According to the project's GitHub page, the feature set covers several core areas:

  • Real-time stock quotes with change metrics
  • A full market overview covering the S&P 500, NASDAQ, Dow Jones, Russell indexes and the VIX volatility index
  • Company fundamentals such as price-to-earnings ratios, margins, revenue and growth
  • Lookups of SEC filings, including 10-K annual reports, 10-Q quarterly reports, 8-K current reports and insider trades
  • Side-by-side comparisons of several companies across key metrics
  • Price alerts that trigger above or below chosen thresholds
  • Personalised morning briefings delivered at custom times in each user's time zone

Users can also send a voice note or upload a PDF report, which Finley analyses to extract key insights. It can likewise review images of financial charts and attempt to identify patterns in them.

How the underlying stack works

Finley combines Google's Gemini models with market and filing data from three sources: Finnhub, the yfinance library and the SEC's EDGAR database. EDGAR is the public repository where US public companies file their regulatory documents, so pulling filings from it directly gives the assistant access to primary material rather than secondhand summaries.

The data layer is backed by MongoDB and Qdrant, a vector database. Both can run locally in Docker containers or in the cloud. The project's documentation describes a setup in which developers clone the repository, start the databases, configure environment variables and run the bot. Continuous integration tests run on every push and pull request, and they use mocked services, so they do not need live API keys or databases.

Rotating keys to stretch free quotas

The most distinctive engineering choice concerns how the project handles Gemini's free-tier limits. The gateway assigns one key per Google account. When a key returns a rate-limit error, the key is placed on a 65-second cooldown and the next key is tried. Temporary server errors are retried with backoff. According to the documentation, three keys drawn from three accounts give three times the free quota.

The developers also note that Gemini's free limits differ by model and change over time, and they point users to Google's rate-limit page to check current usage. That caveat matters: a free stack is only as stable as the free allowances behind it.

Memory that improves over time

Finley's most unusual feature is its semantic memory. After each conversation, Gemini extracts facts worth remembering, converts them into embeddings and stores them in Qdrant. Structured details such as ticker symbol, metric type, date and source are kept as filterable fields rather than buried in the text. When a user asks a new question, the system searches for relevant past memories and uses them to inform the answer, which is why the assistant can appear to remember a user's holdings or preferences.

Retrieval combines two search methods. One is a sparse, keyword-style index based on BM25 scoring, and the other is a dense vector search. The results from both are merged using reciprocal rank fusion, and the top five are returned. The documentation says a noise gate prevents a weak keyword match from pushing down a strong semantic one. If Qdrant is unavailable, MongoDB acts as a fallback.

Cost and performance choices

Because free tiers impose tight limits, the project spends considerable effort on efficiency. Independent tool calls and context lookups run in parallel. Conversation saves happen in the background, so responses do not wait for database writes. Long chat histories are compressed: once a conversation exceeds six messages, older content is replaced by a running summary that is refreshed every five turns, and the latest three messages are kept in full. The developers report a roughly 74 percent reduction in history tokens on a 12-message test fixture. That figure comes from a single controlled test rather than real-world usage, so readers should treat it as an indication rather than a guarantee.

The project also flags a practical issue for anyone building on Gemini. Its documentation notes that the text-embedding-004 model does not exist on the live Gemini API, and that requests to it return a 404 error, with only newer embedding models supporting the relevant call. Developers copying older tutorials may run into this problem.

Why it matters and what to watch

Finley sits in a growing category of AI tools aimed at retail investors, which has expanded as large language models have become cheaper and more accessible. Its appeal lies less in novel financial analysis than in the way it stitches together public data, free AI access and chat-based delivery. For developers, the repository also serves as a case study in handling API rate limits, hybrid search and memory management on a tight budget.

Several caveats apply. The project is released under the MIT License, which allows free use, modification and distribution, including for commercial purposes, provided the copyright and permission notices are kept. The software is offered "as is", without warranty. Its output depends on third-party data providers and on Gemini's changing free allowances, and an AI assistant's answers about investments should be checked against primary sources before anyone acts on them.

Finley is a useful example of what a small team can build with free infrastructure. Whether it gains a broader following will depend on how well it stays reliable as its upstream services change.

Source: GitHub

Comments (0)