Skip to main content

Overview

EpiNeko includes a scoring system that allows users to rate anime in their library on a scale of 0-10, matching the MyAnimeList rating standard. Scores help you remember which series you enjoyed most and provide personal ratings for your collection.

0-10 Scale

Rate anime using the standard 0-10 point scale

Optional Rating

Scoring is optional - rate only what you want

Database Validated

Scores validated at database level for integrity

Library Integration

Scores stored with your library items

Score Field

The score is an optional integer field in library items:
Database Schema (supabase/migrations/20260218_initial_schema.sql:54):
The database constraint ensures scores are always between 0 and 10 inclusive. Invalid scores are rejected at the database level.

Rating Scale

EpiNeko uses the standard 0-10 rating scale:
This scale matches MyAnimeList’s rating system, making it familiar to anime fans and allowing for easy comparison.

Adding Scores

Via updateLibraryItem

Add or update a score for any anime in your library:

When Adding to Library

Include score when first adding anime:

Score Without Completing

You can score anime even if not completed:
While you can score incomplete anime, it’s recommended to score only completed series for the most accurate ratings.

Removing Scores

Set score to null or undefined to remove:

Displaying Scores

In Library Cards

Show user’s personal score on library anime cards:
AnimeCard Component (src/components/anime/AnimeCard.tsx:31-35):

MAL Score vs Personal Score

Distinguish between MyAnimeList’s score and user’s personal score:
Example Display:

Score Input Components

Simple Dropdown

Basic score selector:

Star Rating Input

Interactive star-based rating:

Slider Input

Slider for granular control:

Score Statistics

Calculate statistics from your library scores:

Score Distribution

Analyze your rating patterns:

Visualization

Display score distribution chart:

Scoring Recommendations

Best Practices

Score After Completion

Rate anime after finishing for most accurate scores

Use Full Scale

Don’t be afraid to use the entire 0-10 range

Be Consistent

Develop personal criteria for each score level

Update Scores

Revisit and adjust scores as your tastes evolve

Personal Rating Guidelines

Develop your own rating criteria:
  • 10: Perfect narrative
  • 8-9: Excellent storytelling
  • 6-7: Good but flawed plot
  • 4-5: Weak story
  • 1-3: Poor narrative

Database Validation

Scores are validated at multiple levels:

Database Constraint

PostgreSQL check constraint:
Behavior:
  • Rejects scores < 0
  • Rejects scores > 10
  • Accepts null (no score)
  • Accepts 0-10 inclusive

Application Validation

Add client-side validation:

Type Safety

Use TypeScript for type safety:

Score-Based Features

Filtering by Score

Filter library by rating:

Sorting by Score

Sort library by personal ratings:

Recommendations

Find similar highly-rated anime:

Comparing Scores

MAL Score Comparison

Compare your rating to MAL average:

Score Agreement Analysis

Analyze how often you agree with MAL:

Export Scores

Export your ratings for backup or analysis: