Usman Hameed

Ruby on Rails Developer

Professional summary

Final-year Computer Science student and Ruby on Rails developer with hands-on experience building role-based, multi-tenant web applications. Skilled in implementing authorization systems with Pundit and CanCanCan, background job processing with Sidekiq, and RESTful application design. Comfortable working across the full stack, from database modeling to live-search UI features, with a growing interest in blockchain-integrated systems.

Technical skills

Languages & Frameworks
Ruby, Ruby on Rails, JavaScript, HTML5, CSS3
Authorization & Access Control
Pundit, CanCanCan (roles, abilities, accessible_by, nested conditions)
Background Processing
Sidekiq (asynchronous email notifications)
Databases
PostgreSQL, MySQL, ActiveRecord (associations, nested attributes)
Other
RESTful API design, Git & GitHub, live search implementation, file/image upload validation, blockchain fundamentals

Projects

Blockchain-Integrated Donation System

Final Year Project – University of Gujrat

  • Designing and developing a donation platform integrated with blockchain technology to improve transparency and traceability of donations, as part of the BS final year project.

Bug Tracking System

Ruby on Rails, Pundit/CanCanCan, Sidekiq

  • Built a role-based bug tracking platform for Manager, Developer, and QA users with sign-up, login, and logout.
  • Modeled many-to-many relationships between users and projects using nested attributes, and one-to-many relationships between projects and bugs.
  • Implemented per-role authorization: managers create/edit/delete projects and manage team members; developers self-assign and resolve bugs; QA report bugs across all projects.
  • Added bug attributes including title, deadline, screenshot, type (feature/bug), and status, with conditional status options and project-wide unique titles.
  • Restricted screenshot uploads to .png/.gif formats and built a live-search project selector.
  • Integrated Sidekiq to send asynchronous email notifications for bug assignment and project updates.
  • Added search and filtering for bugs by project, status, and type.

TeamHub – Multi-Tenant Project Management System

Ruby on Rails, CanCanCan (learning project)

  • Designed a multi-tenant Jira/Trello-style system covering Companies, Users, Projects, Tasks, Comments, and Documents to deeply exercise CanCanCan's authorization features.
  • Implemented tiered abilities for Guest, Member, Manager, and Admin roles, including simple, nested, and deeply nested hash conditions.
  • Used accessible_by, load_and_authorize_resource, and authorize! across controllers, with custom AccessDenied handling and internationalized error messages.
  • Combined role-specific ability classes with CanCanCan's merge functionality and wrote RSpec ability specs covering every role.

Education

Bachelor of Science (Computer Science)

University of Gujrat (UOG)

Final Year Project: Blockchain-Integrated Donation System