1. A method for converting an application, comprising: receiving application code from a source application, the application code written in a first programming framework; dividing the application code into clusters; evaluating clusters according to predetermined programming rules, wherein the evaluation comprises: determining a conversion score for each cluster; comparing the conversion score of each cluster to a predetermined threshold score; and converting clusters having a conversion score above the predetermined threshold into a second programming framework, wherein the converting comprises: extracting software features of each cluster having a score below the predetermined threshold; passing the software features into a model; and outputting, by the model, clusters of code performing the software features in the second programming framework; and optimizing the predetermined rules according to machine learning techniques for future application conversions.