Skip to content
Lu Phone Maw

TalkToData

A data-analysis assistant where users upload CSV or Excel files and ask questions in plain language; an agent chooses from thirteen Python tools that compute answers and draw charts.

Focus
AI Systems, Full-Stack
Core stack
Next.js, TypeScript, Python/FastAPI, OpenAI Agents SDK, Pandas, Supabase, Google Gemini
Registered tools · 13

Files

  • list_data_files()
  • load_dataset()
  • get_column_info()

Analysis

  • describe_data()
  • filter_data()
  • group_by_analysis()
  • get_value_counts()
  • calculate_correlation()

Charts

  • create_bar_chart()
  • create_line_chart()
  • create_histogram()
  • create_scatter_plot()
  • create_pie_chart()
TalkToData conversation: the question 'Show me a chart of sales by region' answered with a bar chart titled 'Sales by Customer Region' showing North 1,356, West 1,263, South 859 and East 755, with expand and download controls.

Using it

TalkToData app: uploaded files sample_sales.csv and sample_ecommerce_sales.csv, a conversation list, and a chat where the question 'Which payment method has the highest average order value?' is answered with PayPal at 119.12, followed by the averages for debit card and credit card, below an earlier bar chart of revenue by region.

Asking a question

Upload a CSV or Excel file, pick it, and ask in plain English. Here the agent works out that PayPal has the highest average order value and lists every payment method’s average — computed from the file, not guessed. Earlier in the same chat, a chart request came back as a rendered bar chart.

System architecture

TalkToData architecture: a Next.js frontend and Supabase (auth, database, storage) above a FastAPI backend containing an AI agent service built on the OpenAI Agents SDK. Inside, a ReAct loop — user query, think, act, observe, repeat until done — calls file, analysis and visualization tools, and the backend calls the Gemini API.

How the agent works

The Next.js frontend and Supabase (auth, database and file storage) sit in front of a FastAPI backend. Inside it, an agent built on the OpenAI Agents SDK runs a think → act → observe loop, calling file, analysis and chart tools until it has an answer, with Gemini as the model doing the reasoning.