An open API service indexing awesome lists of open source software.

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.

Awesome Lists containing this project

README

          

[![Deploy to Appwrite](https://img.shields.io/badge/Deploy%20to-Appwrite-f02e65?style=for-the-badge&logo=appwrite&logoColor=f02e65&labelColor=1d1d1d)](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.

og-image

## 🛠ïļ 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:


Appwrite Cloud Card

## 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/).