Melvin Ram

mr@melvinram.com

Hi, my name is Mel and I am a Ruby developer.

I stumbled upon Ruby on Rails in 2007 and my world would never be the same. Fully engaged by the expressiveness and common-sense approach to writing Ruby code, I set out on building my first experimental project on a weekend with the help of Agile Web Development with Rails, called BrainBank. I launched the following Monday and it gained a few paying customers. It didn’t garner enough paying customers to make it worth keep it alive but it set me up on a path to many future Rails projects.

Today, with 5 years of professional Rails development experience under my belt, I am a confident senior Ruby & Rails developer that likes hard problems. Using test-driven development & agile methodologies, I enjoy building applications that are useful, usable and maintainable. Below is a snapshot of my experience and skillset.

If you have questions, please feel free to email me directly at mr@melvinram.com or call me at 916-525-7532.

Skillset

Ruby, & Ruby on Rails 5 years

Git 3 years

Ruby Gems, & Rails Engine Dev. 2 years

MySQL, & PostgreSQL 5 Years

Javascript, jQuery, & Coffeescript 5 years

HTML & CSS 12 years

Rspec, Capybara, & Cucumber 2 Years

Memcached 2 Years

AWS Services 4 Years

WordPress & Basic PHP 5 Years

Heroku 5 Years

Capistrano 1 Year

Experience Highlights

PQSI Projects Private Customer Portal

  • Massive Data Importing & Exporting - CSV data importing and exporting using queuing systems and background workers. Importing involved performing various manipulations and calculations on the data before saving.
  • Authorization System – Implemented a custom authorization system with multiple levels of rules to customize who can see data and do tasks.
  • Charting – Presenting complex data in an easy to digest manner using Highcharts.
  • PDF Reporting – Generating PDF reports that look good and are “client ready”.
  • MemcacheD Caching – Cache content every 30 minutes since most pages require heavy processing to generate. Allow for manual refresh.
  • Live Searching & Sorting - AJAX-based live searching using Unobtrusive Javascript and jQuery.
  • Mailers - Automatic emails sent to clients and team members triggered by events and for daily reports.
  • Scalable Architecture - Allows for sudden spikes in usage by simply increasing “dyno count” inside Heroku. This is done through extensive use of queuing system and background workers as well as building the app in a module fashion.
  • REST API – Allow clients to integrate with the system using a simple REST based API.

WorkCheetah Job Search Website

  • Geo-Coding and Distance Lookups – Filter jobs by location. Geo-code objects (jobs & candidates) when they are created.
  • Authorization System – Using cancan to determine what a user has permissions for.
  • MemcacheD Caching – Cache search results and most pages.
  • Email Based Workflow – Emails are used to facilitate workflow in addition to being used as notifications.
  • Dynamic Forms via Javascript & jQuery – Allow users to create their resume, adding varying number of experiences, references, etc.
  • PostgreSQL Search Index – Fast searching across the various models that together composite a “resume” or a “job”.
  • Payments – Allow users to purchase upgrades by entering their credit card details. Payments processed via Stripe.
  • Video – Users can upload video introductions of themselves. Video is transcribed via Amazon Elastic Transcoder and added to their profile once it’s ready.
  • Articles – Using TinyMCE’s WYSIWYG, implemented a simple blogging system.
  • Scalable Architecture – Most processing occurs via background workers and the architecture allows for easy horizontal scaling.

SpreeInk Ecommerce Website

  • E-commerce – Use Stripe to purchase products.
  • Mailer – Keep distributors, administrators and customers informed about the status of products and purchases.
  • Advanced SQL Queries – Usage of joins and includes to minimize SQL queries done per request on the database.
  • jQuery & AJAX (using JSON) – Improve client side user experience using Javascript.
  • Queuing System / Delayed Job – Move long running tasks into background so the user performance is not affected.
  • Search Box Auto-Completion – Help user figure out what to search for based on minimal input into search box.
  • PostgreSQL Search Index – Create simplified search interface for cross model searching based on multiple attributes.
  • Twitter Bootstrap Customization – Setup and overriding of Twitter Bootstrap using HTML5/HAML and CSS3/SCSS to give the app a distinct UI.
  • CSV – Import & export data; export reports.
  • Multiple Image File Upload & Processing – Automate image importing into multiple products by selecting and uploading multiple images at once using jQuery File Upload.
  • Admin Section – Permission system to control access. Allow people to manage products, web content and other records they have permissions to manage.

YogiReview Consumer-Focused Review Website

  • Geo-Coding and Distance Lookups – Filter instructors & places by location. Geo-code objects when they are created.
  • Responsive Web Design CSS – Adjust website layout based on screen size.
  • Simple Full Text Search – Allow users to find instructors and places by name.
  • Ad Manager – Website owner is able to control the ads that show up at various parts of the site using an admin interface.
  • Dynamic Ratings - Allow users to review objects (instructors and places) using a dynamic rating system that is customizable via the admin screen. The ratings are processed in the background to allow experience on site to be fast.
  • User & Review Management - Admins are able to edit, suspend and delete users and reviews.

Society of Traders Membership Website

  • Subscriptions – Users can sign up for access to specialized content. Payment handled via Stripe. Billing happens automatically each month triggered by cron tasks on a daily basis.
  • User Management – Admin is able to manage users, offer one-to-one marketing to up-sell them and add/edit/suspend users on-demand.
  • Administration Section – Extensive admin section allows the site owners to customize almost every aspect of the public and private sections of the site.
  • Dynamic Content Creation Engine - Allow admins to define various content types, define attributes for the content types and allow users with lower permissions to create content using a form that is dynamic created based on the dynamic content type.
  • Simple Blog Engine - Create private (members only) and public articles to be posted that composes the home page of the site.