Shubhamsaboo/awesome-llm-apps: a curated collection worth bookmarking
I have been pointing people at the Shubhamsaboo/awesome-llm-apps repository (a curated, actively maintained index of open source LLM (large language model, the technology behind ChatGPT and similar AI assistants) applications, organized by use case and by the framework used to build them) for about two years. The repository is not new. What is new is the size, the curation quality, and the fact that the maintainers have started labeling each entry with the model and framework it uses, which makes the list usable as a starting point for actual projects instead of a reading list.
This is not a review of the repository. The repository is its own review. This is what I have learned from using the list as a starting point for the last year.
The state of the list
The repository is at about 4,500 stars as of early 2026. The list contains roughly 250 applications, organized into about 20 categories: chat assistants, RAG (Retrieval-Augmented Generation, a pattern where the model retrieves relevant documents before answering, so it can ground its response in real information rather than just what it learned during training) applications, coding assistants, data analysis, multimodal (applications that can handle more than one type of input, like text plus images), agentic workflows, voice, image generation, and so on.
Categories are not exhaustive. The list is not trying to be exhaustive. The list is trying to be the first place I look when I want to see what people are building with LLMs, and for that purpose it is the best list I have found.
What I appreciate most is the new labeling. Every entry now has badges for the model (GPT-4, Claude, Llama, etc.) and the framework (LangChain, LlamaIndex, raw API, etc.). The badges are not perfect. They are wrong about 10% of the time, in my spot-checking. They are right about 90% of the time, which is good enough to be useful.
How I use the list
The way I use the list has changed over the last year. I started by browsing it. I read every entry, starred the interesting ones, and bookmarked it as a reading list. That use case is real. It is not the use case I want to write about.
The use case I want to write about is the one where I use the list as a starting point for a project. The pattern looks like this.
- I have a problem. The problem is usually “I need an LLM application that does X.”
- I search the list for “X” or for the category that contains “X.”
- I find 3 to 5 candidate applications. I read the README of each. I clone the one that has the cleanest code.
- I run the candidate locally. I make a small modification. I see if the modification is straightforward.
- If the modification is straightforward, I use the candidate as a starting point for my project. If it is not, I try the next candidate.
Saving the time has compounded over the months. The reason is that the applications in the list are not toy applications. They are working applications with real code, real tests, and real documentation. The starting point is much better than what I would write from scratch in an afternoon.
What the list is good for
I want to be specific about the use cases the list is good for.
- Learning a new framework. If you want to learn
LangChainorLlamaIndexor any of the other agent frameworks, the list has 5 to 10 applications in each framework. Pick the simplest one, clone it, and read the code. The learning curve is shorter than the docs. - Finding a starting point for a project. The pattern above. The list is a portfolio of starting points, not a portfolio of finished products.
- Keeping up with what is being built. The list is updated weekly. New applications appear. Old applications get archived. The list is a way to see what the community is building, which is useful even if you are not going to use any of the applications directly.
The list is less good for production use. The applications are starting points, not finished products. The code quality varies. The documentation varies. The license varies. For production use, you are going to write a meaningful fraction of the application yourself.
What I would tell past me
If I could send a message back to the version of me that was about to bookmark the list, I would say three things.
- Use the list as a starting point, not as a finished product. The applications are not production-ready. They are good starting points. The distinction matters.
- Read the code, not just the README. The README tells you what the application does. The code tells you how it does it. The “how” is the part that matters when you are trying to modify it.
- Do not star everything. I starred about 80 applications in my first pass. I have used maybe 12 of them. The unused stars are noise. Star the application when you have a project in mind for it, not when you think you might use it someday.
Trade-offs
The list is curated by a small team. The team has taste. The team also has blind spots. I have noticed that the list under-represents a few categories: voice-first applications, on-device LLM applications, and applications that are not built in Python. The under-representation is not malicious. It is the result of the curators’ interests. If your project is in one of the under-represented categories, the list is less useful.
Badges are right about 90% of the time. The 10% that is wrong is the kind of thing that matters when you are trying to find a starting point for a specific framework. If you are looking for a LangChain application and the badge is wrong, you are going to waste 20 minutes before you realize the application uses a different framework. The mitigation is to read the requirements.txt (a file that lists all the dependencies a Python project needs to install) before you clone.
GitHub hosts the list. The GitHub UI is not great for browsing. The list would be a better experience as a static site with categories and search. There is a community-maintained static site version, linked from the README. I use the static site version. The site is good. It is not as good as the GitHub list for keeping up with new entries, because the site updates lag the list by a day or two.
Bottom line
Shubhamsaboo/awesome-llm-apps is the first place I look when I want to see what people are building with LLMs. The list is curated, the entries are labeled, and the applications are good starting points. For learning a framework or finding a starting point for a project, the list will save you an afternoon. For production use, the list is a starting point, not an answer.
One more thing worth knowing
If you maintain an LLM-powered application, the list is also a useful sanity check. The applications in the list represent what the community is currently building. If your application is solving a problem that no one in the list is solving, that is information. If your application is solving a problem that 20 applications in the list are solving, that is also information.