A powerful spreadsheet application that lets you use AI to transform and analyze your data. Think of it as Excel meets ChatGPT - you can write formulas that use AI to process your data automatically.
- Extract information from messy text (emails, documents, reviews)
- Categorize and classify data automatically
- Generate content based on patterns in your data
- Translate text between languages
- Summarize long text into key points
- Clean and standardize inconsistent data
- And much more with custom AI prompts!
First, make sure you have Node.js installed (version 18 or higher).
Then download this project:
git clone https://github.com/yazinsai/ai-spreadsheet.git
cd ai-spreadsheetnpm installnpm run devOpen your browser and go to http://localhost:3000
You'll need an OpenRouter API key to use AI features:
- Sign up at OpenRouter
- Go to Keys and create a new key
- In AI Sheet, click the Settings button and paste your API key
Type this in any cell:
=AI("Your prompt here")
Reference other columns with {{ColumnName}}:
=AI("Summarize this text in one sentence: {{Description}}")
=AI("Extract the email address from: {{Contact Info}}")
=AI("What category does this product belong to: {{Product Name}}? Choose from: Electronics, Clothing, Food, Other")
=AI("Is this review positive, negative, or neutral? {{Review Text}}")
=AI("Write a brief product description for {{Product}} that costs {{Price}}")
=AI("Extract just the phone number from: {{Messy Contact Data}}")
By default, formulas use GPT-4o Mini (fast and cheap). You can specify a different model:
=AI("Your prompt", model: "anthropic/claude-3.5-sonnet")
Popular models:
openai/gpt-4o-mini- Fast and affordable (default)openai/gpt-4o- More capable, sloweranthropic/claude-3.5-sonnet- Great for complex tasksgoogle/gemini-2.0-flash-exp- Google's fast model
Begin with basic prompts and gradually make them more complex as you learn what works.
Instead of: =AI("Process this: {{Data}}")
Try: =AI("Extract the year from this date: {{Date Column}}")
Before running AI on thousands of rows, test your formula on 5-10 rows to make sure it works.
Create a formula that works well? Save it as a template for future use.
Each AI call costs a small amount. The app shows estimated costs before running formulas on many rows.
Click Import CSV to load your existing spreadsheets. Supports files with thousands of rows.
Click Export CSV to save your data with all computed AI results.
Your work is automatically saved locally in your browser. Come back anytime and your data will be there.
- Import CSV with customer reviews
- Add formula:
=AI("What is the main complaint in this review: {{Review}}") - Add another:
=AI("Rate the sentiment from 1-10: {{Review}}") - Run formulas to analyze hundreds of reviews in minutes
- Import messy contact list
- Add formulas to extract and standardize:
=AI("Extract the person's full name: {{Raw Data}}")=AI("Extract and format the phone number as (XXX) XXX-XXXX: {{Raw Data}}")=AI("Extract the email address: {{Raw Data}}")
- Start with product names and basic info
- Generate marketing copy:
=AI("Write a compelling 50-word product description for {{Product}} which is a {{Category}} priced at {{Price}}") - Create SEO titles:
=AI("Create an SEO-friendly title under 60 characters for {{Product}}")
You need to add your OpenRouter API key in Settings. Get one free at OpenRouter.
- Check your API key is valid
- Make sure you clicked "Run AI" after writing formulas
- Verify your formula syntax (needs
=AI("..."))
- Use a faster model like
gpt-4o-mini - Reduce the number of concurrent requests in Settings
- Process data in smaller batches
- Make your prompts more specific
- Add examples to your prompt
- Try a different AI model
Enter- Edit selected cellEscape- Cancel editingTab- Move to next cellShift+Tab- Move to previous cellCtrl/Cmd+C- CopyCtrl/Cmd+V- PasteCtrl/Cmd+Z- UndoCtrl/Cmd+Shift+Z- Redo
- Next.js 15 with TypeScript
- React Data Grid for virtualized rendering
- Zustand for state management
- IndexedDB for local storage
- OpenRouter API for AI models
npm run dev # Start development server
npm run build # Build for production
npm run lint # Run lintingContributions welcome! Please feel free to submit a Pull Request.
- Local Storage: All your data is stored locally in your browser
- No Backend: This app runs entirely in your browser - we don't have servers storing your data
- API Keys: Your OpenRouter API key is stored only in your browser's local storage
- Direct API Calls: AI requests go directly from your browser to OpenRouter
MIT License - feel free to use this for anything!
Having issues?
- Check the troubleshooting section above
- Open an issue on GitHub
- Review the OpenRouter documentation
Built with ❤️ for making data work easier with AI