
EVERY SONG HAS A WORLD.Cosmotune
A free music and video app for Android and desktop: synced videos, lyrics, downloads and tools for your listening.
01 / THE ARRIVAL A PORTFOLIO BY VIJAY JANARTHANAN
Somewhere between curiosity and code.
I build music experiences and developer tools
worth getting lost in.
02 / SELECTED WORK
Independent projects. Obsessive attention.
Every decision, documented.

EVERY SONG HAS A WORLD.A free music and video app for Android and desktop: synced videos, lyrics, downloads and tools for your listening.
The official video, locked to the song. A small, independent engine that finds the right frame without a server or API key.
PREPARATION, WITH A PLAN.Python interview prep that goes beyond reading: run code, practise SQL, work through 349 problems, and keep your progress in one place.
Open the live appAnother project is taking shape. Documentation first, then the code. This file opens when there is something worth sharing.
03 / FIND YOUR WAY
Three places hold three signals: an engine, an archive, and a way to reach me. Follow the map and piece them together.
OpenCanvas finds the connection between a song and its video. Start with the engine.
Explore OpenCanvas ↗04 / THE ARCHIVE
Specifications, design logs and benchmarks, written as the work happens.
How OpenCanvas finds the official video and keeps it on the right second.
Frame-size envelopes, FFT alignment and the song-to-video map.
Cold start on 16 songs in 6 languages, with the full tables.
Installation, configuration and player integration in one practical guide.
The engine compiled to JavaScript, running in your browser.
Approach, platforms, success criteria and the decisions behind them.
Components, screens and the path from design to implementation.
How the player takes its colours from the artwork on screen.
The eclipse C and its waning moon, with every round that led there.
Phases 0 to 3, from the fork to the new interface.
The video experience alongside music.
05 / THE PERSON BEHIND THE PROJECTS
OpenCanvas began with a small observation: everything needed to line up a music video with a song is already sitting in two file headers, about 0.3 MB each. No decoding, no server, just arithmetic.
I'm Vijay Janarthanan, a full stack developer. I build apps and developer tools, document the decisions behind them, and publish what I can as open source.
06 / THE NEXT CHAPTER
Questions about a project, a collaboration or the docs. I read everything.