September 10th, 2020

Web Application Development for Visa Programs | Case Study

Table of contents

HTP J-1 Visa Programs is a leading U.S. provider of international Visa Programs that helps elevate skills of interns, trainees and teachers from all over the world. The company has been offering various exchange programs across the U.S. since 1996 and today it helps train people in their educational and business fields across a number of industries.

RegTech web application that meets the needs of government programs

HTP manages exchange candidates and visitors, hosting companies, agents and team members via a dedicated web application. The app has a number of modules that collect and store information about the exchange visitors. These include separate modules for hosting organizations and agents, a dedicated module for reporting on the status of applications as well as an admin module that the company uses behind the scenes. The web application also features various user dashboards as well as a number of registration wizards for the various user groups.


New web application panel

The goal of the project

HTP approached us because they needed to change and maintain an already existing RegTech web application. The dedicated web application was being used as the main tool for tracking the application processes of all user groups and communicating with them but didn’t fully serve its mission due to a number of bugs and other issues.

HTP was looking for a stable software development partner specializing in web application development, .NET/C# technology and with experience in the RegTech area, who could re-write and maintain the code while remaining flexible towards new requirements.


We started with a system analysis

CSHARK specialists conducted the initial system analysis before the cooperation started. It allowed us to check what the problem was and to estimate what needs to be done to solve it. We knew from the client that system users complained about the poor performance, application presentation layer, lack of email delivery, and several other issues.

The analysis consisted of the following:

  • Architecture overview
  • Performance investigation (data access layer, presentation layer, HTTP Server, scalability)
  • Clean code analysis
  • Solution layers
  • Inversion of Control, Dependency Injection
  • Quick refactor
  • Mailing problem check

Based on that analysis, we have proposed the most effective recovery plan for the web application.

The challenge

The poor quality of the inherited code

The biggest challenge for CSHARK’s developers was working on a system created by one software development company and later continued by another one, that eventually abandoned it. This caused problems with the quality of the code and the instability of the application. The system required corrections and optimizing the code.

The main issues included:

  • bugs: 12 were reported initially and upon careful examination, we discovered another 27,
  • low-quality code: there were over 97k lines of code with awkwardly defined modules which made it hard to maintain.

Our solution

Understanding the client’s needs is our top priority in every project. We approached the issues individually, placing them in the client’s context, and designed a solution-oriented at fixing the application and instilling relevant maintenance processes to optimize it. The recovery plan included the following:

Fast team creation
We quickly created a dedicated agile team that was adapting to the customer’s needs throughout the duration of the project. At the beginning, the team consisted of 3 .NET developers and a dedicated project manager to oversee their work.

Efficient process management
We arranged relevant processes and internal controls to ensure the project is being managed in accordance with client requirements and the agreed timeline. This included weekly meetings with the client where we discussed items in the backlog and prioritized them.


Prioritizing tasks in cooperation with the client
In full cooperation with the client, we set up relevant KPIs for the project, which included eliminating the bugs, optimizing the code and introducing several new features.

Clear and transparent development process
We defined a clear and transparent process for introducing changes and new functionalities to the app. We kept the client informed about the progress and creation of new functionalities, that he had a clear understanding of the development process.

Focus on client’s needs
We implemented the necessary corrections and improved the code, following the client’s priorities.

Fixes and improvements

Having a dedicated project manager acting as a liaison with the development team resonated well with HTP J-1. Efficient progress tracking helped accelerate the project and eliminate the risk of failure. We were able to fix most of the bugs and optimize the code. Here are the main results of our cooperation with the company:

  • We fixed the prioritized bugs and improved the code, making the application more functional and reliable.
  • Our dedicated team of specialists now focuses on maintaining a stable version of the system and adding new features as required.

New functionalities

We introduced a number of improvements and added several new system functionalities:

  • New Orientation module – previously the client had to rely on an outside service to provide Exchange Visitors with their mandatory Orientation training. Now, the entire process takes place inside the application which, among others, allows to automatically track its completion.

Orientation training

  • Insurance processing mechanism update – HTP has to provide its Exchange Visitors with health insurance for the entirety of their stay in the US. The previous mechanism was very unreliable which led to additional costs for the client as well as potential gaps in insurance coverage for the exchange visitors. We had to rewrite the entire mechanism.
  • Integration with QuickBooks API – it allows customers to track the payment statuses inside the application.
  • Integration with Microsoft Graph API – it allows clients to track the e-mail communication between his employees and exchange visitors.
  • Redesign of Notifications module

Checklist summary

  • Redesign of Evaluations mechanism

The business value and results

With the number of errors significantly reduced, the new application is easy to navigate for both the users and the program management team. They now benefit from the following:

  • A reliable, stable and faster application
  • A dedicated and easy-to-use panel for clients, hosting organizations and agents
  • Administration panel for reports and managing users
  • A dedicated module for reporting on the status of an application
  • Various user dashboards
  • A number of registration wizards for each user group

Organizing a dedicated development team that understands the business was essential. By remaining flexible, we helped HTP J-1 save money while continuing to deliver. This resulted in:

  • Minimizing business risk
  • Mutual business understanding and flexibility
  • Building and maintaining the web app that is fully adjusted to the needs
  • Improving the overall web app performance

We also developed a strong relationship with the client based on the fact that he is in full control of the backlog and prioritises in accordance with his needs and capabilities.


Plan for further web application development

Our dedicated team of software developers now focuses on maintaining a stable version of the system and adding new features as required. We will be adding new functionalities over the next few months:

  • a job site for teachers to help find schools in the United States where teachers could come and work,
  • a mechanism for the Teacher Cultural Activity Report,
  • Orientation panel for Agents.

Additionally, at the end of 2020, we plan to move the application to Azure.