Skip to content
OSNaren
OSN-018 — Product case study● Live · Public beta

Vertlas

A discovery, tracking, and metadata companion for vertical short dramas. It finds a drama by whatever name you saw it under, keeps track of what you watched and how it felt, and suggests what to watch next.

FIG 0.1 — Many titles, one canonical drama

Role

Product + full-stack build, solo

Stack

Next.js · Hono · Postgres

Status

Live · public beta

Surface

Web app · public API · admin

01 · Premise

Index

Chapter 01

Premise

Vertical short dramas are hour-long stories told in one- or two-minute 9:16 episodes, released across a crowd of apps, channels, and countries. Vertlas is the place to find one, understand it, track it, rate it, and discover the next. It is live at vertlas.com in public beta, starting with Chinese short dramas, where the problem is sharpest.

Chapter 02

The problem

The same drama is retitled for every app, country, and language. Many never get a page on mainstream drama databases. So fans build their own systems, and those systems break.

Before writing any code I asked on Reddit how everyone keeps track of the short dramas they watch (opens in a new tab). The answers were a catalogue of workarounds: folders of poster screenshots, colour-coded spreadsheets, Google Docs with English title, Chinese title, leads, and a review, Notes-app logs, Discord as a review diary, YouTube playlists, and screenshots of Chinese apps run through Google Translate. One person had 400+ watched dramas with no database page at all, tracked only through saved posters.

  • Screenshots and poster folders: the drama has no stable identity.
  • Actor-by-actor searches on Chinese apps: filmographies are hard to see.
  • Spreadsheets and Docs: tracking lives in five tools at once.
  • Texting yourself links: uploads vanish, so where to watch is unstable.

Chapter 03

The insight

The missing piece was not another watchlist. It was a clean catalog where every name a drama goes by points to the same drama.
The core realisation behind Vertlas

One reply put it plainly: they would use something like this mostly for discovery, not tracking. So search and discovery became the front door, and the catalog underneath them, with aliases, sources, and relationships, became the part that is hard to copy.

Chapter 04

The loop

Everything in the product serves one loop. Most of the catalog works without an account; signing in adds the personal half.

  1. 01

    Find it

    By any title, alias, original or romanised name, actor, character, or a plot described in your own words.

  2. 02

    Understand it

    Official, verified places to watch, every version of the same story, and endings hidden until you ask.

  3. 03

    Track and rate it

    Want to Watch, Watching, Watched, Dropped. Score it Overall, then Spice and Sweetness out of five.

  4. 04

    Find the next one

    Recommendations, a “pick for me”, shareable lists, and a release radar for the actors you follow.

Chapter 05

Product decisions

A catalog like this earns trust or loses it in a handful of decisions about data, privacy, and restraint.

A drama is not a listing

The creative work and each platform’s localized release are separate records, so one drama can carry every title it was sold under.

Search knows every name

Exact, alias, multilingual, fuzzy, and plot search coexist. Typing the title you saw, in whatever language, leads to the same page.

Spoilers only on request

You can filter Discover by ending without seeing one. On a drama page the ending stays hidden until you press Reveal.

Faces stay on your phone

Screenshot identification reads the face on the device and compares only 128 numbers. A match is a lead to check, not a claim.

Official links, marked plainly

Where-to-watch lists official releases and labels re-uploads as unofficial. Vertlas is a companion, not a pirate index.

No comment section in V1

Reviews and ratings, yes; threads, no. Vertlas links out to the communities that already discuss these dramas instead of moderating a new one.

Chapter 06

Under the hood

Vertlas is a TypeScript monorepo of four apps and a set of shared packages, designed for a catalog of a million records rather than patched toward one later.

  • Web: Next.js 16 with Server Components, served from Cloudflare Workers. Public catalog pages cache hard; your library and ratings stay fresh and private.
  • API: a public, versioned REST API on Hono with a generated OpenAPI spec, so the web app and admin use the same contract anyone else would.
  • Data: Neon PostgreSQL through Drizzle. Search runs on pg_trgm and pgvector behind a provider abstraction, so a dedicated search engine can be swapped in only if measurements call for it.
  • Ingestion: scheduled source workers with provenance on every fact, entity resolution for duplicates, and an AI-assisted review step a maintainer approves in the admin app.

Chapter 07

Reception, honestly

Vertlas launched back to the same community that described the problem, in a launch post that answered my original question (opens in a new tab). Their feedback set the next release: the first update (opens in a new tab) brought better recommendations and reviews. It is still a beta, and the roadmap is still being written in those threads.

Lessons

What it taught me

  • Ask the community before building. The replies were the spec.
  • For a catalog product, the data model is the product. The UI is the easy part to copy.
  • Privacy is a design input: faces on the device, endings behind a button, notes only you can read.
  • Saying no to comments in V1 kept the scope on finding and tracking dramas.
Artifact closed. Next inspection ready.