Setting up your calibre development environment is the essential first step so you're off to a good start.
Before you put too much effort in you might like to know that calibre v5 is imminent. You can have a closer look
here in the beta thread.
As an English-only speaker/reader I have to confess that I have no idea how well calibre v5 supports vertical text, but it might be good to find out before you spend a lot of time on your project.
My own experiences with calibre development for personal projects is limited to calibre plugins. Python is all I've ever needed for my stuff, but I believe the Viewer code also uses a lot of Java.