CPF Market

CPF Market is a commercial real state financing web application.

It allows borrowers to present their financing projects. It also allows lenders search for financing opportunities.

Design of ui and ux

The design for CPF Market had to be sober. We went with a study of cool colors and serif fonts. We collaborated with CPF Market's team to arrive to a functional solution for their users.


We created this app in Ruby on Rails.

We integrated with Stripe which allows users to pay with a credit card. We also implemented promotional codes which is agregated directly to the data bases.

Moreover, we implented Active Admin which is a Ruby on Rails framework that creates the app administration with a clean and easy to use interface.

The development team was conformed by 1 engineer working full time.

def code_used?
  errors.add(:code, "Code used") if used

def find_promotional_code(params)
  PromotionalCode.find_by(code: params[:code])
require 'rails_helper'

RSpec.describe PromotionalCode, :type => :model do
  describe '.promotional_code' do
    promotional_code = FactoryGirl.create(:promotional_code)

    context 'code used' do
      result = promotional_code.used?
      it { expect(result).to be(false) }
def payment_with_promotional_code
  if find_promotional_code
    find_promotional_code.update_attributes(used: true) if current_user.set_payment
    redirect_to  properties_path
  elsif find_promotional_code.nil?
    redirect_to new_property_path, alert: "Please make sure you have a valid code"
    redirect_to new_property_path, alert: "Please make sure you have a valid code"
require 'rails_helper'

RSpec.describe ChargesController, :type => :controller do

  describe "payment with promotional code" do
    promotional_code = FactoryGirl.create(:promotional_code)

    context "promotional code valid" do
      result = promotional_code.find_promotional_code(code: "M18A")
      it { expect(result).not_to be_nil } 
      it { expect {promotional_code.update(used: true)}}

    context "promotional code not valid" do
      result = promotional_code.find_promotional_code(code: "H75")
      it { result.should be_nil }

    context "promotional code nil" do
      it { expect(promotional_code.code).not_to be_empty }

Don't take our word for it.

We run CPF Market through Code Climate, and this third party app rates our code and gives us recommendations in how to improve it.

Our Process


We have weekly calls where we discuss progress. We use Skype, Google Hangouts or GotoMeeting.

We agreed on a day and time that worked for everyone.


In the beginning we send a timeline specifying the planning and tasks for that week.

These tasks are the same cards we have planned in Trello.


We translate all requirements into stories in Trello Cards.

Trello is the place to add any specification, ask questions or comments to the team.


Once the tasks are done they go through a testing process and we pass them for your approval.

Every week we will pass cards onto the client list for you to give us feedback.

Quality Assurance

Once the functionality is completed one of our functional testers will try to break the feature.

We either move it to Needs Improvement or pass it to you for feedback.


We need the support from you to review the cards and Approve them or tell us how to improve it.

This is key to meet goals and being on time in the development of the application.