Struggles to Reach

Great Opportunity

Matias Iturbide
5 min readMar 4, 2021

Reach LMS is a Learning management system created for developing countries to be able to use remote learning to reach out to places with low resources. Allowing kids and adults of all backgrounds to receive the knowledge to which they inquire, with this app administrators, teachers and students are able to connect to their courses in an easy-to-read simple layout.

We had to use AntDesing in order to make a low resource design that would allow users with low technological resources to use our app on and offline. Now my fear was learning a new library on top of having to do all the other work of developing an app from the ground up. At first, I was resistant, why use a library that none of us have ever worked with when we have a ton of work ahead of us in such a small amount of time, we only had a three-week deadline to get this all up and running. AntDesign at first has a steep learning curve, it was very complicated, lots of mistakes were made, which in turn caused a delay in front-end development, we were stressing and questioned if we would be able to have a viable product in time.

Fun Challenges

I was lucky to work on both the frontend and backend for this project. For the backend a developed the entire module's scaffolding. This part was fairly easy since we had done modules in the past.

The biggest hurdle we had at the beginning was styling, and styling nested components, although a lot of AntDesings uses styled-components, the hardest part was figuring out what everything was named, how to target specific areas of the page. It took hours of trial and error to make sure the right components were targeted.

This little piece of code right here took some back and forth for way longer than it should of, Only because you have to use the names that AntDesign has provided as oppose to you naming your own containers and components.

Chrome dev tools became our best friend for this, but even then, it still took several different tries to get the sidebar exactly where we wanted it and have it cascade the way we wanted to as well.

In the end, we realized AndDesing allowed us to organize things better, use a ton of less code to achieve the same result, made our app a lot cleaner for future generations of developers that may work to add features to our app. It helped with managing data load sizes, allowing for low resources to be used when first loading up our site which was the end goal. Also in the long run having another library under your belt is always a plus, a lot of new companies use AntDesign, and having someone that knows how to work with it will sure give you a leg up when looking for new prospects.

Hard Work Pays Off

We are off to a great start, all the backbone of the app has been created and some great starting features. Which I will list below. This is a great start to build upon for the future and will soon be able to go to market.

Features:

  • Users with different Roles have access to different parts of the app via Role Authorization.
  • Administrators can CRUD Programs, Courses, and Modules
  • Teachers can Crud Courses and Modules
  • Students can view Modules
  • Side Menu Bar folds to Hamburger Menu when in Mobile size screens
  • The entire App is reactive to screen size

Future Reaches

For the future we want several things to happen. We would like to add native video, so students, teachers, and administrators do not have to use alternate software to connect. We also want to add discussion boards for students, so they can discuss their homework and give feedback to each other so that they may grow. We want a way for students to connect to each other as well, so a slack like chat room is something we would like to incorporate for future releases, as well as a way for students to download either a pdf format or cache the website so they can see their courses off-line. We want to add a way to show progress for students, and maybe gamify the progress as well to make it fun and interactive.

The challenge we may end up running into is that our data load may become too big for areas with low resources. I'm afraid that by wanting to make our app more complex to accommodate everything we will miss the goal of the app entirely. To allow low resource areas, in developing countries to have a Learning Manage System that works for them.

This project really allowed me to take inventory of my knowledge when it comes to coding, how much room I really have to improve, and how much more I have to learn. It also taught me to be humble, and not let frustration and self-deprecation get in the way of a job well done no matter how small. Watching my colleagues write code at double the speed that I was capable of, have them make huge parts of the project at a moment's notice, and the vast amount of knowledge that they possess really put things into perspective.

As I was talking to one of my colleagues about how inferior I was feeling because I was only working on these small sections of the product he paused for a second and said, “Those things are very important, they are what ties the consumer to the app, its what they see, if that wasn’t done someone else would have to do it, or our app would not look as well as it does”. Now I know that isn’t some amazing quote, but I reflected upon what he said. In the workplace and even in life we all start with nothing, no knowledge and we slowly learn, the more reps we get in the easier it becomes. Every piece of code or job that you do is important. That is a lesson that I will carry to my future career.

--

--