Ricardo Lopes

Hacker, tech enthusiast, learner, judo black belt and occasional blogger

Personal blog About me Curriculum Portfolio

Curriculum

Professional experience

Platform developer at Uphold

  • Developing the API used by the official webapp and third-party clients
  • Docker
  • Javascript
  • Node.js
  • PostgreSQL
  • Redis
  • RESTful APIs
  • SQL

Ruby developer at FutureLearn

  • Helped the product grow from 600k users to 2.5M in a year
  • Built AWS instances with Chef scripts (tested with Serverspec) and assigned them to load balancers to quickly scale the infrastructure
  • Greatly improved the performance of many pages by optimising DB queries
  • Collaborated closely with the marketing team to deliver tracking pixels, Facebook login, SEO improvements, A/B tests, etc.
  • Worked in cross-functional teams in an agile environment with fast feedback cycles, regular retros, pair programming, TDD and CI
  • Mentored other developers and participated in regular learning workshops
  • AWS
  • Chef
  • HAML
  • Javascript
  • MySQL
  • Redis
  • RESTful APIs
  • Ruby
  • Ruby on Rails
  • SASS
  • SQL

Analyst developer at Voxbone

  • Worked on the product’s API, batches and website
  • Launched new modules of the new API (v3), both in REST and SOAP
  • Played a key role in refactoring an extremely problematic legacy codebase by migrating old code and setting up proper unit and integration tests
  • Worked in an agile environment, following Scrum, Kanban and TDD
  • CSS
  • HTML
  • Java
  • Javascript
  • JSF
  • MySQL
  • RESTful APIs
  • SOAP APIs
  • Spring
  • SQL

Software developer at Valipat

  • Created Ruby gems and Git hooks interacting with RESTful APIs (Gitlab and Redmine) to improve internal development tools
  • Collaborated with different business teams to improve their products
  • Participated in the major refactor of a problematic legacy monolithic Rails app
  • CSS
  • Docker
  • HTML
  • Javascript
  • MySQL
  • Packer
  • RESTful APIs
  • Ruby
  • Ruby on Rails
  • SQL
  • Vagrant

Intern developer at Shuffler.fm

  • Built applications for Spotify, Deezer and Sonos, using their APIs
  • Interacted with RESTful and SOAP APIs (e.g. Facebook, Last.fm, etc.)
  • Designed and launched the new RESTful API, its documentation and demo project
  • Deployed to AWS and solved issues on the servers
  • AWS
  • Backbone.js
  • Coffeescript
  • CSS
  • HTML
  • MySQL
  • Python
  • RESTful APIs
  • Ruby
  • Ruby on Rails
  • SOAP APIs
  • SQL

Grant holder at Pedro Nunes Institute

  • Improved the information systems of the R&D institute and its startups incubator
  • Collaborated with different R&D departments to work from requirements elicitation to deployment
  • Apache Struts
  • CSS
  • HTML
  • Java
  • Javascript
  • JSTL
  • MySQL
  • SQL

Education

Computer Science Master's degree

Computer Science Master's degree graded "Excellent" (18 out of 20).

Thesis research in the fields of Information Systems and Semantic Web, graded "Excellent" (19 out of 20). Open sourced its ontology and editor.

MOOCs

  • Game Theory (Stanford University). Grade: 86.0%
  • Gamification (University of Pennsylvania). Grade: 92.3%
  • Human-Computer Interaction (Standford University). Grade: 88.3%
  • Big Data for Better Performance (Open2Study). Grade: 85%
  • Concepts in Games Development (Swinburne University of Technology). Grade: 80%
  • R Programming (Johns Hopkins University). Grade: 95.0% with distinction
  • Big Data: Measuring and Predicting Human Behaviour (The University of Warwick). Grade: Fully participated

Publications

Service Systems: Concepts, Modeling, and Programming

J. Cardoso, R. Lopes and G. Poels, "Service Systems: Concepts, Modeling, and Programming". Link to the book's sales page.

inTime: A Crowd-sourced Approach to Urban Mobility Through Time Predictions

R. Chicória, R. Lopes, J. Claro, J. Duro and C. Bento, "inTime: A Crowd-sourced Approach to Urban Mobility Through Time Predictions". Link to conference proceedings (paper in pages 68-72).

Volunteer work

Promundo official website

Designed and developed from scratch the website for Promundo, an associatino for social causes focused on education and international cooperation.

International volunteer in Krakow, Poland

Worked for 6 weeks with children from pathological families and orphans, taught them English and elaborated workshops and cultural presentations.

Portfolio

My personal website and blog

The website you're visiting, at ricardolopes.net, and its blog.

After a bad experience with Wordpress, I've decided to redo my website and blog from scratch using Jekyll. This gives me more control over the project, and no longer depends on a database.

Link to source code

  • HTML
  • Jekyll
  • Ruby
  • SASS

LSS-USDL Editor

As part of my Master's thesis, I've created an RDF ontology called LSS-USDL, to map service systems.

This editor was created as part of that work, so that mapping those systems could be done not only by editing RDF code, but also using a graphical tool.

This ontology and editor and the rest of the research done for my thesis later resulted in the publication of a book.

Link to source code

  • CSS
  • HTML
  • Javascript
  • PostgreSQL
  • RDF
  • Ruby
  • Ruby on Rails

OND?

A webapp for browsing points of interest (POI) of Portuguese cities that collects data from different sources and uses crowdsourcing to improve its catalogue.

This webapp was developed in the scope of a programming challenge for the platform One.Stop.Transport.

Designed the webapp and worked in frontend and backend. Also developed crawling scripts to fetch information from data sources.

Link to source code

  • Coffeescript
  • CSS
  • HTML
  • RESTful APIs
  • Ruby
  • Ruby on Rails

Narcis

A demo webapp that serves as an example for developers to use the Shuffler.fm API v2.

Worked mainly in the backend's interaction with the API.

Link to source code

  • CSS
  • HTML
  • RESTful APIs
  • Ruby
  • Sinatra

Promundo

The official website of Promundo, a Portuguese association for social causes focused on education and international cooperation.

This website was fully developed as an unpaid voluntary work for Promundo.

Did the full website development (including theme) by scratch with some collaborations from other Promundo volunteers.

  • CSS
  • HTML
  • Javascript
  • PHP
  • Wordpress

Facebook Decrapifier

The result of a 48h hackathlon. A Google Chrome extension to hide uninteresting posts in your Facebook news feed and also to protect against some Facebook jacking attempts.

Worked mainly in the frontend, interaction with Facebook and in the video for the presentation.

  • CSS
  • HTML
  • Javascript

inTime

Android app with a web-based administration that uses the power of crowdsourcing and machine learning to learn the actual schedules of public transports.

This later resulted in the publication of a research paper.

Worked in web-based administration, Android app and machine learning algorithms.

Link to source code

  • Android
  • CSS
  • HTML
  • Java
  • Javascript
  • PostgreSQL
  • RESTful APIs
  • Ruby
  • Ruby on Rails

klinkr

Online service based on user-submited photos of traveling destinations that uses embedded GPS metadata to locate them and build a catalogue of interesting places to travel to.

Worked in webapp frontend and backend following a user-centered design approach.

Link to source code

  • CSS
  • HTML
  • Javascript
  • PostgreSQL
  • RESTful APIs
  • Ruby
  • Ruby on Rails

ShowsRDF

News website for movies and TV shows based on Semantic Web technologies. It crawls movies and TV shows metadata and news and builds semantic graphs between them for smarter searches and suggestions.

Designed the website, built the RDF ontology and worked in frontend and backend.

Link to source code

  • CSS
  • HTML
  • PostgreSQL
  • RDF
  • RESTful APIs
  • Ruby
  • Ruby on Rails
  • SPARQL

Incident Management System

Web-based Incident Management System (from ITIL) that can be automatically built based on an existing database schema (SQL file) and BPMN file.

Developed the database schema parser and converter to running webapp and worked in the webapp frontend and backend.

Link to source code

  • HTML
  • PostgreSQL
  • Ruby
  • Ruby on Rails
  • SQL
  • XML

OpenGL First Person Shooter for Linux

A First Person Shooter for Linux using OpenGL featuring interactive scenario elements such as targets that can be knocked down, glass that can be broken and dynamic lights.

Did a bit of everything.

Link to source code

  • C++
  • OpenGL