In November of 2015, Royal Bank of Canada (Canada's largest bank) and their Wealth Management Division (One of the world's top 10 wealth management firms) held a software and business development competition called The Next Great Innovator Challenge. My team and I set out to make a secure communication tool to help connect clients to their personal advisors to take advantage of the increasingly text savvy demographic.
We solved a problem of offering round-the clock response times using an innovative feature called HandOff.
Our prototype took the Grand Prize at the event beating out 28 other development teams. My role for the project was conceptualizing the idea, developing the UI, handling front end communication, and working on server communications with a partner.
The team from left to right: Ryan Spring, Peter Wilson, Karim Hamasni, Matt Peskett, Mehrdad Arabpour
Expense management and budgeting is key to financial success. Royal Bank of Canada (Canada's largest bank) ran a coding competition/hackathon to find the next big thing in mobile banking. With balance, a user can quickly sort their expenses with simple swipe gestures that make the process easy and fun. Categorized expenses can be split between personal and business expenses and reports are then generated to show spending break downs as well as progress towards goals.
The largest and most popular expense management app, with over 15 million users, can be too cumbersome when categorizing expenses, and often it categorizes expenses incorrectly when it tries to guess. Balance solves those pain points with an intuitive, easy to use UI to make expense management easier and more accurate.
This was my entry in the 2015 RBC Make It Mobile Hackathon that took place in Toronto. Working with Android Studio, my partner and I developed the application from concepts on paper to a working prototype. When presented in front of the judges, our app took the top prize beating out 17 other teams.
Royal Bank of Canada has expressed interest in helping to continuously develop this app and having it launch as a value add to their millions of customers.
Here are some quotes from the judges:
"Very clean UX that is ubiquitous with mobile today." - Len Covello - CTO at Engage People Inc.
"Good use of gestures. Solid thinking and presentation." - Esteban Contreras - Director of Digital at Sprinklr
"Solves one of the very real challenges with current digital money management solutions...categorization. Great looking UI. Like the inspiration from email management to solve a financial services problem." - Stephen Schroth - Vice President, Head of Digital Channels at RBC
"Loved this simple elegant use of swiping to categorize." - Darren Murata - Founder and Creative Director at Comrade
"UX and intuitive nature is really great. The swipe gestures are great." - Melody Adhami - President and COO of Plastic Mobile
Instagram Companion App
Instagram, with over 400 million users, and 80 million posted photos daily, has one of the largest internet audiences of any digital medium. A major problem for users with many followers is their inability to monetize their audience. Many of the most popular Instagram posters provide fashion inspiration to their followers, however their fans are left on their own to find the products that inspired them. GetThat is an Instagram companion app that connects the Instagram follower to the products found in a post so they can easily purchase them.
I created this original idea for the MasterCard sponsored Masters of Code Hackathon that took place in Montreal in September of 2015. I captained a team of 3 other developers, and a business analyst to develop a proof of concept application from scratch in 24 hours. After a tireless night, and countless coffees, our application landed us in 3rd place overall on the only Canadian stop of this Global hackathon.
The application was written for Android using Android Studio. The primarily language for Android is Java with layouts done in XML. This application features the use of JSON returning API calls for product searches, as well as Instagram's Android Intents for posting to their social network. We included use of the hardware camera, as well as Bluetooth for use with the NYMI echocardiogram authenticating wristband.
This application is currently still in development and we hope to launch into the Android Play Store sometime in early 2016 with an iOS version to follow shortly.
Market Lag Trading
This project was developed for a course on Machine Learning for the topic of Genetic Programming specifically. I set out to create an application that measures real time differences between numerous markets and makes buy or sell actions of the commodity Bitcoin accordingly.
Bitcoin is a very interesting security because it is traded on various markets spanning all corners of the world. Similar to Gold, Silver, and other precious metals, traders of Bitcoin are essentially trading the same thing in real time on various different markets. When the price spikes, or drops in one market, other markets react in generally the same direction. The time between when a market moving action occurs in one market, and the reaction in another, provides a trading opportunity which BitcoinTrader capitalizes on. What makes Bitcoin unique is the relatively long 'lag time' compared to that of precious metals as there is far less liquidity in the Bitcoin markets.
Using real time API data from the four largest Bitcoin markets, I was able to track relative variance between markets over a certain period of time. The challenge lay in determining which of the four major markets can be considered the most influential over the movement of the other markets. This is where the power of Genetic Programming was used. Employing various functions, such as variance, volume, MACD, and other trading stats, a Genetic Programming algorithm would attempt to write a program that maximizes the return on historic data. When successful, the program was effective at determining which market holds the most influence, and performs trades on other markets based on its movement. Every so often, to prevent the program written by GP from going stale, the program would re-execute the algorithm so it works with more recent data.
The results were promising, providing steady returns on paper (moneyless) trades. Despite positive returns, there are still many aspects of the algorithm that require further testing. Paper trading, although useful to show that the system can work, is not a good indicator of real world performance. Actively making trades on a market influences the price in ways that paper trading cannot account for. The provided free web API's by the markets have limited data refresh rates, and paid for telnet API connections would prove to be much more effective. Also, most markets have trading fees that can greatly impact returns if the algorithm decides to execute many trades. This project is still in development as I study the economics of the Bitcoin markets further and work with more reliable APIs.
One of the biggest problems facing restaurants, hair salons, and other reservation based businesses is the problem of no show customers. A restaurant with 10 tables loses a significant portion of their nightly revenue if only 1 table decides to not show up to their confirmed booking.
In the world of entertainment, the ticket holder is on the hook for making the event, otherwise they stand to lose financially. An evening out at a fine restaurant with a rockstar Chef is a form of Entertainment, so why does the venue stand to lose if a patron doesn't show up? BookEase is a restaurant reservation app that provides incentive to the customer to make their appointment by requiring an upfront deposit on bookings. Customers in return gain access to hot tables at busy restaurants, and discounts on their meals or service.
The app was developed in native Android Studio for the MasterCard sponsored N>XT Hackathon that took place in October of 2014. I was the team captain of a team that consisted of three other developers and myself. We developed a proof of concept application that we did a live demo of on stage in the final round. We placed 5th overall and were the highest placing all student team.
Artificial Intelligent Chess
using Game Trees with Alpha-Beta Pruning
For a final project in a course on Artificial Intelligence, I wrote the game engine for Artificial Intelligence powered Chess. The AI consisted of a scoring system that would rank moves based on a number of metrics and construct a game tree.
Since there are a very large amount of possible chess moves at every step of the way through a game, it's unreasonable for a chess engine to perform the scoring calculations for every single move. An effective way to drastically reduce processing time is the effective use of Alpha-Beta pruning, where the engine will 'cut' branches of the tree for moves that do not progress the game in any meaningful way. Speeding up the game engine would allow the system to "look ahead" further in the game, with each look ahead move creating a new layer of the tree. The power of a game's ability to look ahead is measured in 'Ply's' and this project was able to achieve 7-ply within a reasonable amount of time.
This project was written in C# using Visual Studio as the IDE.
Paris for you Luxury Tours
A close family friend had been operating his automotive repair business since 1993 but had zero online presence. I set out to help him by creating his website and getting him listed onto Google and various social media sites. This site features JQuery carousel image sliders and eased page scrolling on menu selections.
Hi, I'm Karim Hamasni, a passionate
I code in a variety of languages spanning desktop, web and mobile. I'm also an ideas guy that has seen great success in development hackathons and programming competitions that bring my ideas to life. Topics of interest include Mobile Development, UI/UX Design, Data Structures, Algorithms and Artificial Intelligence.
A quick learning, highly adaptive software developer.
Microsoft Office Suite
Sep 2014 - Jan 2015
Teaching Assistant / Marker
Brock University Computer Science Department
I was responsible for grading assignments, projects and final exams. I maintained close communications with the course instructor to satisfy their expectations.
Sep 2014 - Jan 2015
Student Help Desk Support
Brock University Computer Science Department
I helped students with Computer Science related material by supervising a drop in centre on campus. This required me to have a wide variety of knowledge across many Computer Science subjects.
May 2012 - Sep 2012
Software Developer Co-op
Ontario Power Generation Pickering Nuclear
I was on a development team tasked with upgrading the company Learning Management System (LMS) from legacy Visual Basic technology to modern C# based technologies.
Nov 2010 - Jan 2015
Client Relations and Marketing VP
Universal Wireless Communications
I consulted clients on managing communications related expenses in their organizations, while developing and maintaining the web and marketing strategy for the company.
Sep 2007 - Sep 2009
Xerox - Advanced Office Solutions
I did sales and client relations for clients of Xerox technologies, including software and hardware printing solutions.
Graduated Jul 2015
H.BSc Computer Science with a concentration in Software Engineering
Average: 89% (3.94 GPA) Achievements: Dean's Honour List (All Semesters of Study), Returning Scholar Award (Year 3), Member of the Golden Key International Honour Society, Graduated First Class Standings
Graduated Dec 2013
Computer Programmer Analyst Co-op
Niagara College Canada
Average: 92% Achievements: President's Honour Roll (All Semesters of Study), Niagara Scholar Award