Skip to main content
D N nything DNAnything
  • Home
  • Types
  • Contributors
  • Contribute
  • About
Browse
All Types Music Books Movies Wine Beer
Create
New Type New Item
Account
My Ratings Log In
Home / About
D N nything

A catalog and comparison tool that uses a genetic algorithm to find similar items — books, music, movies, wine, beer, and anything else you can define. Items are encoded as attribute vectors called DNA, and similarity is computed by evolving the optimal weighting of those attributes.

§ Catalog at a Glance

5

Item Types

12

Catalog Items

4

Contributors

7

Ratings

5

Reviews

5

Recommendations

§ Abstract

DNAnything treats cultural artifacts — albums, books, films, wines — as specimens in a research catalog. Each specimen has a DNA profile: a vector of rated attributes that captures its measurable characteristics. A genetic algorithm evolves the optimal weighting of these attributes to find similar specimens, surfacing connections that simple distance metrics miss. The catalog is community-built: users create types, add items, rate attributes, write reviews, and recommend pairings. Every change is tracked in a wiki-style change log.

§ Methodology

How the Matching Works

The similarity engine encodes items as genomes, calculates weighted distances, and optionally evolves the optimal weighting using a genetic algorithm.

01

Attribute Encoding

Every item is encoded as a genome — a vector of attribute ratings on a 0–5 scale. These ratings form the item's DNA, a compact representation of its essential character that can be compared against any other item of the same type.

02

Distance Calculation

The Fast Match mode uses weighted Euclidean distance between attribute vectors. Each attribute contributes to the distance according to its weight, producing a similarity score in (0, 1]. Higher scores indicate greater similarity. This mode is deterministic and instant.

03

Genetic Algorithm

The Deep Match mode runs a genetic algorithm that evolves the optimal weighting of attributes for a given query. Starting from a random population of weight vectors, the GA selects, crosses over, and mutates candidates across hundreds of generations, converging on weightings that surface non-obvious connections.

04

Major & Minor Attributes

Each item's DNA is visualized as a bar chart with attributes in the type-defined order. The top seven attributes rated above 50 are "major" — the dominant characteristics. The next seven are "minor" — secondary traits. Attributes at or below 50 appear as muted bars, present but not defining.

05

Community Consensus

Average ratings are computed from all user ratings for an item. The number of ratings indicates certainty: more ratings mean stronger consensus. Items with the same average score but different rating counts are ranked by the count, so a 4.5 from 20 ratings ranks above a 4.5 from 2.

06

Wiki-Style Change Tracking

Every change to the catalog — creating a type, adding an item, updating a rating, writing a review — is logged in a wiki-style change history. Each entry records who made the change, what action was taken, and when. This creates a full provenance trail for every entity in the catalog. No data is ever hard-deleted; flagged content is hidden pending moderator review, preserving the full history.

§ Design Principles

How the App is Built

Auth-Required Public Contributions

All public contributions — creating types, adding items, rating attributes, writing reviews, making recommendations, using similarity search — require a free account. This ensures accountability and data quality. Anonymous users can browse everything.

Local Contributions (Coming Soon)

A future feature will let anonymous users make local contributions stored in their browser and merged with public data on the client. These are private to that browser and uploadable on login. Deferred until local Docker deployment support is ready.

Cloud Persistence

Signed-in users (Supabase Auth) get cloud persistence. All public contributions are stored in Postgres and immediately visible to the community.

Community-Owned

Types and items are created by users and remain in the catalog. If a user removes their account, their contributions stay but are anonymized — attributed to "Anonymous User".

Flag-Based Moderation

No data is hard-deleted. Content can be flagged by any logged-in user as inaccurate, offensive, or spam. Moderators review flags and can hide, revert, or dismiss them. This preserves the change log and keeps moderation reversible.

Local Deployment (Coming Soon)

The app is designed to be deployable to a local server using Docker, setting up a local cloud environment. This enables self-hosting and offline-capable local contributions.

Open Data

Seed data ships with the app as JSON files matching the database schema. When the backend is wired up, the same data loads into Postgres.

§ Technology

Built With

SvelteKit Svelte 5 TypeScript Tailwind CSS 4 Twintrinsic Vite Supabase Drizzle ORM Postgres Vitest Playwright Biome pnpm Bunny Fonts

§ Get Started

Explore the Catalog

Browse item types, explore attribute DNA profiles, and find similar items using genetic algorithm matching.

Browse Types → Top Contributors →

DNAnything — Genetic algorithm-based item comparison.