Lendino: auction feature

Context: case study at the University of Copenhagen for the Lendino crowd lending startup

Duration: January 2014 – May 2014

Contribution: main developer, working in collaboration with Esben Bistrup Halvorsen

Technology: Java

Lendino (https://www.lendino.dk) is an innovative crowdlending platform who posted this project as a case study for the software design and architecture course. They needed to implement an auction system for their platform. I wanted to take this project as it posed a nontrivial challenge. 

The auction consisted of a loan of a fixed size, an arbitrary granularity of possible interest rate values, and a sequence of bids of arbitrary sizes. Each bid declared a size upper bounded by the size of the loan, and an interval of interest rates it was willing to compete for, like on eBay.

Contribution: main developer

  • Designed the algorithm to make auction bids competitive and optimally profitable. The algorithm computed the fractions of the winning bids after each online bid arrival, while keeping for each winning fraction of bid the interest rate optimal: as high as possible, according to the bid interval, but competitive to bids of potentially higher interest rates.
  • The algorithm achieved a worst-case time linear in the number of GCDs of the winning and runner-up bids only. This allowed an offline portfolio update within seconds.
  • Integrated the feature using this algorithm to the Android and web clients through an API, allowing Lendino’s users to see the updated situation of their bid portfolio instantly.

Technology: Java

  • Languages: Java, SQL.
  • Framework: Play.
  • Storage: PostgreSQL.
  • Version control: Git.