Bentostream
An AI-enhanced anime platform where creators can create interactive manga storyboards and turn them into anime viewable by the general public. I built a custom scalable recommendation system to avoid the common echo-chamber problem.
Introduction
Bentostream is an anime platform where the audience is also the studio. Anyone can draw a manga in a browser, turn it into real animated video, publish it to a streaming catalog, and let a recommendation engine help people find it without getting stuck in the usual algorithmic echo chamber. Roughly speaking, it’s essentially a video streaming site, a storyboard editor, and an AI animation pipeline living under one roof.
I’ll focus on the three ideas I find most interesting, plus a few of the engineering bets underneath them.
1. Draw a manga
The front door for creators is a full manga editor that runs in the browser. You get panels with gutters you can angle, speech bubbles with draggable tails, screentones, pressure-sensitive freehand ink, layered art, text, and so on.
All of the editor’s state lives inside a tiny engine compiled to WebAssembly, not in JavaScript. The Zig WASM engine owns the document model, every drag, snapping, undo/redo, and the rest. The web page around it is just glue that forwards clicks and redraws whatever the engine hands back. That’s what keeps the editor fast and consistent.
There’s even a one-click “Magic Select” that cuts a character or object out of its panel so it can break past the borders. It’s the kind of touch that normally takes a desktop art tool, and it runs on segmentation models like SAM3.
2. From storyboard to actual anime
A manga storyboard encodes shot order, camera intent, framing, and dialogue, so Bentostream leans into that. Creators annotate panels with director’s notes and camera arrows, and the platform turns those primitives into a shot list that drives AI video generation: panel-to-video, keyframe interpolation between two panels, and reference-image-driven shots for character consistency, with synchronized voices layered on top.
3. Actually useful recommendations
Most recommenders optimize for “more of what you already watched,” which is exactly how you end up watching nothing but shounen forever. Bentostream’s recommender is built to fight that.
Under the hood it treats the whole catalog as a knowledge graph: users, anime, genres, tags, studios, and how they all connect. It learns from the shape of those connections instead of a flat “users who liked X also liked Y” table. That lets it reason a few hops out, along the lines of “people with your taste who wandered into psychological thrillers loved this one, so here’s your entry point.” The graph approach is based on CoordiNet[1], whose work on coordinated graph representations shaped the design.
There was a catch. Graph models like this lean on attention, where the model weighs how much each connection should influence the next. It works well, but the cost grows with roughly the square of the catalog. That’s fine for a few thousand titles and painful once you’re looking at hundreds of thousands. So I replaced the attention step with a state-space model, which keeps the same “focus on what matters” behavior while its cost grows much closer to a straight line. In practice that’s the gap between a recommender that scales to a real catalog and one that doesn’t. I also hand-wrote a custom GPU routine (a Triton kernel) for the single operation that dominates the runtime, to get as much speed out of the hardware as I could.
On top of that sits a deliberate anti-echo-chamber layer. A slice of every feed is guaranteed to come from outside your comfort zone: a fresh genre, a community favorite, the occasional wild card. Each of those picks comes with a plain explanation instead of a black-box “recommended for you.” I also track “beyond-accuracy” health metrics, like how diverse feeds are, how much of the catalog actually gets surfaced, and whether users are broadening their taste over time. That way I can tell whether the anti-bubble machinery is actually working instead of just assuming it is.
A note on the stack
A few opinionated bets hold this together:
- Zig for the backend. The API server is a single small binary with no garbage collector and predictable latency. It serves recommendations with fast in-memory vector math and streams video with zero-copy file sends.
- Zero Python in the hot path. Python is great for machine learning and a liability in a request handler. All the heavy ML, like building the graph, training the model, and crunching analytics, runs offline in PySpark and PyTorch, and only the finished results get handed to the fast serving layer.
- Everything is an event. Plays, ratings, clicks, and completions flow through a message bus (NATS), which decouples the live site from the batch jobs that learn from that behavior overnight.
- Redis as the speed layer. Sessions, leaderboards, and precomputed embeddings live in memory so the common paths never wait on a database.
Where it’s at
Bentostream is in active development, and the core is real and building today. The Zig backend, workers, and web frontend all run. The manga creator has grown through many phases, including layers, tones, ink, typesetting, and multi-page. Video streaming works end-to-end, and the recommendation platform (graph model, collaborative-filtering baseline, diversity re-ranking, and evaluation) is built. The storyboard-to-anime pipeline is the current frontier, and now I’m just building a catalog of anime so that people have a whole library to watch!
References
- CoordiNet. Neurocomputing (Elsevier). Read on ScienceDirect ↗ ↩