Home

The Vault

This is a place where I share a miniscule amount of the past work that I’ve done — specifically ones I still have records/memory. Some of them are commercial work, some are academic, some are simply experimental work; most of it did not succeed but was a good first attempt.

Finances

SwiftUI, CoreData, App Design, finances

Made an app to track my personal finances with an iOS 14+ widget that tells you how you are doing at the current day. I was motivated to diverge some of my energy for building apps into a side-project while I was under evaluation for an iOS Developer position. This project was made entirely into SwiftUI and allowed me to better understand its API and how to be productive when using it.

Finances Poster

The biggest challenge of this project was learning both SwiftUI and CoreData at the same time I was designing an app. Though this proved to be a short-lived issue as the process quickly picked up speed.

The biggest reward is that, upon attaining a position as an iOS developer, I was productively improving the app while making choices between using UIKit or SwiftUI.

Angle Sketch plugin

Javascript, Sketch, plugin, Cocoa, CoreImage, Mocha

Made a Sketch Plugin that allowed people to do perspective-shift on a Sketch artboard with 1-click. The client needed an end-to-end solution for our mockup library that did not demand users to pay extra for a plugin to make them work. Alas, we had to build our own solution using the technologies available on macOS through the Mocha API exposed by Sketch.

Biggest challenge was that the Mocha API and Sketch tools are not very forgiving of typos and do not provide all the API discoverability that Xcode provides, for example. Unable to build the module using Swift (due to ABI instability at the time) or Objective-C due to my failure to find a suitable setup, I directed myself towards building it using Javascript, CoreImage, and unofficial header dumps from Sketch.

Biggest reward was that it worked. Not only did it work but it was almost flawless. It got the correct orientation for the mockup on the screen frequently at first-try, it was blazing-fast, it had previews of the artboards on the selection modal. Finally, I made a course explaining how I developed it — this offered me an opportunity to revisit my work and improve on the syntax and implementation.

Angle for Sketch

Angle from the Start

Design+Code serverless infrastructure

Javascript, Serverless architecture, React, Stripe payments, Localization, Contentful, GatsbyJS, Netlify

Spearheaded the transition from our backend driven content authoring platform to a serverless architecture that separated out some concerns that were not core to the business. As fundamentally a content creator’s company, our job was to create courses and publish them efficiently and with flexibility. By using a third-party content management system with clear API separation we could move faster by focusing our engineering efforts in payments and reliability.

Biggest challenge was learning React in less than 2 months to start building and training people to build the new version of the website with me. This was also the first time I dealt with external web APIs, which was quite challenging.

Biggest reward was that trying the new technology yielded a new course for our platform and made me a more confident web-developer. Not only that but I’ve become more certain of my capacity to overcome insurmountable obstacles.

Design+Code

Routines

WatchKit, CloudKit, Apple Watch, Fitness, App Design, wearables

When I was able to attain some work/life balance I decided to dedicated myself to working out on a daily basis. To achieve that I bought an Apple Watch and decided to make an app that would help me keep my routines in my watch for when I was working out. I also wanted to build an app that allowed my trainer could build the workouts for me and share them seamlessly using either messages or e-mail.

Biggest challenge of this project was using Watch Connectivity. For someone with low experience building a whole app, this framework made it significantly harder to synchronize information input from the device. After a couple of iterations, though, I was able to arrive at a working prototype.

Biggest reward of this project was being able to see the improvement in watchOS frameworks as this project was written both in WatchKit and years later in SwiftUI. Specifically learning how to display timely information in a minuscule screen was a great lesson.

Word of the Day

Cocoa, UIKit, App Design

Inspired by the Merriam-Webster podcast, I decided to build a word-game for iOS that would make the user guess the word of the day each day before allowing them to listen to the podcast while reading the definition.

Biggest challenge was working on it while maintaining a full-time job and attending full-time college. Technically speaking, recreating some iOS keyboard layout was also difficult.

Biggest reward was being able to build something on my own that I was interested in using. Till this day I listen to Word of the Day every single day.

Car Dashboard

Framer, Javascript, CoffeeScript, Prototyping, Car, Firebase

Made dashboard prototypes for a yet-to-be-made car dashboard using Framer (the prototyping tool) back when it was primarily CoffeeScript. Due to request by the client I rebuilt a very large number of UI behaviors using CoffeeScript. Due to NDAs, I cannot disclose more information about the project or the client.

Biggest challenge was the size of the project, which was quite large for a prototype. The client demanded that it worked as if it was an actual car dashboard using an iPad mini, it even played music and persisted user-settings.

Biggest reward was that I was able to create a whole app architecture from it and learn a lot about how to grow a project while navigating technical constraints.

Sisyphus

Cocoa, GameplayKit, Swift, SpriteKit, Game Design, Game Controller

With help from colleagues, made a prototype of a game in which a player would have to control an insect in an insectarium. This insect would then reincarnate and relive in that same environment with the consequences of its actions in the sandbox.

Biggest challenge was to learn game design and game development at the same time. This project was made during my stay at Colombia in Universidad de los Andes and, at the time, I did not know how much challenge to invite at a time. The project failed but learnings permeated my career and allowed me to mentor colleagues in their 2D-gaming journey further along.

Biggest reward of the project was being able to measure how much failure I could withstand and learning to cut my losses when an idea is not working as intended. In future opportunities I was able to course correct early to achieve deliverable results and attain consistent progress throughout projects.

Ambience

UIKit, Cocoa, Accessibility, Dark Mode, reading

At this time I was always getting my foot in the water with Ambience. For more information about the project, you can visit the repository webpage. Though the project started in 2015, it would only be technically feasible for me in 2018.

Ambience blog post

Ambience on GitHub

Lines

XML parsing, RSS reader, App Design, Cocoa, UIKit

I was always an avid RSS reader, but I wanted to bring my passion to the next level by allowing me a way to learn that consumed less battery and worked both by day and night with maximum contrast. This project was the sibling of Ambience as it lived to show how to use its APIs.

Biggest challenge was figuring out how to do XML parsing for RSS from the ground up without simply copying someone-else’s implementation.

Biggest reward was being able to test some ideas and get a first interaction with repeating container views — namely UITableView.

Zen Metronome or Meditate

UIKit, Meditation, UI Animation

Following my short interaction with meditation, I decided to create an app that would help me meditate by playing bell chimes every some minutes. For this app, I experimented with creating custom controls with UI sounds.

Biggest challenge of this project was being able to get all the pieces together: sound, animation, time. In this app there is some constraint animation and some programmatic drawing animation with timely sound effects.

Biggest reward was being able to dive deep into Core Graphics and learn how the drawing APIs work and how to leverage them to make an app that looks an feels unique.

Chronological Index

2019

2018

2017

2016

2015

2014