RainyDays is a short-term lending system whose main goal is to provide a real alternative to the high costs, hidden fees, and predatory practices associated with most short-term lending sites. Ensuring that they will provide loans with no interest or fees of any kind for the first 5 days to make it free to borrow money when there's a short-term emergency.
Loan Process Process from a Rainy Day user's perspective:
- Visitors land to RainyDay and sign up using their Facebook account. Quick and easy.
- They put in their bank account information at sign up process to apply.
- They are told at some point that RainyDay uses Dwolla to transfer funds. If they have a Dwolla account, they can enter it and system will be able to get them their money more quickly. If not, no problem. The money will go to the bank account they entered.
- Most users don't have a Dwolla account and don't get one, and proceed with a normal ACH transaction.
- When they request a loan, RainyDay initiates a process using Dwolla or directly via ACH to take the money from RainyDay bank account and transfers it to their bank account.
- They can take advantage of their Facebook friends to get more benefits by sharing and recommending the site. People is connected therefore some applicant can be approved quicker than those who doesn't have any friend in the system
It is very common on this kind of large projects to start with an inception phase. During this initial phase, we collected most of the requirements as well as worked with our graphic designer to help the client to complete his ideas about user interfaces. After this phase we could reach a very good and detailed requirements document with all details and necessary wireframes to move forward to development phase.
We worked a few months on this phase based on all requirements we collected and continuously including improvements and optimizations. There was a team of 10 people working on the different features (developers, graphic designer, tester and project manager).
In the frontend, Facebook initiates the sign up but the user must apply by completing all personal and financial information. The system will use an external service to validate this person financial status to confirm or reject the application.
The backend, administrator panel, has been implemented from scratch. We added lots of good functionality to manage users and their loans. Also, for obvious reasons the site has different security levels with super and regular administrators. For example, a super administrator is able to ban people and block IPs if some suspected activity is detected. The system is always sending notification to all administrators so they can monitor website usage and activity all the time. In case of urgency, the system allow one super user (via proper email validations) to push down the entire system and transactions for an audit, they can resume directly form administrator panel as well.
The system of course allow administrators to do common tasks such activate/deactivate users, sign up new people and manage all payments and status of any transaction all the time. The system can directly execute ACH transfer, receive a PDS returns and notify status, then the admin user can monitor those transactions status to take any action with just a click. Dwolla is the external service to move money online. The admin is also able to process bulk transactions manually.
At the end of the development phase we worked on some optimization to speed up all pages and the backend panel.
CakePHP is the core framework and we also integrated Bootstrap to provide a responsive web design. It adapts the contents easily to be shown in tablets and smartphones. For most of the forms and data validation we implemented and integrated some goods jQuery plugins. The application has been configured in Amazon E2 cloud server (Linux, Apache, MySQL, PHP)
This system is connected to several APIs and Web Services. These connections play a an important role on the system workflow.
The Facebook API integration for visitor sign up through the HybridAuth component.
Dwolla API integration has been completed by implementing a component which provide all necessary functionality. Their website is https://www.dwolla.com/
EVS and CLARITY has been integrated to confirm personal information and financial validation of each applicant.
MAX MIND telephone validation has been integrated to automatically generate calls and text messages for the applicant. They must complete a code in their account as soon as they received it.