Long lists
Render only what matters
Character, actor, and role lists can become long and image-heavy. Efficient list rendering keeps discovery responsive instead of making scale visible as lag.
Personal project · iOS, Android, and web
I built AniVoice to make the relationships between anime characters, voice actors, and their other roles easy to search and explore.
In short: AniVoice has used React Native and TypeScript from the beginning. One shared product now runs on iOS, Android, and web, with list performance, caching, and continuous refinement shaping the work.
I often recognize a character's voice before I can place the actor. Looking up one name is only the start. The more interesting path continues through the other characters that actor has voiced and the anime connected to those roles.
The information model is dense: characters connect to actors, actors connect to roles, and roles connect to anime. The interface has to keep those relationships clear while still feeling lightweight enough for casual browsing.
Long lists
Character, actor, and role lists can become long and image-heavy. Efficient list rendering keeps discovery responsive instead of making scale visible as lag.
Caching
Caching commonly revisited data makes browsing feel immediate and reduces unnecessary loading as people move between connected records.
One product
React Native and TypeScript provide a shared foundation across iOS, Android, and web without treating every platform as a separate product.
AniVoice was not finished at its first store release. I continue to refine navigation, grouping, caching, list behavior, and the small interactions that make following a chain of relationships easier.
The outcome is deliberately practical: a working product across three platforms that answers a question I regularly had and gives other anime fans a faster path from recognition to discovery.
Designing for exploration is different from designing for lookup. The relationship model—and how the interface preserves a person's place inside it—matters more than any one screen.
Tell me what you are trying to build and where it is getting difficult.