https://github.com/abhivarde/errexplain
Turn cryptic errors into plain English.
https://github.com/abhivarde/errexplain
appwrite javascript nextjs react vercel vercel-ai-sdk
Last synced: 9 months ago
JSON representation
Turn cryptic errors into plain English.
- Host: GitHub
- URL: https://github.com/abhivarde/errexplain
- Owner: AbhiVarde
- License: mit
- Created: 2025-08-30T10:47:12.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-10-07T06:51:40.000Z (9 months ago)
- Last Synced: 2025-10-07T07:21:02.605Z (9 months ago)
- Topics: appwrite, javascript, nextjs, react, vercel, vercel-ai-sdk
- Language: JavaScript
- Homepage: https://errexplain.appwrite.network
- Size: 1.79 MB
- Stars: 4
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://cloud.appwrite.io/console)
# ðŠī Introducing ErrExplain
**Turn cryptic errors into plain English.**
Instantly analyze programming errors with AI-powered explanations, root cause analysis, and actionable solutions.

## ð ïļ Key Features
- **ð Smart Error Analysis** - Paste any error message and get structured explanations
- **ðŊ Root Cause Detection** - Understand what actually caused the error
- **ð ïļ Actionable Solutions** - Step-by-step fixes that actually work
- **ðŧ AI-Generated Minimal Code** - Reproduce the exact error with minimal example code
- **ðïļ Delete Errors from History** - Remove unwanted entries from your personal dashboard
- **ð Privacy Controls & Auto-Moderation** - Strip API keys, passwords, and other secrets; optionally mark entries private
- **ð Full Dark Theme** - Dark/light mode support throughout the app
- **ðŽ Voting System** - Users can vote helpful/not helpful on solutions
- **ð Collaborative Sharing** - Generate shareable links for team debugging
- **ð Error History** - Track and analyze your debugging patterns with charts
- **⥠Rate Limiting** - Fair usage with 5 free analyses per day
- **ðą Mobile Friendly** - Works seamlessly across all devices
## ðĪ Why ErrExplain?
| Feature | ErrExplain | ChatGPT/Claude | Stack Overflow |
| ------------------------- | ----------------------------------- | ------------------------------ | ------------------------ |
| **Error Focus** | â
Specialized for errors | â General purpose | â Manual search |
| **Structured Output** | â
Meaning â Causes â Fixes | â Raw text response | â Mixed quality answers |
| **Memory & Analytics** | â
Dashboard with charts & insights | â Limited conversation memory | â No personal dashboard |
| **Language Intelligence** | â
Top languages, severity tracking | â No pattern recognition | â No personal insights |
## ð Tech Stack
- **Frontend**: Next.js 15+, React 19, Tailwind CSS 4, clsx
- **Backend**: Appwrite Functions, Next.js API Routes, Node.js, node-appwrite
- **Database**: Appwrite Database
- **AI**: Groq (Llama 4 Maverick)
- **Vercel AI SDK**: ai, @ai-sdk/groq
- **Validation**: Zod
- **UI**: Sonner (toasts)
- **Charts**: Recharts
- **Icons**: Lucide React
- **Deployment**: Appwrite Sites
## Getting Started
### Prerequisites
- Node.js 18+ and npm
- Appwrite account and project
- Groq API key
### Quick Start
```bash
# Clone repository
git clone https://github.com/AbhiVarde/errexplain.git
cd errexplain
# Install dependencies
npm install
# Setup environment
cp .env.example .env.local
# Edit .env.local with your credentials
# Run development server
npm run dev
```
Open [http://localhost:3000](http://localhost:3000) and start analyzing errors.
### Environment Configuration
Create `.env.local` with these variables:
```env
# Appwrite
APPWRITE_API_KEY=your_appwrite_api_key
NEXT_PUBLIC_APPWRITE_PROJECT_ID=your_project_id
NEXT_PUBLIC_APPWRITE_ENDPOINT=https://fra.cloud.appwrite.io/v1
NEXT_PUBLIC_APPWRITE_DATABASE_ID=your_database_id
NEXT_PUBLIC_APPWRITE_ERROR_SUBMISSIONS_COLLECTION_ID=your_collection_id
```
**Appwrite Collections Setup:**
- **error-submissions**: `clientId`, `errorMessage`, `language`, `explanation`, `causes`, `solutions`, `category`, `severity`, `isShared`, `shareId`, `sharedAt`, `exampleCode`, `isPrivate`
- **daily-usage**: `clientId`, `date`, `usageCount`
- **solution-votes**: `shareId`, `solutionIndex`, `voteType`, `userFingerprint`
## ðĪ Contributing
1. Fork the repository
2. Create feature branch (`git checkout -b feature/amazing-feature`)
3. Commit changes (`git commit -m 'feat: add amazing feature'`)
4. Push to branch (`git push origin feature/amazing-feature`)
5. Open Pull Request
**Development Guidelines:**
- Follow existing code patterns
- Test error scenarios thoroughly
- Maintain responsive design
- Keep commits focused and descriptive
## ð Support
**Love ErrExplain? Help me keep building!**
ð **$5 / month - Monthly Supporter**
Get recognition in the GitHub README under Supporters.
ð **$19 / month - Monthly Sponsor**
Support growth and get recognition both in the GitHub README **and** on my portfolio (abhivarde.in).
ð **$49 / month - Featured Sponsor**
Premium support with **extra visibility**: README + Portfolio + **promotion on Sync UI**.
[ð Become a Sponsor](https://github.com/sponsors/AbhiVarde)
## ðĐïļ Appwrite Cloud Beta
Proud to be a part of the **Appwrite Cloud Public Beta**!
Click the card to view it live:
## License
ErrExplain is licensed under the [MIT License](http://choosealicense.com/licenses/mit/). All rights reserved.
## Authors
ErrExplain is created and maintained by [Abhi Varde](https://www.abhivarde.in/).