Model or dataset
richawo/minimal-llm-ui avatar
richawo/minimal-llm-ui

richawo/minimal-llm-ui: a React and Next.js chat front end for Ollama

Minimalistic UI for Ollama LMs - This powerful react interface for LLMs drastically improves the chatbot experience and works offline.

358 stars61 forksTypeScriptMIT

At a glance

What is it?
A small Next.js interface for chatting with local Ollama models, with conversation history, prompt templates and a configurable base URL. It is a good fit if you already run Ollama and want a browser client you can read end to end.
Who is it for?
Adopt richawo/minimal-llm-ui if you already run Ollama locally and want a browser chat client small enough to read and modify, and if you are comfortable with a project whose README still lists image uploads, conversation summarisation and a desktop build as open to-dos. Do not adopt it if you need multi-user accounts, remote access controls or a hosted service; nothing in the repository suggests any of those exist.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 23 days ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What richawo/minimal-llm-ui is for

Ollama ships a command line and an HTTP API, but no browser chat client. If you want a scrollable conversation with markdown rendering, code blocks and a model picker, you either write one or pick one. This project is the small option: a Next.js app whose only job is to talk to an Ollama endpoint and render the result.

The README describes the target user indirectly. The features list is short and practical: chat with local models, switch models mid-conversation, keep context in memory, save conversations in a local database, save parameter-driven prompt templates, and point the app at a different Ollama host. There is no account system, no sharing, no team workspace. That is the point. It is for a developer running Ollama on a laptop or a workstation on the same network who wants a UI without adopting a platform.

The repository is TypeScript, licensed MIT, and the last push was on 2026-08-24. The README does not describe a hosted version, and the homepage field is empty, so the intended path is running it yourself.

How the Next.js and LangchainJS layer talks to Ollama

The stack is visible in package.json: next ^14.0.0, react ^18, tailwindcss ^3.3.3 and langchain ^0.0.167, alongside the Vercel ai package at ^2.2.16. The README states the tool is built with React, Next.js and Tailwind CSS, with LangchainJs and Ollama behind the scenes, and that context is stored in memory so switching models does not break the thread.

That memory choice has consequences worth naming. Context that lives in process memory is lost when the dev server restarts, and it is not shared between two browser tabs in any coordinated way. Conversation history is a separate concern: the README says conversations are saved in a local database, so the durable artifact is the transcript, not the live context window. If you restart the server mid-conversation, expect to lose the active context and reopen the saved conversation.

The model picker is the other notable mechanism. Because context is held in memory rather than tied to one model's session, the README says you can switch between LLMs even mid-conversation. In practice that means the same message history is handed to whichever model you select next, so a small model and a large model see the same prompt. Nothing in the README suggests the app rewrites or trims that history per model.

Installing minimal-llm-ui and sending a first message

Start Ollama first. The README says to download and run Ollama with ollama serve or ollama run <model-name>, and notes it will run at http://localhost:11434/.

bash
ollama serve

Then, in a new terminal at the root of the project, install dependencies.

bash
npm install

The README asks you to check your Node version, because the app needs 14.0.1 or newer. The command to check is node -v.

bash
node -v

If Ollama runs on a different host or device, copy .env.example to .env.local and set NEXT_PUBLIC_OLLAMA_BASEURL. The example file contains exactly one key, with an empty value. If you leave it unset, the README says the base URL defaults to http://localhost:11434.

bash
NEXT_PUBLIC_OLLAMA_BASEURL=

Finally, start the dev server. The README says it should be available in your browser at http://localhost:3000.

bash
npm run dev

Open that address, pick a model, and send a message. The package.json scripts also include build, start and lint, so a production build is next build followed by next start; the README itself only documents the dev path. If nothing answers, check that Ollama is listening on 11434 and that the base URL variable matches the host you actually use.

Where minimal-llm-ui stops being the right tool

The README's own to-do list is the clearest statement of limits. Image uploads for multi-modal models are not implemented. Conversation summarisation is not implemented. Editing a user message is not implemented. A desktop build is listed as a future idea, not a shipped artifact. If your workflow depends on any of those, this app will not cover it today.

The troubleshooting section says only: if you encounter any issues, feel free to reach out. There is no error catalogue, no log format documented, no rollback procedure. That is thin for a tool you might run in front of other people. There are also no releases retrieved for the repository, so there is no tagged version to pin; you are tracking the main branch.

The offline claim in the project description is about the interface, not about model weights. The app talks to an Ollama server, so if that server is on another machine, you are dependent on the network between them. And because context is memory-based, a long conversation that outgrows the model's window is your problem to manage, not something the UI trims for you.

How it compares to Open WebUI and to writing your own client

The obvious alternative for a local model front end is Open WebUI, which targets a much broader surface: user accounts, multiple backends and a heavier deployment. The difference in approach is architectural. Open WebUI is a platform you install and administer; minimal-llm-ui is a Next.js application you run with npm run dev and read in an afternoon. If you need sign-in and shared history, the platform model wins. If you want a client you can fork and change in a few files, the smaller one does.

The other alternative is calling the Ollama API directly from your own script. That is genuinely less work for a one-off test: curl against http://localhost:11434 needs no Node install. What you give up is the parts the README lists as features, namely saved conversations, prompt templates and a model picker that survives mid-conversation switching. The trade is a dependency tree (Next, React, Tailwind, LangchainJS, framer-motion, react-markdown, react-syntax-highlighter) against a UI you do not have to write.

One detail worth noticing if you compare: the app depends on both langchain ^0.0.167 and the ai package ^2.2.16. Two abstraction layers over the same HTTP endpoint is more surface than a minimal client strictly needs, and it is the kind of thing to check in src/ before you plan a fork.

Licence, maintenance and what an upgrade costs

The project is MIT licensed, with the README pointing at the LICENSE file. MIT permits commercial and private use, modification and redistribution provided the copyright notice and permission notice are kept. That is the general shape of the licence; if your organisation has specific obligations around attribution, have someone who can give legal advice read the LICENSE file rather than relying on a summary.

Maintenance signals are mixed. The last push was on 2026-08-24, and the repository is not archived, so the code has moved recently. There are no retrieved releases, which means no changelog to read and no version to pin. Upgrading therefore means pulling main and re-running npm install.

The dependency set is the real upgrade cost. Next ^14, React ^18 and Tailwind ^3.3.3 are all caret ranges, so a fresh install can move under you. LangchainJS at ^0.0.167 is a pre-1.0 line with a history of breaking changes, and the ai package at ^2.2.16 is a second moving part over the same endpoint. Budget for reading the diff in src/ when you update, not just running npm install. The package is marked private and versioned 0.1.0, which is a fair description of its maturity.

Editorial conclusion

Adopt richawo/minimal-llm-ui if you already run Ollama locally and want a browser chat client small enough to read and modify, and if you are comfortable with a project whose README still lists image uploads, conversation summarisation and a desktop build as open to-dos. Do not adopt it if you need multi-user accounts, remote access controls or a hosted service; nothing in the repository suggests any of those exist. Before committing, check that your Node version satisfies the README requirement of 14.0.1 or newer, confirm that NEXT_PUBLIC_OLLAMA_BASEURL in .env.local points at your Ollama host, and read src/ to see how conversations are persisted, since the README only says they go into a local database.

Frequently asked questions

Does richawo/minimal-llm-ui need an internet connection to work?

The project description says the interface works offline, and the README states it is designed as an interface for Ollama models. Ollama itself runs locally at http://localhost:11434 by default, so the chat path stays on your machine unless you point NEXT_PUBLIC_OLLAMA_BASEURL at a remote host.

What Node.js version does minimal-llm-ui require?

The README asks you to run node -v and says the version should not be less than 14.0.1, and it shows installing Node 20.0.9 with the n package as one way to update. It also lists npm install as the dependency step before npm run dev.

Can minimal-llm-ui connect to Ollama running on another machine?

Yes. The README says to copy .env.example to .env.local and set NEXT_PUBLIC_OLLAMA_BASEURL when Ollama runs on a different host or device. If the variable is not set, the base URL defaults to http://localhost:11434.

Does minimal-llm-ui support image uploads for multi-modal models?

No. Image uploads for multi-modal models appear in the README's to-do list, not in the feature list, so the capability is planned rather than present. The same to-do list includes editing user messages and summarising conversations.

Where does minimal-llm-ui store conversations?

The README says conversation history is saved in a local database so you can revisit it later, and separately that context is kept in memory. The README does not name the database or document a way to export or migrate it, so check src/ before relying on that data.

Official sources

  1. Issues
  2. License: MIT
  3. README
  4. richawo/minimal-llm-ui on GitHub
Community notes

Community notes