Gabriel Aumala

Software developer

Currently

Independent Software Development Consultant

Provided full-stack development for local businesses, building systems to solve operational challenges.

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.