Django

                         The D is silent

We Are Tapingo


  • We are disrupting the way people shop on and around college campuses
  • > 35 campuses across the US
  • > 60% Adoption on campus
  • Launched January 2012
  • R&D in Israel, HQ in the US
  • Tapingo is more than an app

The Challenges


 

Why Django?


No budget

No people

No SQL experience

But extensive knowledge in Assembly

Tapingo v0.1

First Launch

9k users

85% penetration on campus

35% of consumers order multiple times on the same day

250% increase in Sales

175% increase in revenue

Up to 7 orders a minute

Up to 15 RPS

Locks!

Tons of ‘em…

for order in Order.objects.filter(archived=False).order_by('-id'):
    items = []
    for item in order.ordereditems.all():
		items.append({
			    'name': item.name.text,
			    'id':   item.id
			})

    print_order(order, items)

@op_priority(priorities.settings)
def set_default_tender(session, data, response, blocks):
    Tender.objects.filter(profile_id=session.profile.id).delete()

    if not tender_id > AUTO_SELECT_THRESHOLD_HACK:
        Tender.objects.filter(id=tender_id).delete()

Performance

vs

Scale

Launching in the US

~ 100k users

Up to 100 orders a minute

Up to 1000 requests per second

Tapingo v1.0
Moving to AWS

Scaling

Personalization & real time support are a scaling nightmare

Django isn't great with geolocation calculation

You can't store everything in memory

Serialization takes precious time

Operational models were not suited for analytical queries

Bigger Traffic

> 1,000,000 users

Up to 1000 orders a minute

Up to 50000 requests per second

Tapingo v2.0

Thanks!

                                                The T is not silent

 Django

By tapingo

 Django

  • 169