Here are some of the questions you'd like to find answers for as you proceed with your USSD plan.
•. How do we want the channel to work?
For starters, USSD is just like connection-oriented SMS communication i.e, USSD is to SMS what IM is to email. The initiation of the communication can either be USSD-PUSH ( Mobile-terminated & provider originated) or a USSD-PULL (Mobile originated & provider terminated). In your case, I believe it would probably be a mobile originated USSD pull where the mobile subscriber dials a USSD short code on his mobile to access the app.
•. If it is USSD-PULL... what is our short code?
Every app requires a separate short code. USSD shortcodes are site addresses scheme similar to the website addresses in the internet world. I am not sure what country you are from, but here in India, USSD shortcodes are owned by the mobile service providers and one needs to get the service provider to configure the right short codes for you.
•. Now, what is the communication interface?
USSD works using a connection oriented SMPP. However, USSD gateways ( service-provider owned middle-ware that relays USSD messages to and from the subscribers' mobiles, these days are capable of acting as bridges where their app interface can be over HTTP or HTTPS. In this case, I'd think you'd need HTTP or HTTPS connectivity opened between the mobile operator's gateway and your app. From then on, it is just matter of building a web-app with a text response!