{"id":25807971,"url":"https://github.com/waynesutton/researchagent","last_synced_at":"2026-06-09T02:32:33.467Z","repository":{"id":278977544,"uuid":"937302838","full_name":"waynesutton/researchagent","owner":"waynesutton","description":null,"archived":false,"fork":false,"pushed_at":"2025-02-24T04:51:10.000Z","size":116231,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-04T13:35:14.389Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/waynesutton.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2025-02-22T20:12:17.000Z","updated_at":"2025-12-22T23:59:27.000Z","dependencies_parsed_at":"2025-02-22T23:37:09.366Z","dependency_job_id":null,"html_url":"https://github.com/waynesutton/researchagent","commit_stats":null,"previous_names":["waynesutton/researchagent"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/waynesutton/researchagent","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waynesutton%2Fresearchagent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waynesutton%2Fresearchagent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waynesutton%2Fresearchagent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waynesutton%2Fresearchagent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/waynesutton","download_url":"https://codeload.github.com/waynesutton/researchagent/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waynesutton%2Fresearchagent/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34089327,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2025-02-27T21:52:03.123Z","updated_at":"2026-06-09T02:32:33.451Z","avatar_url":"https://github.com/waynesutton.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AI Company Research Agent\n\nA powerful AI-powered research tool that provides comprehensive company analysis and insights.\n\n## Features\n\n### Real-time Research\n\n- 🔍 Instant company research using multiple AI models (GPT-4, Claude, Mistral, Grok)\n- 📊 Structured analysis with consistent formatting\n- 🔄 Real-time streaming responses\n- ⏹️ Ability to cancel ongoing research\n- 🌐 Web data fetching and validation\n\n### Comprehensive Analysis\n\n- 🏢 Company Overview (industry, founding, location)\n- 💼 Business Analysis (funding, products, market position)\n- 👥 Key People (leadership and founders)\n- 📈 Recent Developments\n- 🌎 Verified Links \u0026 Sources\n- ⭐ Key Highlights\n- 🔍 Vector-based similarity search\n\n### Data Management\n\n- 📝 Save and organize research results\n- 🔍 Full-width results table with collapsible view\n- 📋 One-click copy of research content\n- ✏️ Add custom notes to research entries\n- 🗑️ Delete outdated research entries\n- 🔄 Real-time updates across sessions\n\n### User Interface\n\n- 🎨 Clean, modern black and white design\n- 📱 Responsive layout with Tailwind CSS\n- 💫 Smooth animations and transitions\n- ⚡ Real-time updates with Convex\n- 🚫 Research cancellation support\n- 📝 Markdown formatting support\n- 🎯 Modal views for detailed research\n\n### Technical Features\n\n- 🔒 Built with Convex for real-time data sync\n- 🤖 Multi-model AI integration (GPT-4, Claude, Mistral, Grok)\n- 📊 Vector embeddings for research storage\n- 🔄 Automatic source validation\n- 🏷️ Metadata extraction and storage\n- 🔍 Full-text search capabilities\n- 🔐 Type-safe database queries\n\n## Built With\n\n- [Next.js 14](https://nextjs.org/) - React framework\n- [Convex](https://www.convex.dev/) - Backend and real-time sync\n- [OpenAI GPT-4](https://openai.com/) - Primary AI model\n- [Anthropic Claude](https://www.anthropic.com/) - Secondary AI model\n- [Mistral AI](https://mistral.ai/) - Additional AI model\n- [TailwindCSS](https://tailwindcss.com/) - Styling\n- [TypeScript](https://www.typescriptlang.org/) - Type safety\n- [React Markdown](https://github.com/remarkjs/react-markdown) - Markdown rendering\n- [Lucide React](https://lucide.dev/) - Icons\n\n## Getting Started\n\nFirst, run the development server:\n\n```bash\nnpm run dev\n# or\nyarn dev\n# or\npnpm dev\n# or\nbun dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000) with your browser to see the result.\n\nYou can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.\n\nThis project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.\n\n## Learn More\n\nTo learn more about Next.js, take a look at the following resources:\n\n- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.\n- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.\n\n# Codebase Structure\n\n## Frontend (src/)\n\n### Components\n\n- `ResearchInterface.tsx`: Main chat interface component with message handling and display\n- `chat/Message.tsx`: Message components (System, User, Assistant) with styling\n- `chat/ChatInput.tsx`: Chat input component with submit handling\n- `providers/convex-client-provider.tsx`: Convex client configuration and provider\n\n### App\n\n- `app/page.tsx`: Main page component with layout and background\n- `app/layout.tsx`: Root layout with providers and metadata\n- `app/globals.css`: Global styles and Tailwind configuration\n\n## Backend (convex/)\n\n### Core\n\n- `schema.ts`: Database schema definition for conversations, messages, and research\n- `research.ts`: Research functionality with OpenAI integration and vector search\n- `messages.ts`: Message handling and storage logic\n- `conversations.ts`: Conversation management\n\n## Configuration\n\n- `next.config.mjs`: Next.js configuration with Convex setup\n- `tailwind.config.js`: Tailwind CSS configuration\n- `postcss.config.js`: PostCSS configuration\n- `tsconfig.json`: TypeScript configuration\n- `package.json`: Project dependencies and scripts\n- `.env.local`: Environment variables\n\n## Documentation\n\n- `features.md`: Feature documentation and changelog\n- `promptlog.md`: System prompts and their evolution\n\n## Key Features by File\n\n1. `ResearchInterface.tsx`:\n\n   - Chat UI management\n   - Message display\n   - Auto-scrolling\n   - Conversation handling\n\n2. `research.ts`:\n\n   - OpenAI integration\n   - Company research logic\n   - Vector embeddings\n   - Source validation\n\n3. `schema.ts`:\n\n   - Database structure\n   - Table relationships\n   - Indexing configuration\n   - Type definitions\n\n4. `Message.tsx`:\n   - Message styling\n   - Source display\n   - Formatting components\n   - Icon integration\n\n## Deployment\n\nThe application is deployed on Netlify with automatic deployments from the main branch. Environment variables are managed through Netlify's environment configuration.\n\n[![Netlify Status](https://api.netlify.com/api/v1/badges/61515d34-cbb9-4933-ba64-b3eb60b436ea/deploy-status)](https://app.netlify.com/sites/researchagent/deploys)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwaynesutton%2Fresearchagent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwaynesutton%2Fresearchagent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwaynesutton%2Fresearchagent/lists"}