Can I get a PhD for developing educational software? I am a senior at Worcester Polytechnic Institute. After asking another question on this website, I have decided to become a professor of practice. To do this, I will pursue a Ph.D.

A Ph.D. project that I have already started in my free time this summer is developing an application and website that would help with calculus education. The application has 


A computer algebra system which solves the calculus problems
A system which shows the work that the computer algebra system performs
A system which gives hints for the user
A system which allows the reader to type in each line of their work for the system to check for correctness and possibly identify the reason the answer is incorrect. This would include a system which would allow the user to draw graphs with their mouse for curve sketching problems.
A website where the application would be available for free use.
If there is still time left, typed notes and maybe even video lectures to correspond with the application.


I already have done 3,014 lines for the computer algebra system over the summer and I would love to make this my research project. I think that this would make an awesome research project because I would do it even if I didn't get a Ph.D. (I originally was considering making a level with the website as an alternative to the Ph.D.)

However, I worried that it would not be eligible as a Ph.D. project because I'm creating something rather than discovering a new theorem, numerical algorithm, or mathematical model. This made me even consider not getting a Ph.D. as my previous experience with research in numerical analysis was not enjoyable.
Generally speaking, you need to do more than develop software (any software) to get a PhD. Even creating a new Operating System isn't quite "enough". But the reason is subtle. An many people base their doctoral degrees on software they develop. 

The issue is that, in most cases, people will, like myself, have the belief that you get a doctorate by advancing knowledge. To advance knowledge, a computer science student might write some nice piece of software, but then must show/prove/demonstrate that the software does, in fact, advance the state of the art. You have to show that the software represents a genuine advance in knowledge. That it embodies some advanced concept, not just cool coding. 

I was once an external examiner in such a situation. A student in a fine German university built and utilized a certain very sweet system for allowing students to interact remotely with each other and with their professor on projects and assignments. It manages all sorts of communication, permitting effective group work for students not co-located. The university focuses on distance education. 

But the doctorate was given, not for the software itself, but for the student's analysis of it and proof that it was effective and showed some new ways of thinking about group work and how it could be effectively done an managed. It was that demonstration that was the essence of the degree, though it was based on the software he built. 

However, I can't guarantee that every such software-based degree has the same sort of requirements. In a lot of ways what your advisor will accept is what is actually required. But, I think that this philosophy of "advancing knowledge" rather than just "building cool stuff" is pretty fundamental and widely shared.