My name is Martí and I make web sites

My Skills

HTML

Over the years my knowledge of HTML has progressed from XHTML and HTML 4.0 through to HTML 5.

Always exploring the new features, APIs and tricks to explore and use to make the most out of the web.

The new features of HTML5 which I'm more excited about include WebSockets, LocalStorage or AppCache.

CSS

It's an exciting time to play with CSS, nowadays we can easily accomplish things that yesterday required enourmous amounts of JavaScript to work, the gradual replacement of layout images in favor of pure CSS techniques is one of the key goals of the front-end developers.

One of my favorite features of the new CSS is playing with the 3D effects and perspective and the :before and :after pseudoelements

The possibilities extend even further when using CSS preprocess tools such as Sass or Less

JavaScript

JavaScript have one of the busiest communities when it comes to building libraries, plugins and extensions so it can be hard to keep up with all the new advancements but this is a list of some of the libraries I worked with over the years:

  • jQuery (core, UI, Mobile, and many plugins)
  • MooTools
  • Backbone.js
  • Underscore.js
  • YUI
  • Socket.io
  • d3.js
  • Meteor
  • Polymer

PHP

Whilst PHP has been always my 'weapon of choice' over the years, of course it's not the only language I used, particulary since I'm a great advocate of 'choose the right tool for the job', I would say however that it's the back-end language that I'm most comfortable with.

Of course nowadays you can't do much with plain PHP, frameworks are a mandatory tool. Many of these frameworks have adopted the MVC pattern which I’m extremely used to working with, and applying to best effect for each given project. Here are some of the PHP Frameworks I worked with:

  • CodeIgniter
  • Zend Framework
  • Laravel
  • FuzzyRecord
  • Doctrine ORM
  • Other custom frameworks

Database

Having a strong knowledge of DBMSs is crucial as a the back-end developer. Particularly in having an abstract knowledge of how Relational Models work and what rules are for a healthy Database Model, after that, the rest is getting to know different syntax and software, the ones that I worked with are:

  • MySQL
  • Oracle
  • MSSQL
  • MongoDB

Responsive Design

Mobile browsing has grown exponentially on the last months, what began as a trend has become a necessity and nowadays I try to build responsive and/or fluid websites that can have different layouts depending on the type of screen is viewed on.

This is particularly important now as screens have diversified so much - no longer just mobile or desktop - mobile and tablet screens vary widely and modern layouts need to be able to adapt to any screen size whatsoever.

To accomplish this I utilise CSS grid frameworks and media-queries to achieve a highly flexible layout

Server Administration

Knowing how to handle, provision and manage servers it's a very important skill on web development, for this reason I try to stay up to date to the most efficient way to handle this processes.

Using Composer is one of the best ways to handle external libraries and dependencies of your project.

Other tools like Vagrant or Puppet can be very handy too, especially if you have to handle and provision several instances or servers at the same time.

User Experience / User Interface

Good user interface has become a major area of consideration in my work. Being able to affect the concept of a website before and after the wireframes and design its crucial to building an interface that is both comfortable and engaging to the user.

I feel that the every layout decision when it comes to designing a website needs to have a functional consideration to it, not just an artistic one.

Its for this reason I enjoy meeting and discussing with designers the best approach to a given design decisions and the technical limitations that might interfere.

Latest Work

Bestival Buzz Tracker

Build with the d3.js library - each band was represented as a circle or bubble. The radius of its bubble was tied with the ‘buzz score’ of the band which varied depending on how much people were talking about that band on twitter. There were also different filters you could apply to the bubbles to change the point of gravity and separate them depending on the genre of music, the top 5 bands or even transform the bubbles into points of a dynamic chart. By doing this you could compare factors like tweets, mentions, followers or hashtags, all of these updating with real time tweets.

Latest Experiments

RecMe (Recommend me places)

It's an application build with Meteor and created when I first got to London, so that people could recommend me interesting places to go, eat, or see etc.

It was also a perfect time to see how fast rapid development can be using Meteor - indeed the whole application was finished in one afternon and used only 194 lines of Javascript for both the front end and the back end. Though to be fair Meteor is so cool I didn't event need a single line on the backend for it to work!

Checkout the code in Github!

Drop me a line!




You can find the source code of this page here