Isaac Mineo

Source notes

KinoLog

How this project works, the decisions behind it and its known limits. Ask quotes and cites these passages when it answers.

Notes reviewed 20 September 2026

Explore the project

Product

Product

A movie diary that learns your taste, then makes a call before you watch. 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 problem it solves

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 experience

The user logs films or imports a diary, receives a manageable set of picks, sees why a film might fit, and later records a rating. Prediction receipts preserve earlier calls while browsing estimates can update as the diary changes. Movie-night and other recommendation surfaces share the same recording boundary.

Availability

KinoLog is publicly available on the web and on the App Store. The iOS app shares the web product's surfaces through Capacitor, so the web and App Store builds can differ for a time.

Engineering

Backend and architecture

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.

Technology by responsibility

Client: Next.js, React, TypeScript, Capacitor. Backend: Drizzle, PostgreSQL on Render. Services: TMDB, OpenAI.

Data, trust and failure behavior

Current browsing estimates make no provider call and do not write the prediction ledger. Ledger writes cache missing catalog records, exclude existing real ratings and return a count; failures are logged rather than throwing into the browsing surface. Uniqueness under mixed-user and mixed-surface batches has not been proven yet, so the ledger is not presented as concurrency-safe for every caller. Imported history, calibration exercises and real pre-watch predictions are kept apart, because only the last can measure how accurate a prediction was.

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.

Decisions

Measuring a recommendation honestly

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

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.

Limits

Known limits

The App Store listing does not mean every feature described here is already in the iOS build. KinoLog makes no claim of a validated percentage improvement, an adoption figure or guaranteed recommendation quality.

Questions Ask answers from here

How does KinoLog predict ratings?

A local predictor uses the person’s diary and compatible feedback. The language model can help select or explain a film; it is not the source of the predicted star value.

What is the difference between an estimate and a receipt?

An estimate can change with today’s evidence. A receipt records a commitment made before watching so it can later be checked.

Does KinoLog really learn from being wrong?

The code computes bounded global and local residual corrections from settled outcomes. That is an implemented learning mechanism, not proof that it beats a particular baseline.