Presenting a Web Application without the WIFI Service

This was a real-world work experience, out-of-the-box thinking!

As a Full Stack App Developer, I’ve always worked on smaller teams, and wearing three to four hats was expected, which also meant understanding multiple layers of any technology stacks but never being an expert “Guru” in any of the tech stacks. 

We were tasked to build an application, which was a USAID project for a developing country. Part of the project deliverables was creating training materials and presenting the application. This wasn’t a problem, we built the application and training materials.

But wait!

We scouted the hotel and reviewed the location services. We learned the hotel’s conference hall internet service was spotty, if not non-existing. We concluded, the lack of internet was a problem for us because part of the training needed to have end-users/students interact with the application.

Like usually, I was asked to find or come up with a solution.

After understanding the problem and needs, my solution was to create a localized wireless area network (WAN) inside the conference room that would serve up the application from a Linux computer/machine, which I used as a web server and essence building out a LAMP stack. This setup would allow students to connect to the wireless area network and the applications asset we are served from the computer/machine. Easy-peasy!

The classic look on your manager’s face when you present this idea, with one eyebrow raised. Yeaah—okaaay, Tim, sure.

How did I get all this to happen? Here is my process:

  • I went to our IT hardware guy and got a loner computer.
  • Downloaded a version of GNU\Linux Ubuntu
  • Booted the OS on the loner 
  • I went to Best Buy and bought a Travel Router. 
  • Connected the router to the loner computer
  • I configured all the hardware, then made sure that someone else could plug in the devices, and the software would boot everything on boot.
  • Reviewed all the daemon processes that were specific to the application running:
    • MySQL Database
    • Host routing
    • Router (Was configured to bring up the Application page once a student connected)
    • Etc.

Once the configuration travel router was completed, we tested, then showcased it to management which they approved a go-ahead to use. The team took off with the hardware and presented the applications. The students were able to connect to the wireless router, and the applications appeared once they opened their browser window. I was told the application functioned like it was online and students couldn’t tell any difference.

Understanding technology and having a creative mind helps find solutions!
It helps to understand the area/field you work in. I try to learn as much as I can, as it helps with solving problems. In this case, I knew enough about the booting process of a computer to install a version Linux distro on it and run all the daemon services I needed. I understood how networks and routers work. I understood how to install software and configure them to do what I wanted. Understanding these technologies allowed me to develop a relatively straightforward solution; however, there were tricky moments.

In hindsight, the takeaway discovered how easy it was to create a man-in-the-middle network connection 🙂