Banner Temporada de Animes
Sem categoria

Temporada de Animes : Automating Anime Seasons with AI and Public APIs

Project: Anime Seasons — Automated WordPress Plugin
Role: Developer & UI/UX Designer
Technologies: PHP, WordPress, MyAnimeList API, YouTube, Azure Translator, JavaScript, CSS, WP-Cron, AJAX
Repository: github.com/wcabril/TemporadaAnimes_AU


Project Overview

Anime Seasons is a WordPress plugin developed to automate the creation, organization, and display of anime seasons on the Anime United website. The project was born from the need to create a dedicated anime season listing area without mixing this content with the site’s traditional news feed.

The project was also part of a practical study using AI assistants for software development. Among the tools tested, Codex was chosen as the main assistant for planning, implementation, debugging, and plugin evolution. The goal was to build a real-world solution using public APIs such as MyAnimeList, YouTube, and Azure Translator to reduce manual work and centralize content management inside WordPress.

The Challenge

The website needed a seasonal anime page with filters by year, season, format, and status, as well as visual cards and internal pages for each anime. However, manually registering all this content would be impractical: each season can include dozens or hundreds of titles, with information such as cover image, synopsis, studio, score, ranking, source, premiere date, genres, and trailer.

Another important challenge was architectural: these anime entries should not be created as regular WordPress posts or appear in the site’s news feed. It was necessary to create a separate content base, managed through its own admin menu.

As the database grew, new performance issues appeared. In real tests, loading all anime entries at once caused slow page rendering and timeout risks on the server. It was also necessary to handle delicate WordPress deployment details, such as correct plugin packaging, asset caching, file versioning, versioned folders created by the WordPress admin uploader, and protection against fatal PHP errors.

The Solution

Separate Custom Post Type
The plugin creates its own custom post type for anime entries, keeping this content separate from regular WordPress posts. This way, imported titles do not appear in the site’s news feed, while still remaining editable in the admin area.

Public Shortcode
The public listing is displayed through the shortcode:

[temporada_de_animes_united]

This shortcode renders the public page with filters, responsive cards, and navigation to each anime’s internal detail page.

MyAnimeList Import
The main data source is the official MyAnimeList API. The plugin imports information such as title, cover image, format, episodes, duration, status, season, score, ranking, studios, genres, source, synopsis, premiere date, and complementary data.

Automatic Translation
To handle synopses originally written in English, the plugin includes an integration with Azure Translator. Translation can be used during the import process, while respecting usage limits and allowing the translated texts to be stored in Portuguese inside WordPress.

YouTube Trailers
The plugin allows YouTube trailers to be saved and displayed on each anime’s internal page. The structure was designed to support automatically available trailers when possible, while also allowing manual editing in the admin area.

Card and Detail Page Layout
The cards were designed based on Figma prototypes, showing a clean cover in the default state and anime information on hover. The internal page displays the cover, title, alternative title, synopsis, key details, MyAnimeList links, studios, genres, season, and trailer.

Import and Export
To simplify migration between the local environment and the final server, the plugin received an Import/Export area. This makes it possible to move anime data between WordPress installations without needing to re-import everything from the APIs.

Performance and Safe Loading
With a database of more than 1,500 anime entries, the front end needed optimization. The listing was adjusted to load only the required year and season range instead of rendering every anime at once. Loading messages and cache-related adjustments were also added to prevent outdated CSS/JS files from breaking the experience.

Production Stability
During deployment to the final server, the plugin received important adjustments to prevent fatal PHP errors and installation issues. The plugin header, versioning, constants, ZIP packaging, active folder slug, WP Rocket cache, and FTP/File Manager update behavior were reviewed. These changes ensured that both the admin menu and shortcode continued working without bringing down the site.

Importação via MyAnimeList
A base principal de dados vem da API oficial do MyAnimeList. O plugin importa informações como título, capa, formato, episódios, duração, status, temporada, nota, ranking, estúdios, gêneros, origem, sinopse, data de estreia e dados complementares.

Tradução Automática
Para lidar com sinopses originalmente em inglês, o plugin recebeu integração com Azure Translator. A tradução pode ser usada durante o processo de importação, respeitando limites de uso e permitindo manter os textos em português dentro do WordPress.

Trailers do YouTube
O plugin permite salvar e exibir trailers do YouTube nas páginas internas dos animes. A estrutura foi pensada para aceitar trailers automáticos quando disponíveis e também permitir edição manual no admin.

Layout dos Cards e Página Interna
Os cards foram desenhados com base em protótipos no Figma, com capa limpa no estado normal e informações no hover. A página interna exibe capa, título, título alternativo, sinopse, dados principais, links para MyAnimeList, estúdios, gêneros, temporada e trailer.

Importação e Exportação
Para facilitar migração entre ambiente local e servidor final, o plugin ganhou uma área de Importar/Exportar. Isso permite mover os dados dos animes entre instalações sem depender de refazer toda a importação pelas APIs.

Performance e Carregamento Seguro
Com uma base acima de 1.500 animes, o front-end precisou ser otimizado. A listagem passou a carregar apenas o recorte necessário por ano e temporada, em vez de renderizar todos os animes de uma vez. Também foram adicionadas mensagens de carregamento e ajustes de cache para evitar que CSS/JS antigos quebrassem a experiência.

Estabilidade em Produção
Durante a subida para o servidor final, o plugin passou por ajustes importantes para evitar erros fatais de PHP e problemas de instalação. Foram revisados o header do plugin, versão, constantes, empacotamento ZIP, slug da pasta ativa, cache do WP Rocket e comportamento de atualização via FTP/File Manager. Isso garantiu que menu administrativo e shortcode continuassem funcionando sem derrubar o site.

Results and Impact

Content Automation: The process of registering entire anime seasons stopped being manual and became API-driven.

Editorial Organization: Anime entries remain separate from news posts, keeping the main feed clean.

Improved Public Experience: The season page gained filters, visual cards, and dedicated internal pages.

Scalability: The structure was adjusted to handle more than 1,500 anime entries without loading everything at once.

Manual Control: Even with automation, editors can adjust synopsis, banner, trailer, status, and other fields without losing changes during future refreshes.

Practical Learning: The project served as a real-world study in advanced WordPress development, API consumption, automatic translation, performance optimization, and the use of AI as part of the development workflow.

Conclusion

Anime Seasons is a project that combines automation, interface design, and API integration to solve a real content management need for a high-volume website. More than simply importing data, the plugin creates a complete editorial experience inside WordPress, with its own admin area, public filters, internal pages, and update control.

The development process also showed the importance of thinking beyond the initial feature set: performance, caching, packaging, production stability, and protection against PHP errors became essential parts of the solution. With Codex supporting the process, the project became not only a useful tool for the Anime United website, but also a solid study on how AI can accelerate development without replacing careful technical decision-making.