In this semester I worked as an intern in UST India. I am here to share my experience and the work that we have done for the past months
About the organization
UST India provides business software IT services and solutions to government and businesses.UST has made considerable progress in the last 17 years to establish itself as a leading provider of information technology and system integration services to the Government, K12, Higher Education, Utilities, Manufacturing, Engineering, and Pharmaceuticals industries.
Overview
As an intern, we have worked under the guidance of Dr. A.K Sinha who is our mentor and director of the company. We worked on developing a project called WebPage Generator. In this blog, I have explained briefly about the working of my project and experience with the company
Introduction
Generally developing a website involves a lot of steps starting from figuring out the requirements, generating the prototype and these prototypes are developed with low fidelity websites and making changes frequently than the website is converted to high fidelity( user friendly), designing the website, and then later it is sent for the testing phase to check any bugs in the websites and to complete this whole cycle it needs a lot of time and skilled people as well in developing the efficient website, also for few small businesses it is difficult to have this resources and in turn, they are unable to develop a good website. So to solve this problem and to minimize the work we developed a deep learning model using modern techniques like CNN and GRU to generate a website with web mockups, that is the web mockups are given as input to the model and it generates the working webpage as the output.
Our Approach
So the main idea of working on this project to make save time and reduce the complexity of developing the website. So we used an image captioning architecture in generating the website from given web mockups
Dataset
The dataset contains the combination of web mockups and the source code of each website. This source code is a combination of bootstrap elements like buttons, text boxes, etc. Every source code contains a DSL which is called a domain-specific language this DSL tokens and each token consists of HTML and CSS of each website in the dataset. These DSL tokens are converted into HTML and CSS using a compiler. Also, few steps are followed to complete the preprocessing of the dataset for the web mockups like changing them into grayscale, etc.
Model Architecture
The building of the model is done in three steps using the image captioning architecture. The steps are:
In the first step, CNN is used to extract the features of the web mockup and gets the feature image as output for each web mockup in the second step GRU is used which helps in encoding the source code tokens and the output that we got from the above two steps are combined and given as input for other GRU which is having softmax as activation function which is helpful in predicting the next header
After predicting the series of tokens/headers by the model they are converted into HTML using a compiler and then they can be executed later in any browser
Conclusion
To deliver an efficient model which generates the web pages using hand-drawn web mockups and the main idea of developing the project is to help the small and large businesses especially for small businesses which does not focus on UI which makes a negative impression when the product is used by customers also it is useful in not wasting the time and resources much on the user interface which can be achieved with the advance in the technology using deep learning models.
Experiences and Future works
It was a great experience for us working as interns in UST India that in turn learned many things before delivering the product which includes security of the code etc. This is for the first time working on a company project where we learned the different roles where everybody is assigned in the same project and working with them collectively.
There is a lot of scope in developing The project like the website generated has to be more user friendly and has to be interactive. The buttons in the webpage can be made clickable and make them redirecting to other pages etc. The model vocabulary is being trained by 16 elements in which we are getting a limited number of buttons but there is a scope for improvements like adding the dropdowns, menus, and the forms in the website.
Acknowledgment
I would like to thank our mentor and director Dr. A.K Sinha for guiding us and helping us by providing the relevant resources throughout the completion of the project.
Thank you!
Abhishek Veeravelli
Btech 4th year CSE student
Bennett Univesity