# AniPick

> Source: <https://dev.to/michaellom1000/anipick-1lkg>
> Published: 2026-10-18 23:37:08+00:00

*This is a submission for the [Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle](https://dev.to/challenges/hacktoberfest-week2-2026-10-12)*

I've always struggled with choosing which anime to watch next.

I discover new anime almost every day, often through TikTok recommendations and clips, but I already have hundreds of titles sitting in my Plan to Watch list. Then, when I finally have time to watch something, I spend more time scrolling through my backlog than actually watching anime.

I've also had plenty of experiences where a highly recommended anime turned out to be boring or just not my type. And sometimes a show doesn't have an English dub, which is a deal breaker for me.

That's why I built AniPick — a personal anime watchlist companion that helps you decide what to watch next.

AniPick lets you import your public watchlist from MyAnimeList or AniList using just your username. It analyzes the anime you've already watched and rated, then uses open-weight AI to recommend titles from your own backlog.

With Pick for Me, you can choose your mood and how long you want the anime to be — up to 12 episodes, up to 24 episodes, a movie, or something longer.

You can also browse your library, filter anime, read descriptions, and preview available YouTube trailers before committing to a show.

Your next watch is already on your list. AniPick is a new, localhost-first anime watchlist companion built for Hacktoberfest 2026 Week 2. This repository was implemented from scratch; no previous AniPick code was used.

**Milestones 1–4: real imports, a durable watchlist browser, open-weight AI recommendations, a dedicated interface redesign, and anime previews.** Pick for Me calls the real model when a server-side Google AI Studio key is configured. Real default-settings generation has been verified through the backend, as detailed below. No demo recommendations or fake model fallback are included.

The interface has separate **Library** and **Pick for Me** destinations. **Import list** opens the library manager, where AniList and MyAnimeList are equally accessible and saved collections can be switched. Search and sorting stay visible; **Filters** reveals genre and total-length options. Pick for Me leads with length and mood, keeps explicit cloud consent visible, and places advanced preferences and provider diagnostics…

For this project i used opencode with glm 5.3 flash model which is highly cost efficient, and as a recommendation engine i used Gemma 4 26B a4b it via google ai studio api key or local hosted Bonsai 27B. For tech stack i used: React, TypeScript, Node.js, SQLite.

By using open-weight ai it allows users to process their data fully locally for free. Open weight model can be modified, retrained or optimized to run on regular consumer hardware and be accessible to anyone. That's why I used Prism ML Bonsai models so people with less powerfull machines can run it. Also many open weight models can be retrained in a future to make them better at certain things, for example here, I plan to fine tune local Bonsai model to work better with anime data.

Best Use of Gemma
