{"id":29486382,"url":"https://github.com/tristan-mcinnis/ai-spreadsheets","last_synced_at":"2025-10-24T22:02:07.195Z","repository":{"id":304447337,"uuid":"1018822694","full_name":"tristan-mcinnis/AI-Spreadsheets","owner":"tristan-mcinnis","description":"A simple web frontend for an AI spreadsheet tool","archived":false,"fork":false,"pushed_at":"2025-07-13T06:08:27.000Z","size":74,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-13T07:36:44.938Z","etag":null,"topics":["ai","csv","llm","market-research","openai","qualitative-research","research","spreadsheet"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tristan-mcinnis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-13T05:51:05.000Z","updated_at":"2025-07-13T06:08:30.000Z","dependencies_parsed_at":"2025-07-13T07:36:51.187Z","dependency_job_id":"70a192c7-820a-47af-846f-5829ff3a1c8c","html_url":"https://github.com/tristan-mcinnis/AI-Spreadsheets","commit_stats":null,"previous_names":["tristan-mcinnis/ai-spreadsheets"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/tristan-mcinnis/AI-Spreadsheets","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tristan-mcinnis%2FAI-Spreadsheets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tristan-mcinnis%2FAI-Spreadsheets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tristan-mcinnis%2FAI-Spreadsheets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tristan-mcinnis%2FAI-Spreadsheets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tristan-mcinnis","download_url":"https://codeload.github.com/tristan-mcinnis/AI-Spreadsheets/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tristan-mcinnis%2FAI-Spreadsheets/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265419613,"owners_count":23761846,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","csv","llm","market-research","openai","qualitative-research","research","spreadsheet"],"created_at":"2025-07-15T08:00:29.714Z","updated_at":"2025-10-24T22:02:07.186Z","avatar_url":"https://github.com/tristan-mcinnis.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🤖 AI Sheets - Simple HTML-Based AI Spreadsheet\n\nA lightweight, HTML-based spreadsheet application that integrates OpenAI's GPT models and web search capabilities. Built with simple HTML/CSS/JavaScript for maximum compatibility and ease of deployment. Perfect for journalists, researchers, data analysts, and anyone who wants to apply AI to their data analysis tasks without complex setup.\n\n\u003cimg width=\"700\" height=\"400\" alt=\"chrome_kOmtjL3szT\" src=\"https://github.com/user-attachments/assets/ba586afe-faa5-40e0-ae8d-b43aae5b1fc8\" /\u003e\n\u003cimg width=\"700\" height=\"400\" alt=\"chrome_msNh1NEKUB\" src=\"https://github.com/user-attachments/assets/7cb094aa-09b0-43ee-8936-d4f853b3633f\" /\u003e\n\n\n## ✨ Features\n\n### 🧠 AI-Powered Processing\n- **OpenAI GPT-4o Integration** - Access to state-of-the-art language models\n- **Column-Based Instructions** - Set AI processing rules once, apply to all rows\n- **Real-time Processing** - See AI results instantly as you work\n- **Individual Cell Regeneration** - Hover over any AI-generated cell to regenerate or edit\n- **Quality Indicators** - Confidence scoring and evidence strength for research validity\n- **Systematic Validation** - Robust response parsing with fallback handling\n\n### 🌐 Web Search Capabilities\n- **Serper API Integration** - Search the web for current information\n- **Research Template** - Built-in web search functionality for any topic\n- **Enhanced AI Responses** - Combine web search results with AI processing\n\n### 📊 Data Management\n- **CSV Import/Export** - Load and save your data seamlessly\n- **Excel Export with Quality Indicators** - Professional Excel export with conditional formatting\n- **Advanced Search \u0026 Filter** - Full-text search with regex support and export capabilities\n- **Frozen Headers** - First row and column stay visible while scrolling\n- **Horizontal Scrolling** - Navigate large datasets with ease\n- **Responsive Design** - Works perfectly on any screen size\n\n### 🎯 Enhanced AI Templates (11 Total)\n- **🌍 Text Translation** - Professional language translation with cultural adaptation\n- **😊 Sentiment Analysis** - Analyze emotional tone and sentiment with precision\n- **🔍 Keyword Extraction** - Extract important terms with smart formatting\n- **📝 Text Summarization** - Condense content into actionable insights\n- **📂 Data Classification** - Categorize and organize information effectively\n- **👥 Entity Extraction** - Find people, organizations, locations, products\n- **🧹 Data Cleaning** - Clean and standardize messy data entries\n- **💡 Idea Generation** - Generate creative ideas and suggestions\n- **🛡️ Content Moderation** - Check content for appropriateness and safety\n- **🗣️ Language Detection** - Automatically detect the language of text\n- **🌐 Web Research** - Search and summarize current information\n- **🏗️ Hierarchical Coding** - Professional qualitative research coding with confidence scoring\n\n## 🚀 Quick Start\n\n### Prerequisites\n- Python 3.8+ with pip\n- Modern web browser (Chrome, Firefox, Safari, Edge)\n- OpenAI API key ([Get yours here](https://platform.openai.com/api-keys))\n- Serper API key for web search ([Get yours here](https://serper.dev)) - Optional\n\n### 1. Setup Backend\n```bash\ncd backend\npip install -r requirements.txt\n```\n\n### 2. Start Backend Server\n```bash\npython main.py\n```\nThe backend will start on `http://localhost:8000`\n\n### 3. Open Frontend\nSimply open `simple-frontend.html` in your web browser - no build process required!\n\n### 4. Configure API Keys\n1. Click the \"Config\" button in the application\n2. Add your OpenAI API key (required)\n3. Add your Serper API key (optional, for web search)\n4. Keys are stored securely in your browser's local storage\n\n## 💡 Usage Examples\n\n### Basic AI Processing\n1. Load or enter your data in the spreadsheet\n2. Click on any column header to set up AI instructions\n3. Choose from pre-built templates or create custom instructions\n4. Select the source column that contains your data\n5. Click \"Apply Instructions\" to process all rows\n\n### Web Search Research\n1. Enter topics or queries in a column (e.g., \"Tesla stock price\", \"AI news 2024\")\n2. Click the column header and select \"🌐 Search the web for\" template\n3. The AI will search the web and provide comprehensive summaries\n\n### Data Translation\n1. Enter text in your source language\n2. Use the \"Translate\" template with custom target language\n3. Get professional-quality translations for all your data\n\n### Qualitative Research Coding\n1. Load interview transcripts or qualitative data\n2. Select the \"🏗️ Hierarchical Coding\" template\n3. Configure your column names for different coding levels\n4. Get systematic thematic analysis with confidence scoring and evidence assessment\n5. Export to Excel with professional formatting and quality indicators\n\n\u003cimg width=\"1693\" height=\"1304\" alt=\"chrome_oNTUgdevAH\" src=\"https://github.com/user-attachments/assets/1cda0a91-52aa-4bac-8171-c5c3500114f0\" /\u003e\n\n\n## 🎛️ Interface Features\n\n### Smart Cell Interactions\n- **Hover Actions**: Hover over AI-generated cells to see regenerate (🔄) and edit (⚙️) buttons\n- **Visual Indicators**: Cells with AI instructions show a blue background and orange border\n- **Quality Indicators**: Confidence dots and evidence symbols for research validity\n- **One-Click Regeneration**: Instantly regenerate individual cells without reprocessing everything\n\n### Navigation\n- **Frozen Headers**: Column names and row numbers stay visible while scrolling\n- **Horizontal Scroll Bar**: Navigate wide datasets easily\n- **Responsive Sidebar**: Column instruction panel slides in from the right\n\n### Example Templates\nAccess pre-built examples from the \"Examples\" menu:\n- **Text Classification** - Sentiment analysis of movie reviews\n- **Named Entity Recognition** - Extract person names from news articles\n- **Data Cleaning** - Normalize messy data entries\n- **👥 Entity Extraction** - Extract companies, people, locations from news\n- **🔍 Keyword Analysis** - Extract keywords from product descriptions\n- **💡 Idea Generation** - Generate marketing ideas from product features\n- **Web Search \u0026 Research** - Current information on any topic\n\n## 🔧 API Configuration\n\n### Environment Variables (.env file)\n```bash\n# Required for AI processing\nOPENAI_API_KEY=your_openai_api_key_here\n\n# Optional for web search functionality\nSERPER_API_KEY=your_serper_api_key_here\n```\n\n### Supported Models\n- **GPT-4o** - Most capable model with advanced reasoning (default)\n- Additional models can be configured in the backend\n\n## 📁 Project Structure\n\n```\nsheets/\n├── backend/                 # FastAPI Python backend\n│   ├── main.py             # API endpoints and web search\n│   ├── openai_functions.py # OpenAI integration\n│   ├── hf_functions.py     # Hugging Face integration\n│   ├── requirements.txt    # Python dependencies\n│   └── .env               # API configuration (optional)\n├── simple-frontend.html   # Main HTML application (no build required!)\n├── test_conversations.csv # Sample data file\n├── flow.md               # User flow documentation\n├── prd.md                # Product requirements\n├── tasks.md              # Development tasks\n└── README.md            # This file\n```\n\n## 🏗️ Architecture\n\n**Simple HTML Architecture** - No complex frameworks or build processes:\n- **Frontend**: Single HTML file with embedded CSS/JavaScript\n- **Backend**: FastAPI Python server for AI processing\n- **Storage**: Browser localStorage for API keys, in-memory for data\n- **Deployment**: Drop the HTML file anywhere, run Python backend\n\n## 🌟 Use Cases\n\n### 📰 Journalism \u0026 Media\n- Analyze sentiment of social media posts about events\n- Extract quotes and key information from interviews\n- Translate international news for local audiences\n- Research current developments on breaking stories\n\n### 📊 Data Analysis\n- Clean and standardize messy survey responses\n- Classify customer feedback into categories\n- Extract structured data from unstructured text\n- Research market trends and competitor information\n\n### 🎯 Marketing \u0026 Business\n- Analyze customer reviews and feedback sentiment\n- Research competitor products and pricing\n- Translate marketing materials for global markets\n- Extract insights from industry reports\n\n### 🔬 Research \u0026 Academia\n- **Qualitative Data Analysis** - Systematic hierarchical coding with confidence scoring\n- **Literature Review** - Categorize research papers and extract key findings\n- **Interview Analysis** - Professional thematic analysis with evidence assessment\n- **Survey Research** - Analyze responses with quality indicators and validation\n- **Cross-language Research** - Translate and analyze international sources\n\n## 🛠️ Development\n\n### Dependencies\n- **Backend**: FastAPI, OpenAI Python SDK, httpx for web requests\n- **Frontend**: Pure HTML/CSS/JavaScript with SheetJS for Excel export (no Node.js, no build process!)\n\n### Adding New Templates\n1. Update the `templates` object in `simple-frontend.html` (around line 1064)\n2. Add the template HTML in the instruction templates section (around line 544)\n3. Optionally add example data in the `loadExample()` function (around line 917)\n\n### Creating Additional Pages\nSince this is now an HTML-based project, you can easily create additional pages:\n- Copy `simple-frontend.html` as a starting template\n- Modify for specific use cases (e.g., `keyword-analyzer.html`, `translator.html`)\n- All pages can share the same backend API\n- No build process or complex deployment required\n\n## 🔒 Security \u0026 Privacy\n\n- **Local Processing**: All data stays on your machine\n- **Secure API Keys**: Keys are stored locally and transmitted securely\n- **No Data Persistence**: Data is only stored in browser memory by default\n- **HTTPS Ready**: Backend supports secure connections\n\n## 🤝 Contributing\n\nWe welcome contributions! Areas for improvement:\n- Additional AI processing templates\n- New data import/export formats\n- Enhanced UI features\n- Performance optimizations\n- Documentation improvements\n\n## 📄 License\n\nOpen source - feel free to use, modify, and distribute.\n\n---\n\n**🚀 Start analyzing your data with AI in just 5 minutes!**\n\nGet your API keys, load the application, and transform how you work with data using the power of artificial intelligence and web search.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftristan-mcinnis%2Fai-spreadsheets","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftristan-mcinnis%2Fai-spreadsheets","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftristan-mcinnis%2Fai-spreadsheets/lists"}