About Projects Skills Experience Contact Activity ↓ Download CV
/
// 010 Personal 2026

Ollama Interaction

Minimalist web interface for local LLMs via Ollama with RAG, link analysis, and thread management.

OllamaJavaScriptHTML/CSSTailwind CSSJina AI
Ollama Interaction
Project Cover // 010
// Role
Solo Developer
// Type
Personal
// Year
2026
// Description

I built this project because I wanted a clean, private interface for chatting with local LLMs through Ollama. Most existing UIs felt bloated or required a backend, so I made one that runs entirely in the browser with zero server dependencies.

The interface uses a Zinc minimalist monochromatic palette with full dark and light mode support. I integrated local RAG so users can attach .txt or .md files as context for the model, plus web link analysis through Jina Reader that lets the model fetch and process live web content autonomously via Ollama's tools API. There is also a web search tool integration for real time information retrieval.

For conversation management I built thread organization with create, rename, and delete capabilities, all persisted in LocalStorage. The chat uses Ollama's streaming API with a sliding window of the last 10 messages to maintain context without memory bloat. There is smart auto scroll that only anchors to the bottom when the user is already at the latest message, allowing uninterrupted reading of history during generation.

The tech stack is just using vanilla HTML, CSS with Tailwind via CDN, and jQuery with Marked.js for rendering.

Saya membuat proyek ini karena ingin memiliki antarmuka yang bersih dan privat untuk berinteraksi dengan LLM lokal melalui Ollama. Sebagian besar UI yang ada terasa terlalu rumit atau membutuhkan backend, jadi saya membuat versi yang berjalan sepenuhnya di browser tanpa dependensi server.

Antarmukanya menggunakan palet monokrom minimalis Zinc dengan dukungan mode gelap dan terang. Saya mengintegrasikan RAG lokal agar pengguna dapat melampirkan berkas .txt atau .md sebagai konteks model, serta analisis tautan web melalui Jina Reader agar model dapat mengambil dan memproses konten web secara mandiri melalui API tools Ollama. Tersedia pula integrasi pencarian web untuk mengambil informasi terkini.

Untuk pengelolaan percakapan, saya membangun organisasi thread dengan kemampuan membuat, mengganti nama, dan menghapus, semuanya tersimpan di LocalStorage. Chat menggunakan streaming API Ollama dengan jendela geser berisi 10 pesan terakhir agar konteks terjaga tanpa membebani memori. Auto-scroll cerdas hanya menempel di bagian bawah ketika pengguna sedang melihat pesan terbaru, sehingga riwayat tetap nyaman dibaca saat generasi berlangsung.

Stack teknologinya hanya HTML vanilla, CSS dengan Tailwind melalui CDN, dan jQuery dengan Marked.js untuk rendering.