Visachek image



Do I Need a Visa?
How we helped a law firm build a tool to answer the question that is most commonly asked by travelers.


BAL Global


Immigration and Mobility

Date Completed



C#, Node, Postgres, Google API


Berry Appleman & Leiden, an international immigration and mobility firm based in San Francisco, wanted a system that would accurately answer a commonly asked question: Do I need a visa to travel? The goal was to design a system that could answer that question accurately by parsing a trove of visa data using a proprietary algorithm.

This tool was designed to not only provide clients with expedited answers to their travel questions, but also to provide a competitive edge for the firm.

The Challenge

Though BAL did have a small team of in-house developers, the team was too busy with managing a legacy application and did not have the necessary skills to develop a complex system of this magnitude.

Instead, they asked us to create an application that could answer their most-commonly asked question, reducing the number of calls and email their legal staff was receiving.

Clients were also frustrated. They demanded a system that their employees could use to get quick answers about visa requirements online.

Conceptual Development

There are other systems on the market that provide some limited results based on travel criteria. However, their data sets are rudimentary, and doesn’t take into account all the necessary data points for an accurate decision.

While tourist visas can be easy to asses, many work visas need additional data points in order to provide an accurate determination. Visachek was designed to handle multiple nationalities, special circumstances such as H1B, and most importantly, the purpose of a trip. By including these data points, we were able to offer a more accurate visa recommendation.

Additionally, companies had their own internal policies, and the algorithm needed to be smart enough to account for these specific recommendations.

Our Approach

To have a successful system, we needed lots and lots of data. Therefore, one of the first things to consider was how to effectively gather this information. We built a simplified content management system (CMS) that would allow knowledge management staff to enter visa information.

The second piece was to design a flexible algorithm that allowed for company-specific exceptions.

Finally, we needed to create an intuitive user interface, a mechanism for business intelligence reporting, and dashboards that allow managers to track all visa requests.


Prototyping and Iteration

Using Agile development methodology, we created several versions of the software, and actively sought feedback from clients and stakeholders. We also recruited a few key clients as beta testers and implemented their feedback into the process as well.

On the front end, we developed system using .Net MVC along with Microsoft SQL Server and Angular.js.For reporting, we used Logi Analytics and data visualization tools.

Using both manual testing and automated testing tools such as Selenium, the QA team was able to quickly validate the accuracy of the data.

The Result

Thanks to beta stage clients, including a large East Coast university, we were able to fine-tune our customized algorithm to allow customers to set certain parameters. By the end of the process, the firm had an efficient tool that took the pressure off of its employees, and made it easy for their clients to determine what kind of visas they and their employees might need. The product appeased their client base, and helped them land a number of new clients.