SeamlessVisa: Attorney Reviewed Immigration Software

Fulltime - February 2023 - Present
SeamlessVisa preview

SeamlessVisa: Attorney Reviewed Immigration Software for SeamlessVisa

SeamlessVisa's attorney-reviewed immigration software is a cutting-edge visa application platform designed to simplify and secure the immigration process for both individual applicants and businesses. Built with React and TypeScript, this platform performs rigorous error checks, dynamic input validations, and consistency checks on user applications, while enabling an attorney review process to ensure every application is accurate and complete.

The software is engineered to display only the necessary fields dynamically. For example, if a user indicates they are married, the system will prompt for spouse information. Once the application is complete, the collected data is used to pre-fill the official USCIS PDF form, vastly improving the traditional manual form filling process.

Collaboration and Teamwork.

  • Bukola (Senior Front-end Engineer): who set up the project, assisted by debugging a specific validation issue with the onlyWhen function.
  • Samuel (Backend Developer): Integrated the front-end validation logic with server-side processes, ensuring data consistency throughout the application. Working closely together, we were able to build a robust system that meets both the technical and legal requirements of immigration applications.

Dynamic Input Validation & Code Efficiency

During development of the N-400 form, we encountered complex dynamic validation requirements. Initially, each field was validated individually using Yup's conditional logic, as shown below:

nameOfField: Yup.string().when(
  "otherNameOfField",
  ([otherNameOfField], schema) => {
    if (otherNameOfField?.value !== aSpecificValue)
      return Yup.string()
        .required("Required")
        .test("Digits only", "Must be a number", optionalDigitsOnly)
        .test(
          "Can't be Zero only",
          "Number can't be zero",
          (value?: string | null) => {
            return value && Number(value) === 0 ? false : true;
          }
        );
    return schema;
  }
),

Later, while working on the N-600 form, I developed a utility function called onlyWhen that encapsulated this dynamic validation logic. The new approach dramatically simplified the code:

// Simplified dynamic validation using onlyWhen utility
nameOfField: onlyWhen(
  "otherNameOfField", // only when this other field is equal to a specific value
  aSpecificValue, // only when this other name of field value is equal to this specific value
  "otherFieldValueType", // the value type of the other value, can be a string number, aNumber, select-field so on
  "nameOfFieldValueType" // the value type of the name of field, can be (string, number, aNumber, select-field so on)
),

This refactoring reduced dynamic validation code by 70%, significantly enhancing efficiency and maintainability.

B2B and Administrative Panel Features

Beyond individual applications, we expanded the platform to include a B2B option for businesses looking to complete immigration applications on behalf of their clients. To support this, we built an advanced administrative panel featuring:

  • Access and Role Management: Secure, customizable user permissions to ensure that only authorized personnel can access sensitive features.
  • User and Data Management: Tools for efficiently managing client data and tracking application progress.
  • Case Management: Businesses can manage their client applications, initiate new applications for clients, and utilize the error checking software to accurately complete forms.
  • Payment Integration:
    • Stripe: For processing international payments.
    • Paystack: For handling payments within Nigeria.

These enhancements provide a comprehensive solution tailored for SeamlessVisa—an international company based in the U.S.—delivering a streamlined, secure, and efficient experience for both individual and business users.

Project Impact

The integration of dynamic validations, B2B capabilities, administrative controls, and robust payment options has transformed the user experience. It minimizes errors, streamlines data management, and provides a secure, efficient method for processing immigration applications on a global scale.

Live Project & Disclaimer

You can view the live project here: View Project Live

Disclaimer: Please exercise caution when accessing this live project as it is an active production product managed by the project owner.