Skip to main content
George Khananaev
Case Study

Excel AI Assistant: AI transforms for spreadsheets

A Python desktop app that adds LLM-powered transformations to Excel and CSV files

Inside the project

1 / 2 · Interface preview

Excel AI Assistant with spreadsheet selection and an empty data preview

Excel AI Assistant with spreadsheet selection and an empty data preview

Open image

Overview

Excel AI Assistant is a desktop application that brings large language models into the spreadsheet workflow. Point it at an Excel or CSV file, pick a column, write a prompt template, and let the model process every row. The results are written back to a new column without touching the original.

Why I built it

Analysts I worked with had a recurring problem. They had thousands of rows of messy text — customer feedback, product descriptions, addresses, translated content — and they needed to clean, classify, summarize, or translate it. The existing options were all bad: copy-paste into ChatGPT one row at a time, write a one-off Python script, or pay for a SaaS that charged per row and refused to run locally.

Key features

  • Dual AI backends. OpenAI API for maximum quality, or local Ollama for privacy-sensitive data that must not leave the machine. Switching between them is one click.
  • Prompt templates. Reusable prompts with placeholder variables. Save a template once, reuse it across files.
  • Batch processing. Rows processed in parallel with configurable concurrency. Progress bar with live ETA.
  • Safe by default. Never overwrites the source file. Writes to a new column or a new file. Previews before committing.
  • Format aware. Handles Excel sheets, CSVs, and TSVs. Preserves formatting, formulas, and cell types where possible.

Tech stack

Python, PyQt6 for the desktop UI, openpyxl and pandas for spreadsheet handling, OpenAI SDK and Ollama HTTP client for the AI backends, and a custom prompt template engine built on Jinja2.

The interesting engineering problem

Rate limiting. OpenAI has per-minute token limits, Ollama has per-model memory limits, and a batch of 10,000 rows needs to respect both without stalling. The solution was a token-bucket rate limiter that adapts per backend, with automatic backoff on 429s and a queue that survives app restarts so a crashed run can resume.

Takeaway

LLMs are cheap to call and expensive to orchestrate. The real work in a tool like this is not the AI prompt, it is the plumbing around it: rate limits, retries, error recovery, preview-before-commit, and a UI that makes a non-developer feel safe.

Read AI Travel Journey
AI Travel Journey header with Thai Tours branding and a Thailand destination image1 images
Commercial workConfidential

AI Travel Journey

From customer conversation to a shared travel direction

AI turns customer and agency conversations into a visual journey summary, helping travelers confirm the direction before specific travel offers are prepared.

nextjsreacttypescriptmongodb+1 more
2 min read
Read overview
Read VisaBreeze: Custom Plugins & AI Workflows
VisaBreeze public visa services website1 images
Commercial workConfidential

VisaBreeze: Custom Plugins & AI Workflows

Interactive visa tools, AI assistance, news publishing, and content automation

A WordPress visa-services platform with custom design, twelve visitor tools, AI chat, a news hub, and n8n workflows for research, content, and SEO.

wordpressphpmcpn8n+1 more
3 min read
Read overview
Read Claude Skills Vault: Skills, Commands & MCP
Claude Skills Vault repository artwork showing skills, commands, MCP servers, and tutorials around a terminal1 images
Public projectGitHub

Claude Skills Vault: Skills, Commands & MCP

A reusable toolkit for Claude Code development workflows

A curated collection of Claude Code skills, slash commands, MCP configurations, and tutorials, with an npm CLI to browse and install workflows in your project.

aiclaudedevtoolsworkflow
2 min read28
Explore project