Skip to content
CAI
Software that uses CAICheck a score

sergiotapia/magnetissimo

44.4

Weak · 22 September 2026

4.5k

lines of production code

Elixir

primary language

6

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Magnetissimo is a torrent indexing and search application built on the Elixir/Phoenix framework. It aggregates data from multiple external sources, including 1337x, Nyaa, and YTS, to provide a unified search and browsing interface. The system supports user authentication and manages background jobs for automated crawling and data synchronization.

Features

Add Docker and Kubernetes deployment configurations

The application can now be deployed using Docker Compose or Kubernetes. A Dockerfile and docker-compose.yml have been added to containerize the Elixir/Phoenix app and its PostgreSQL dependency, enabling easy local and production setup. The README has been updated with comprehensive usage guides for Docker Compose, Kubernetes, and local development, including instructions for setting the required SECRET\_KEY\_BASE and PHX\_HOST environment variables.

(repo-wide) · high confidence

Add user authentication and account management pages

New LiveView templates and controllers are introduced for user authentication and account management. This includes pages for user registration, login, password reset, email confirmation, and account settings (updating email and password). The home page now displays a search bar with debounced input, shows an indexing summary, and lists the latest or searched torrents in a table. The torrent detail page displays torrent metadata, description, and a magnet link.

_lib/magnetissimo\web/live · high confidence

Added crawlers for 1337x, Nyaa, TorrentDownloads, and YTS

Users can now search and browse torrents from four new sources: 1337x, Nyaa, TorrentDownloads, and YTS. The update introduces dedicated crawler modules for each, enabling full-text search, latest torrent ingestion, and metadata extraction (including magnet hashes, descriptions, and categories) from these external sites.

lib/magnetissimo/crawlers · high confidence

Added user authentication and torrent listing endpoints

Users can now log in and out via a new user session controller, and access torrent data through new API endpoints for searching and listing torrents. The update introduces JSON rendering for torrent data and error handling for validation failures.

_lib/magnetissimo\web/controllers · high confidence

Adds user authentication and API endpoints

The application now supports user authentication, introducing routes for user registration, login, password reset, and account settings. The router is updated to protect specific LiveView sessions with authentication requirements and exposes new API endpoints for searching and retrieving the latest torrents.

_lib/magnetissimo\web · high confidence

Initial database schema and infrastructure for the application

The application's database is initialized with new tables to support core features. A 'sources' table is added to track external data providers, while a 'categories' table organizes content. The 'torrents' table stores detailed metadata about each item, including a unique 'magnet\_hash' for deduplication. User authentication is supported via a 'users' table and associated 'users\_tokens' for sessions and password resets. Additionally, the schema includes the 'oban\_jobs' table to enable background job processing.

priv/repo/migrations · high confidence

Initial seed data for sources and categories

The application now includes a seed script that populates the database with default torrent sources (Nyaa.si, TorrentDownloads, YTS, 1337x) and a comprehensive set of content categories (Anime, Audio, Books, Video, Images, Software, Other) when no sources exist. This ensures the system has a baseline of data for browsing and searching immediately after installation.

priv/repo · high confidence

Introduces user authentication and automated torrent crawling

The application now supports user registration, login, and email verification via new \Accounts\ and \User\ modules, enabling secure access. Additionally, background workers for sources like 1337x, Nyaa, and TorrentDownloads are wired up and scheduled to run automatically every 5 minutes, ensuring the torrent index is kept fresh.

lib/magnetissimo · high confidence

Behavioural changes

Add site header component and refactor core UI components

The site header component is introduced to provide a consistent top navigation bar with links to Home, Feeds, and GitHub, alongside user authentication controls (Login/Logout/Register) that adapt based on the current user's state. Additionally, the core UI components have been refactored to use the new 'button' class for styling, and the modal and flash message components have been updated with improved CSS classes for layout and visual consistency.

_lib/magnetissimo\web/components · medium confidence

Added release scripts for database migrations and server startup

New shell and batch scripts have been added to the release directory to facilitate running database migrations and starting the application server. The 'migrate' script executes the 'Magnetissimo.Release.migrate' task, while the 'server' script starts the application with the 'PHX\_SERVER' environment variable set to true, enabling direct server startup.

rel · high confidence

The application layout has been refactored to use a flexbox container for the entire page, ensuring the footer stays at the bottom. The previous static header and main content structure were replaced with a dynamic \MagnetissimoWeb.Header\ live component, which now receives the \current\_user\ for authentication context. A new footer has been added containing attribution links to the author and the Elixir/Phoenix frameworks. Additionally, the root layout's body class was updated to use \text-neutral-800\ for improved text contrast.

_lib/magnetissimo\web/components/layouts · high confidence

Background job processing and test configuration updates

The application now supports background job processing via Oban, with queues configured for 'nyaa', 'torrent\_downloads', 'yts', and 'leetx' crawlers, and automatic pruning of jobs after 24 hours. In production, the default host for the web server has been changed from 'example.com' to '0.0.0.0' to ensure proper network binding. Additionally, the test environment is configured to use a lower bcrypt hashing rounds for faster test compilation, and Oban is set to 'inline' testing mode.

config · high confidence

Introduce structured data models for torrents, categories, and sources

The application now enforces strict validation rules for torrent data. The \magnet\_hash\ field is validated to be exactly 40 characters, and the \magnet\_url\ must not start with 'magnet:' (the prefix is added on the frontend). Additionally, all torrent names are automatically stripped of emojis before storage. New database schemas have been added for \Category\, \Source\, and \Torrent\, establishing the core data structure for managing torrent metadata.

lib/magnetissimo/torrents · high confidence

Updated Tailwind configuration with new brand colors and formatting

The Tailwind CSS configuration has been updated to include new brand colors: sky (\#013778), water (\#77e2f4), sand (\#c2ccbe), tree (\#84b85d), and grass (\#b1c34d). Additionally, the file's formatting has been standardized with consistent semicolons and spacing.

assets · high confidence

Test coverage

Added test coverage for user accounts, torrent sources, categories, and torrents; Added test fixtures and authentication helpers; Added tests for user authentication and session management.

Dependencies

Upgrade project version and add new dependencies

The project version has been updated to 2.0.0. Several new dependencies have been added to the application, including bcrypt\_elixir, slugify, sweet\_xml, httpoison, timex, size, earmark, html\_sanitize\_ex, and oban. Additionally, the floki dependency has been updated to version 0.34.2.

(dependencies) · medium confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 40 → 44 (+4.8)
  • Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 97 → 98 (+1.8)
  • Architecture 100 → 92 (-7.7)
  • Maturity 36 → 36 (+0.0)
  • Readiness 20 → 32 (+11.4)
  • Security 60 → 65 (+4.5)
  • Accessibility 68 (new)

Resolved (31)

  • Coverage not included — suite not readable by the collector
  • Dependency hygiene not measured — no supported dependency manifest was read
  • Duplicated block (11 lines × 2) (lib/magnetissimo/crawlers/nyaa.ex)
  • Duplicated block (11 lines × 2) (lib/magnetissimo/crawlers/yts.ex)
  • Duplicated block (12 lines × 2) (lib/magnetissimo/crawlers/torrent_downloads.ex)
  • Duplicated block (13 lines × 2) (lib/magnetissimo/db_seeder.ex)
  • Duplicated block (19 lines × 2) (lib/magnetissimo/db_seeder.ex)
  • Duplicated block (5 lines × 2) (lib/magnetissimo/accounts.ex)
  • Duplicated block (8 lines × 2) (lib/magnetissimo/crawlers/leetx.ex)
  • Duplicated block (9 lines × 2) (lib/magnetissimo/crawlers/leetx.ex)
  • FileTooLong: components/core_components.ex (lib/magnetissimo_web/components/core_components.ex)
  • High CVE: [GHSA redacted] (mix.lock)
  • High CVE: [GHSA redacted] (mix.lock)
  • High CVE: [GHSA redacted] (mix.lock)
  • High CVE: [GHSA redacted] (mix.lock)
  • High CVE: [GHSA redacted] (mix.lock)
  • High CVE: [GHSA redacted] (mix.lock)
  • High CVE: [GHSA redacted] (mix.lock)
  • High CVE: [GHSA redacted] (mix.lock)
  • High IaC: DS-0029 (Dockerfile)
  • …and 11 more

New (66)

  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)
  • Duplicated block (10 lines × 2) (lib/magnetissimo/crawlers/nyaa.ex)
  • Duplicated block (10–15 lines × 2) (lib/magnetissimo/crawlers/leetx.ex)
  • Duplicated block (11 lines × 3) (lib/magnetissimo/crawlers/leetx.ex)
  • Duplicated block (12 lines × 4) (lib/magnetissimo/db_seeder.ex)
  • Duplicated block (13 lines × 2) (lib/magnetissimo/crawlers/torrent_downloads.ex)
  • Duplicated block (13 lines × 3) (lib/magnetissimo/db_seeder.ex)
  • Duplicated block (13–15 lines × 2) (lib/magnetissimo/crawlers/yts.ex)
  • Duplicated block (13–15 lines × 2) (lib/magnetissimo/db_seeder.ex)
  • Duplicated block (14 lines × 2) (lib/magnetissimo_web/live/user_confirmation_instructions_live.ex)
  • Duplicated block (16–17 lines × 3) (lib/magnetissimo/db_seeder.ex)
  • Duplicated block (21 lines × 2) (lib/magnetissimo/db_seeder.ex)
  • Duplicated block (5 lines × 2) (lib/magnetissimo/accounts.ex)
  • Duplicated block (9 lines × 2) (lib/magnetissimo/crawlers/leetx.ex)
  • Duplicated block (9 lines × 2) (lib/magnetissimo/torrents/category.ex)
  • Duplicated block (9 lines × 5) (lib/magnetissimo/crawlers/torrent_downloads.ex)
  • High CVE: [GHSA redacted] (mix.lock)
  • High CVE: [GHSA redacted] (mix.lock)
  • High CVE: [GHSA redacted] (mix.lock)
  • …and 46 more

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

sergiotapia/magnetissimo was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 22 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit dd7b4a7f304c1f8dab33462be8935d5f1fe158bb — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-821afab8930d.