Oscar Nava Trujillo

What do you want to know?

About me

Long ago I thought of myself as a Delphi programmer, then I described myself as a PHP programmer, but today I just assume myself as a problem solver, who incidentally knows how to program.

The programming language becomes irrelevant because I've found out that I can learn the basics of a programming language in a week, and be fluent in two. I've used BASIC, COBOL, Fortran, Pascal/Delphi, PHP, Javascript, CoffeeScript, Python, Scala, Kotlin, C++, Ruby,... even did some small projects in Z80, 6502 and 8086 assembler.

How long does it take me to be an expert? All my life! I never cease to learn!




Michoacán's Electoral Statistical
Information System

Michoacán's Electoral Statistical Information System screen capture

This system was born as a Windows Desktop program (along with its sister project, the Statistical History of the Elections in Michoacán) and later exported as a web application.

It allows the visitor, through a friendly interface, to consult the results of the local elections for a given period, being able to filter by type of election and geographic location. The system displays results in numerical form, but you can also represent them in a graph or cartographic form.

Built using:

  • PHP + MySQL on the backend.
  • HTML + CSS + CoffeeScript (Javascript) + Dojo toolkit for the frontend.
  • And coffee. ☕

Mindcatcher Android App

Mindcatcher is an Android app created to aid the users in their meditation practice. Some of its features are:

  • Designed to work offline.
  • Text contents are updated periodically from a server when a connection is available.
  • Audio contents can be downloaded on demand.
  • Features a meditation timer that aids in the sitting practice.

  • Keeps a record of the sittings employing a calendar and a tree-like representation.
  • The CMS is based on Joomla since the client already had this setup and this avoided duplication.
  • I built an API to interface with Joomla and request the contents from the server.

Built using:
  • Kotlin for Android for the device App.
  • Joomla for the CMS.
  • API programmed with PHP to interface with Joomla.
  • And more coffee. ☕

Battleship Board Game

Battleship board game

An online version of the Battleship board game in which you can play against the computer. The game AI algorithm is based on this article.

The game features vector sprites and even sounds.

Built using:

  • Javascript + webpack.
  • HTML Canvas to draw the board.
  • Tons of coffee... ☕

Events calendar

Events calendar

This project consists of an app to publish a calendar of events to follow in my hometown, Morelia, in the state of Michoacán, México.

The events are listed by date, and if the user signs/logs in, the system will keep record of the events added to the user's schedule, and the user will be able to rate the event.

Built using:

  • Ruby + Rails API at the backend.
  • Javascript + React + Redux at the frontend.
  • ...and, of course, coffee. ☕

Pyrography catalog


This project aims to be a prototype of a virtual showroom for the art of the Mexican pyrographer Arturo Nava.

Built using:

  • HTML.
  • SASS.
  • ☕.