Choosing a technology for my app

Hi Everyone,

I am planning to develop my own side project with the purpose to upload it to Github and post it into my CV.

I am familiar with Java Spring, Android and a little Python and C#.

The project that I thought about is a Tutoring app which allows tutors to define their classes/students , upload excersises/grades…

There will be a mobile app for students, desktop app for the tutor and a server to manage the DB.

I am a little bit confused about which technology to use in order to develop these apps.

I thought about :

  • Android for mobile
  • Java spring for the server

But regarding the desktop client, I am still confused about which technology to use,

I thought about Python because I want to integrate some machine learning capabilites into it,

But I am not familiar with Python as a desktop app, I heard that Python is used in the real world more for scripting and for automation,
I don’t know if it’s the better choice for the desktop app. And i am not familiar with it’s limitations.

I would like to hear your suggestions for the choice.


I’d work in the language you are most comfortable to get it working. You could always port it to something else later if necessary.

Something like Xamarin might work well from cross platform development point of view if you have C# knowledge and can tolerate VS. One codebase across different platforms is the way forward.

If you already know Java, and you want to build an app fast, then I suggest this:

It uses a language called Dart that is kind of like a cleaned up and better Java, and the Flutter system can build iOS and Android apps. They also provide a lot of services through Firebase if you want to just use that rather than rolling your own Spring service.

Otherwise, what @gpkesley said is correct. Use what you know if you aren’t interested in learning something new.