# Hiki: Manga Price Tracker & Discovery Platform

> A manga discovery and price comparison platform on the web and Android that aggregates products from multiple bookstores, with metadata enrichment from four anime databases, daily price and stock tracking, a second-hand marketplace, a store map and multilingual support.

URL: https://larch.ee/work/hiki/
Published: 2025-04-01
Live product: https://hiki.world
Studio: larch (https://larch.ee/) · hello@larch.ee

## The Problem

Manga fans have no easy way to discover what's available at local bookstores. Products are scattered across multiple retailers with inconsistent naming, no genre filtering, and no way to compare prices or track stock changes.

## Our Solution

We built Hiki as a full-stack manga catalog and price tracker that aggregates products from multiple bookstores, enriches them with metadata from anime databases, and presents everything in a fast, filterable, multilingual interface, on the web and in a native Android app.

## Key Features

### Smart Product Aggregation

Automated scrapers run daily, collecting product data from multiple bookstores: names, prices, discounts, stock status, and images. Change detection flags new arrivals, price drops, and stock changes so users never miss an update.

### Metadata Enrichment

Raw product names from bookstores are often noisy and inconsistent. Our enrichment pipeline orchestrates multiple APIs to resolve them:

- **AniList**: Primary source for scores, genres, tags, synopsis, and cover art
- **Shikimori**: Title translation for Cyrillic product names
- **Jikan & Kitsu**: Fallback metadata sources for edge cases

The system generates smart title variants, handles both Cyrillic and Latin characters, and resolves even the most mangled product names to their canonical manga entries.

### Advanced Filtering

Users can filter by 21 manga genres, 100+ tags, price range, discount status, stock availability, and source store. Full-text search works across product names in all supported languages.

### Multilingual Interface

The entire platform supports multiple languages (including genre names, tag translations, and UI elements), built with next-intl and locale-aware routing.

### Marketplace

People list second-hand manga, anime figures, clothing, and vinyl, on the web and in the Android app. A listing has a price in lei (MDL), the condition, the edition language, the seller's city in Moldova, and one to five photos.

An admin reviews every listing before it goes live, and any edit sends it back to review. An approved listing stays up for 30 days, then expires and can be renewed. Buyers contact sellers on Telegram and can report a listing; Hiki handles no payments.

### Store Map

Readers search for an exact edition (by title, volume, or ISBN) and pick a city. The map shows the Librarius and Cărturești shops in Moldova that stock it, with price and stock, address and phone, and opening hours. An "open now" filter, sorting by distance, and directions help them choose a shop.

The shop data comes from the retailers' own branch pages and is synced every night. The map runs on Google Maps on the web and on Android.

## Technical Highlights

### Frontend
- **Next.js 15** with React 19 and App Router
- **Neubrutalism design system**: bold 2px borders, offset shadows, manga-inspired aesthetic with Lacquer and Pangolin fonts
- **next-intl** for full i18n with locale-aware routing
- **shadcn/ui** components customized with the Neubrutalism theme

### Android App
- Native **Kotlin** app built with **Jetpack Compose** and Material 3, live on [Google Play](https://play.google.com/store/apps/details?id=world.hiki)
- The same **FastAPI** back end and **Firebase** project as the web app: Google Sign-In with Firebase Auth, push notifications with Firebase Cloud Messaging
- **Hilt**, **Retrofit**, **Room**, and **Coil**, with **Maps Compose** for the store map
- The catalog with search, filters, and sort, product and author pages, Shuffle, Lists with reactions, the marketplace, the store map, giveaways, and a profile
- An iOS app in **SwiftUI** is on the way

### Backend
- **FastAPI** (Python) with async MongoDB via Motor
- **aiohttp** scrapers with rate limiting and exponential backoff
- **Multi-API enrichment orchestrator** resolving titles across 4 anime databases
- **Google Cloud Scheduler** for automated daily scrapes
- **Cloud Armor** with geo-restrictions and crawler allowlists

### Infrastructure
- Both frontend and backend deployed on **Google Cloud Run**
- **MongoDB** for flexible document storage with compound indexes
- **Cloud Build** for CD on push to main

## Results

Hiki gives manga fans a single place to discover, compare, and track every manga title available locally. The platform handles hundreds of products and tracks their prices and stock every day.
