Gabriel Aumala
Software developer
Currently
Independent Software Development Consultant
Provided full-stack development for local businesses, building systems to solve operational challenges.
- Full-Stack Development: Built secure, data-driven web applications using Clojure/Node.js backends with PostgreSQL, and React.js frontends.
- Android Solutions: Developed native Android applications in Kotlin to enhance client mobile workflows.
- DevOps & Deployment: Architected Linux-based deployment pipelines using systemd and Docker, ensuring high uptime and reliability.
- Domain Expertise: Implemented SRI (Ecuadorian Tax Authority) compliance for electronic tax voucher generation, signing, and encoding.
Technical Skills
Languages: Clojure, Kotlin, Java, JavaScript, Go, Haskell, SQL
Frameworks & Libraries: React, Node.js, Android SDK, Room, Coroutines, Tailwind
Systems & DevOps: Linux, Docker, systemd, PostgreSQL, MySQL, Redis, SQLite
Security & Protocols: Signal Protocol, XADES electronic signatures, AES/RSA encryption, TLS/HTTPS
Tools & Methods: Git, Gradle, Webpack, JUnit, Agile/Scrum, Code Review, MVI/MVVM Architecture
Languages
Español (Native)
English (Fluent)
日本語 (JLPT N3)
Interests
Web development, functional programming, open source and collaboration, electronics, Linguistics.
Education
2011 - 2018
Escuela Superior Politécnica del Litoral (ESPOL)
Ingeniería en Computación (Computer Science)
2005 - 2011
Colegio Americano de Guayaquil
IB Diploma
Projects
2017
Facturacion
Invoice software for small businesses using React.js, Node.js and SQLite3
2017
red-black-tree
“Red Black Tree” data structure implemented in Haskell
2019
mvi-android
Model View Intent for native android apps using architecture components
2021
OpenJisho
Offline-first Japanese dictionary Android app that lets users lookup words
and example sentences.
2024
SRI
A Clojure library to generate, digitally sign, and encode electronic tax
vouchers for Ecuador’s tax authority (SRI).
Open Source
2017
material-ui
Fixed a bug in which the Table component was not rendering properly in Firefox.
2017
eslint
Fixed a bug that made the program crash when initializing in a machine without npm.
2018
hakyll
Fixed a bug when parsing dates in file paths.
2021
knex
Allowed ‘match’ operator for SQLite queries.
2024
http-kit
Fixed a bug in which numbers were not encoded correctly in multipart entity requests.
2025
next-jdbc
Fixed a bug in which the database returned nil for FALSE values in boolean columns.
Publications
2019
G. Aumala, E. Boza, L. Aviles, G. Totoy and C. Abad, “Beyond Load Balancing:Package-Aware Scheduling for Serverless Platforms” in CCGrid2019
Occupation
2014 - 2018
Security Engineer Criptext
I started working as an Android app developer using Kotlin & Java, designing the
MVC app architecture.
In 2018 I mostly maintained the HTTP API that powers all of Criptext clients using
Node.js, Go and MariaDB. I designed all the endpoints that clients use to communicate
securely using the Signal Protocol.
I implemented the Signal Protocol in Criptext’s Android client using Open
Whisper System’s Java library.
I was also responsible for reviewing the code submitted by Android, Electron,
and backend developers, making sure that it remained maintainable and well tested.
2018 - 2020
Lead Android Developer Technisys
I developed banking apps for Android phones using my own implementation of the MVI architecture in Java. Most
of my time was spent writing code for the new mobile app of one of the biggest
banks in Argentina, but I also had to train the newer collaborators in the
Android team by reviewing their pull requests, writing articles and
giving talks.
2020 - 2021
Android Developer ITijuana
I developed Android apps and libraries to test more easily the next generation
OmniPod, an insulin management system that runs on
an Android device.
2021 - 2023
Android Developer Albert
I worked on the Albert Android app, which offers many features related to banking,
savings, and investing. My duties here were developing new features and bug fixes.