2025Graded

chatty

Next.js 16 · NextAuth 5 · Prisma/MySQL · Ollama (gemma3:4b)

Overview

The IHK final project, still in daily use: a local-AI chat with expiring share tokens.

The graded centerpiece of vocational training, kept alive instead of archived: a self-hosted, ChatGPT-style chat running a local gemma3:4b model via Ollama, so AI usage stays private and self-owned, with MySQL/Prisma persistence, email/password auth on NextAuth v5, and an expiring share-token system for handing chats to other users.

desktop landing scroll

Why do two versions exist?

It exists in two versions because the first one refused to die: ihkprojekt, the IHK Abschlussprojekt original from March 2025, and chatty, the polished daily driver it became, upgraded in place to Next.js 16 and React 19 and still doing its job. A share is a unique token with VIEW or EDIT permission and an optional expiry; shared chats stay one row instead of duplicating, and an admin panel handles user management.

Field notes

  • A share is a unique token: VIEW or EDIT permission, optional expiry date, and the recipient never gets a duplicate chat.
  • Graded in March 2025 on Next.js 14; maintained ever since and upgraded in place to Next.js 16 / React 19.
  • Passwords bcrypt-hashed, sessions JWT, admin role manages accounts: the concerns the IHK brief didn't ask for, kept anyway.

Source

github.com/notdezzi/chatty