🪴 Introducing ErrExplain (Next.js + Vercel AI SDK + Appwrite)

Hi Vercel fam :waving_hand:

I just launched ErrExplain - an AI-powered tool that turns cryptic errors into plain English. :rocket:

Paste any error, and ErrExplain gives you clear explanations, root cause analysis, and actionable fixes - all in seconds.

  • What it does

    • ErrExplain takes any programming error and breaks it down into:
      • Explanations → Root causes → Step-by-step fixes
  • 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
    • Collaborative Sharing - Generate shareable links for team debugging
    • Error History - Track and analyze your debugging patterns
    • Rate Limiting - Fair usage with 5 free analyses per day
    • Mobile Friendly - Works seamlessly across all devices
  • How Appwrite is used

    • Runs fully on Appwrite Sites, with database features for:
      • Storing error submissions
      • Applying daily rate limits (5 free analyses/day)
      • Generating shareable error links for team debugging
  • Tech Stack

    • Frontend: Next.js 15+, React 19, Tailwind CSS 4, clsx
    • Backend: Next.js API Routes, Node.js, node-appwrite
    • Database: Appwrite Database
    • AI: Groq (Llama 4 Maverick) + Vercel AI SDK
    • Validation: Zod
    • UI & UX: Sonner (toasts), Lucide React (icons), Recharts (charts)
    • Deployment: Appwrite Sites

:link: Links

:globe_with_meridians: Live demo → errexplain.appwrite.network
:open_book: GitHub → github.com/AbhiVarde/ErrExplain
:rocket: Peerlist Launchpad → peerlist.io/abhivarde/project/errexplain

Would love your feedback and suggestions :green_heart:

2 Likes

Official demo video: https://x.com/varde_abhi/status/1963581370980032600

Latest update demo: https://x.com/varde_abhi/status/1965096663393144862

I think I jailbroke it :rofl:


If I’m right, the current system prompt is not that long, actually. Most of the blurred text in my image is the jailbreak.
It’s also really easy to maliciously reset your error messages per day count. You might want to add some sort of client fingerprinting instead of assigning a client ID on the client side where it can be manipulated.
And just one more thing, the “Error History” tab doesn’t seem to be working. It looks like it shows a bunch of JS errors that were tried yesterday, but none of them are ones I tried!

Aside from all that, I love the UI! The UI colors you chose are amazing :star_struck:
Great work!

1 Like

Haha wow, thanks a ton for stress-testing it so thoroughly :rofl: That was some next-level QA!

I’ve gone ahead and patched up everything you caught:

Security fixes:
→ No more client-side tokens now it’s server-side cryptographic fingerprinting
→ Rate limiting uses IP + browser fingerprints (harder to spoof)
→ All auth logic is now server-side only
→ Prompt got an extra security polish

Error history:
→ Turns out the history tab was breaking because of mismatched fingerprints between subsystems. It’s now unified through one server function, so you’ll actually see your own errors show up properly.

And seriously, thanks for the kind words about the UI! :green_heart: I did spend way too much time tweaking those colors, so I’m glad you noticed :sweat_smile:. Your feedback was super valuable the system is way more solid now thanks to you!

2 Likes

@abhivarde I was still able to jailbreak it haha but at a certain point not much you can do there. Unless you have a top-secret system prompt, it’s kind of a waste of time to hide it.

The rate-limiting and error history issues are fixed, though! Great job :smiley:

1 Like

Haha nice work on the jailbreak! :grinning_face_with_smiling_eyes:You’re totally right though - at the end of the day, it’s all about solving real problems for developers. The magic isn’t in the prompts, it’s in actually making debugging less painful.
Thanks for giving the fixes a spin!

1 Like

:wastebasket: Just shipped: Delete errors from your ErrExplain history!

Sometimes you want to clean up old debugging sessions or remove sensitive errors.

→ you can now delete errors from history.

:tada: Now you can manage your error history exactly how you want.

Built with Appwrite + Vercel’s Ai SDK🔥

Try it out → https://errexplain.appwrite.network/

If you’re on X (Twitter), hope over & check it out → https://x.com/varde_abhi/status/1966220757257928819

:rocket: Highlighting a handy ErrExplain feature → Collaborative Sharing

You can generate a shareable link for any analyzed error and send it to teammates for easier debugging.

Example: ErrExplain | Turn Cryptic Errors into Plain English

Debugging gets easier when the whole team can see the same context instantly :high_voltage:

:tada: ErrExplain just crossed 50+ upvotes on Peerlist!

Huge thanks to everyone for the love :white_heart:
Built with Appwrite + vercel’s AI SDK :rocket:

Try it out & give us a rating → https://peerlist.io/abhivarde/project/errexplain

Just now seeing this, nice. Also love the UI!

1 Like

Thanks a lot! Glad you liked the UI :blush:

1 Like

It’s been tough luck not winning the @appwrite #SitesHack2025 hackathon (this project was originally built for it) but I’m super grateful for the journey :green_heart:

The community love and feedback has been incredible:
→ 50+ upvotes on Peerlist
→ 600+ views, 150+ visitors across 25+ countries
→ Encouraging words from the @vercel team, AI SDK team & Appwrite community :raising_hands:

Thank you all for the support… it truly means a lot :rocket:

Also wrote a blog post diving into ErrExplain :rocket:
Check it out for more details & behind-the-scenes: ErrExplain: Turning Confusing Errors into Clear Fixes 🚀 - DEV Community

:tada: ErrExplain Update: Community Voting is Live

didn’t win the #SitesHack2025, but here’s what we shipped instead:

What’s New:

  • Vote on error solutions (helpful/not helpful)
  • See what % of people found each fix useful
  • Shared errors get smarter over time

Why it matters:
error explanations shouldn’t be one-way. now you know if other devs
actually solved their problem with the suggested solution.

Try it out → https://errexplain.appwrite.network/
Show some support on X ( twitter ) → https://x.com/varde_abhi/status/1975518468842623444