You need to consider what happens if your machine boots at 29 minutes past or 1 minute to the hour and your program takes more than a minute to run. That will get messy. The running instance needs to hold a lock file for the duration of its processing or you'll get multiple instances running.
Also does your program have a GUI interface? Because starting GUI stuff from rc.local or crontab is a non-starter.
Note: Any requirement to use a crystal ball or mind reading will result in me ignoring your question.
Criticising any questions is banned on this forum.
Any DMs sent on Twitter will be answered next month.
All fake doctors are on my foes list.