Isaac Mineo

Live · Web & App Store

KinoLog

A movie diary that learns your taste and predicts your rating before you watch.

For People who keep a movie diary and want tonight's pick to come from their own ratings rather than a crowd score.

KinoLog Tonight screen recommending Sicario with a 4.9 star predicted rating and watch, seen and save actions.
Tonight: one pick, with a predicted rating and the reason it fits.

A prediction is only interesting if you find out whether it was right.

The problem

Large catalogs make choosing a movie harder, and a confident recommendation is easy to make when nobody records its prediction. A real feedback loop needs to preserve what was predicted before the watch and compare it with what the person actually thought afterward.

The goal

KinoLog helps a person choose what to watch from their own taste, rather than treating a crowd score as a personal recommendation. The diary is both useful history and the evidence behind the next recommendation.

The product

01Screen · Phone

Tonight: one pick, with a predicted rating and the reason it fits.

Sample library in a local preview build (note the preview banner), 20 September 2026.

02Screen · Phone

The same pick, opened: the prediction and the film it sits closest to.

Phone web in the app's local mock mode, throwaway test account, 21 September 2026. Mock mode shows a letter tile instead of poster art.

03Screen · Web

Why this rating: the prediction opens to the ratings it was built from.

Desktop web, test account, 21 September 2026.

04Screen · Phone

The receipt: what KinoLog said before the watch, what you gave after.

Phone web, test account, 21 September 2026. The lowercase director name is a real rendering bug.

05Screen · Phone

Taste: where your ratings run above or below your own average.

Sample library in a local preview build, 20 September 2026.

06Screen · Phone

Find: a plain request becomes explicit constraints before anything is ranked.

Phone web, test account, 21 September 2026.

01 · System

How it fits together

Where the star value comes from, and what the language model is allowed to touch.

Select a part to see what it is responsible for and what it connects to.

Every part and connection, as text
Web and iOS client Interface

Next.js and React surfaces, shared with the iOS app through Capacitor.

Trade-off: One codebase for both, so the web and App Store builds can differ for a time.

→ Diary: ratings and feedback

→ Prediction ledger: pre-watch commitment

Diary Data

Rated watches, calibration exercises, watchlist intent and feedback, kept as different kinds of evidence.

→ Local predictor: compatible evidence

TMDB External

Catalog metadata for films.

→ Web and iOS client: film metadata

Local predictor Service

Produces the numeric star rating from the person's diary and compatible feedback.

Trade-off: Corrections are bounded and shrink toward zero, so it adapts more slowly than an unbounded learner.

→ Web and iOS client: predicted stars

Language model External

Helps select and explain a film. It is not the source of the star value.

→ Web and iOS client: selection and explanation

Prediction ledger Data

Records pre-watch commitments with the model generation and context needed to interpret the outcome.

Trade-off: Browsing estimates never write here, so only real pre-watch calls can measure accuracy.

→ Receipt: settled against the rating

Receipt Interface

Settles an earlier call against the rating given after the watch.

→ Local predictor: bounded residual correction

The current application is Next.js with React and TypeScript, Drizzle and a Render-hosted Postgres database. TMDB supplies catalog metadata. The system documentation names OpenAI as the active AI provider. A local predictor produces numeric ratings. Model-assisted selection and explanations operate around that predictor, not as the source of the star value. The iOS application shares web surfaces through Capacitor with native integrations.

02

What it does

  • A diary with different kinds of evidence

    Actual rated watches, calibration exercises, watchlist intent and recommendation feedback are not interchangeable training signals.

  • Predictions that can be checked

    The shared ledger excludes already-rated films from new prospective records and deduplicates repeated commitments within a surface. It stores the model generation and context needed to interpret the eventual outcome.

  • Learning with limits

    Residual corrections use compatible, settled outcomes; local slices subtract global bias, require evidence, shrink toward zero and are capped rather than blindly added together.

  • Receipts for what changed

    A learning receipt distinguishes accumulating evidence from an active overall or local adjustment. Recording another outcome does not automatically mean the rounded prediction moved.

03

Built with, and why

Client

One web product that also ships inside the iOS app.

Next.js · React · TypeScript · Capacitor

Backend

Typed schema and the Postgres ledger that stores commitments.

Drizzle · PostgreSQL on Render

Services

Film metadata, and a model for selection and explanation only.

TMDB · OpenAI

04

Decisions and trade-offs

Measuring a recommendation honestly

Approach

KinoLog separates mutable current estimates from recorded pre-watch commitments. A later rating can settle a real earlier call, while a post-watch estimate must not inflate predictive accuracy.

Trade-off

Several surfaces and model generations make provenance important. A polished explanation is not enough; recording failure must be observable even when the recommendation page remains available.

Learning without amplifying sparse data

Approach

Local residual slices have evidence floors and bounded influence, and choose evidence-rich groups rather than cherry-picking whichever error looks largest.

Trade-off

Conservative corrections adapt more slowly. The existence of a learning loop does not establish an accuracy lift; that requires a prospective evaluation with a defined baseline.

05

Check the work

Links checked 21 September 2026

Ask about KinoLog

Answers quote the source notes and cite them.