Work

One Piece Atlas

A lore reference for the One Piece universe, with an AI oracle that answers questions about characters, islands, history and devil fruits using retrieval-augmented generation (RAG).

Type
Personal project
Year
2026
Scope
World map of locations, Character directory, Devil fruit directory, Arc timeline, Spoiler-safe reading, Lore Q&A with RAG
Stack
Next.js, React, TypeScript, Tailwind CSS, FastAPI, Python, SentenceTransformers, Qdrant, Groq

Problem

One Piece has over a thousand chapters and a sprawling world, and its lore is spread across thousands of wiki pages. Finding how an island, a character and a devil fruit connect means jumping between pages, and browsing a wiki risks spoilers for anyone who isn't caught up. A general-purpose chatbot isn't a fix either: asked about niche lore, it tends to answer confidently from memory and get details wrong.

Solution

A full-stack atlas with a Next.js frontend and a FastAPI backend. An ingestion script scrapes One Piece Wiki pages for locations, characters, devil fruits and story arcs, splits the text into chunks, embeds them with SentenceTransformers and stores them in Qdrant Cloud. When someone asks a question, the backend embeds it, retrieves the closest chunks and has an LLM on Groq answer from those chunks, streaming the reply back token by token. The same retrieval powers a chat panel on each island, character and devil fruit.

Impact

  • Answers are grounded in retrieved wiki content rather than the model's memory alone, which cuts down on invented lore
  • Replies stream in as they are generated, so the oracle feels responsive instead of waiting on a full response
  • A spoiler-safe slider hides location content beyond a chosen chapter, so readers can explore without being spoiled
  • Islands, characters, devil fruits and an arc timeline run from East Blue to Egghead in one place, in light and dark themes

My role

  • Built it solo, end to end: product design, frontend, backend and the retrieval pipeline
  • Designed the RAG pipeline: wiki ingestion and caching, chunking, embeddings, vector storage in Qdrant and retrieval at query time
  • Built the FastAPI backend that streams grounded answers from Groq, with the Next.js app proxying requests to it
  • Designed and built the atlas interface: the island map, searchable character and devil fruit browsers, the arc timeline and the spoiler slider