https://github.com/ablasko32/project-shard
Make AI Free Again - Shard is a GUI for Ollama LLM's. Powered by Next.js.
https://github.com/ablasko32/project-shard
ai drizzle-orm gui llms nextjs ollama ollama-gui postgresql rag tailwindcss typescipt typescript vercelaisdk
Last synced: 7 months ago
JSON representation
Make AI Free Again - Shard is a GUI for Ollama LLM's. Powered by Next.js.
- Host: GitHub
- URL: https://github.com/ablasko32/project-shard
- Owner: Ablasko32
- License: mit
- Created: 2025-01-23T21:45:23.000Z (9 months ago)
- Default Branch: master
- Last Pushed: 2025-02-25T14:38:32.000Z (8 months ago)
- Last Synced: 2025-02-25T15:35:08.425Z (8 months ago)
- Topics: ai, drizzle-orm, gui, llms, nextjs, ollama, ollama-gui, postgresql, rag, tailwindcss, typescipt, typescript, vercelaisdk
- Language: TypeScript
- Homepage:
- Size: 662 KB
- Stars: 35
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# **Welcome to Project Shard**
![]()
![]()
Project Shard is a pet project of mine. It is designed to be a simple and user-friendly **GUI interface** for users to interact with their favorite **LLMs localy**.
Currently , it supports both [**Ollama models**](https://ollama.com/search) and [**Open Router**](https://openrouter.ai/) .> **NEW** - added support for Open Router! Some models are free! Requires API key!
The core idea is to provide an **all-in-one** solution that runs **privately** on your **localhost**.
The main focus is on being **FREE**, **OPEN SOURCE**, and **PRIVATE**.
## **Video Demo**
[](https://www.youtube.com/watch?v=9BE6c-0AB0E)
---
## **Features**
✅ **Multiple Profiles** – Create unique profiles for different household members.
✅ **Stream Chat Interface with Markdown Support** – Enjoy a modern, real-time chat experience like you would expect!
✅ **Document-Based RAG** – Upload documents to enhance retrieval-augmented generation (RAG) - feed your knowledge to the model.
✅ **Model Management & Customization** – Swap models,pull models, create you own by adjusting parameters like temperature or context size
✅ **Chat Storage** – Securely save conversations in a database and resume them anytime.
✅ **Prompt Library** – Store frequently used prompts for quick access.
✅ **Personalized Settings** – Define your name and default system prompts.
✅ **Voice support** – Tired of typing? Full voice support included!
✅ **Light/Dark themes** – Supports both light and dark theme to suit your style!
✅ **Responsive Design** – Use the app on all devices no matter the screen size!
---
## **Architecture**
**Project Shard** consists of several parts:
- **App** - A modern GUI interface built with Next.js.
- **Database** - PostgreSQL database with vector support to store all your data
- **Ollama API** - Ollama API to interact with local models---
## **Tech stack**
| Component | Technology |
| ------------ | ----------------------------------- |
| **App** | Next.js + TypeScript |
| **Database** | Drizzle ORM + PostgreSQL + PgVector |
| **Styling** | Tailwind CSS |---
## How to Use
To get started with development, follow these steps:
1. **Prerequisites**:
- Ensure the **Ollama API** is installed.
- Install **Docker** to set up the PostgreSQL database.
- Dont forget to run **Drizzle** migrations via `npx drizzle-kit migrate` command too setup your DB tables2. **Configuration**:
- Create a `.env` file based on the provided `env.example` template and configure it with your settings.
3. **Setup and Run**:
- Run `npm install` to install the required dependencies.
- Start the application by running `npm run dev`.## **Licence**
This project is licensed under the [MIT License](./LICENSE).
---
## **Contributing**
If you’d like to contribute to the development of Project Shard, feel free to fork the repository and submit pull requests. We welcome suggestions and improvements!
To ensure a smooth collaboration process, please create a **separate branch** for your changes rather than merging directly into `master`. This helps us review and integrate contributions without disrupting the main branch.
---
## **Development Status**
🚧 **Work in Progress**