About Me
I am Andrés, a web developer and software engineer from Honduras
I focus mainly on back-end web development in Python and AWS. I am passionate about serverless solutions and Open Source Software.
Work Experience
System Surveyor API
A Python server-less API running on AWS Lambda that handles all user authentication across the system, using JWT (JSON Web Tokens). This API is a migration from an old legacy PHP codebase. The API also handles all authorization capabilities, and allows/forbids users of all possible actions within the system based on their roles (admins, team members, guest users, etc.).
System Surveyor SAML Auth
A SAML authentication flow to allow SSO (Single Sign-On) capabilities within System Surveyor and any supported Identity Providers. The project was very successful. This was a feature initially requested by customers. Some customers were using Microsoft Office 365, and wanted to be able to log-in to System Surveyor using the same authentication flow. We then added support for Microsoft Office 365 as an Identity Provider in our SAML authentication flow. Customers were very happy with this.
System Surveyor API Documentation Pipeline
An automated pipeline in Github Actions for deploying OpenAPI-compliant API documentation. This was used for our internal documentation of the System Surveyor Python API. The pipeline basically allowed writing documentation for API endpoints in YAML that was compliant with the OpenAPI specification. This YAML markup would then be transformed into Markdown and finally into HTML, which would then be used to build a static site to display the documentation. This automated pipeline was of huge help to the front-end and mobile team understand how available API endpoints behave on how to properly use them.
System Surveyor Element Profile Excel Importing/Exporting
An asynchronous flow for importing Element Profiles (lists of products associated with a particular device) through complex Excel sheets. End users could fill in huge Excel sheets and use them in an import process that would create Element Profiles for them to use in the application. The project was complex, since the API needed to coordinate and schedule the import/export jobs using message queues, as well as allow querying the status of scheduled jobs.
Objectives and Key Results (OKRs)
OKRs is a framework for defining and tracking business objectives and outcomes. 15Five's OKRs product allowed customers to track progress on desired goals. I was in charge of feature development in OKRs such as implementing a new permissions systems for allowing restricting readable/writable actions within a company's OKRs, and improved notifications when OKRs where created and progress was updated. I also worked on improving performance of the data querying and handling involved in the back-end.
Librarian
A collection of server-less book processing micro-services that processed more than 500K books (many in a concurrent fashion), extracting data such as full text (for storage for full text search), metadata, and pages as images. The project managed to process thousands of PDF books that were successfully processed so that an e-reader could display successfully them to users for consumption. Librarian is still active and working to this day.
eLibro Content Manager
A Java desktop application that was distributed to the content team that was in charge of curating PDF books. Once PDF books were curated, they were uploaded to the company's cloud and book storage using this application. Librarian would then detect these uploads to begin processing these books. Even though I am not really a Java developer, the outcome was very satisfactory. The content team was very pleased with the project and expressed a lot of kudos and thanks for the tool.
OCR Microservice
Initially a NodeJS micro-service that would scan pages of books as images to extract OCR (Optical Character Recognition) data using TesseractJS, such as coordinates in the page of all words, lines and paragraphs in a page. This would allow the e-reader to provide "text" highlighting capabilities for end users. Later this micro-service was re-written in Python and Google's tesseract-ocr library was used instead.
PDCM
A monitoring platform that monitored hundreds of devices in the premises. This platform was deployed for customers so that they could monitor their own data centers. The platform was powered by Zenoss 3, a monitoring solution written in Python. We developed on top of Zenoss to add even more monitoring capabilities such as monitoring of BMC power consumption and status of servers and other data using ipmitool. Additionally we added integration with OpenStack clouds. This allowed the monitoring platform to monitor the status of virtual machines and networks within an OpenStack cloud.
Education
🎓 Masters in Information Systems and Applications
National Tsing Hua University, Taiwan (2013-2015)🎓 BSc Computer Science
Universidad Tecnológica Centroamericana (UNITEC), Honduras (2008-2012)Open Source Contributions

serverless/serverless
⚡ Serverless Framework – Build web, mobile and IoT applications with serverless architectures using AWS Lambda, Azure Functions, Google CloudFunctions & more! –
- 1 Commits

timgrossmann/InstaPy
📷 Instagram Bot - Tool for automated Instagram interactions
- 4 Commits
- 62++
- 48--

openstack-dev/pbr
Python Build Reasonableness. Mirror of code maintained at opendev.org.
- 1 Commits
- 6++
- 3--
Certificates
- 🎖️ Level 3 TOCFL (Test of Chinese as a Foreign Language) Listening & Reading
- 🎖️ Level 3 TOCFL (Test of Chinese as a Foreign Language) Speaking
Languages
- Spanish (Native Speaker)
- English (Fluent)
- Mandarin Chinese (Advanced)
- Italian (Intermediate)