Mobilized Asset
Management Solutions

Mobile responsive Web Apps

Oveview

A New York based Jewellery Start-up, a dream of a young fashionista Nicole Siobal. An enthusiastic entrepreneur, petite fashionista, jewelry lover, traveler, foodie and dancing queen with a natural creative spark, who in her off time can be found spending time with friends, cooking, watching repeats of Shark Tank, browsing through business and fashion magazines, and exploring the city’s different cultures and neighborhoods. She loves to explore everything that is New York, meeting new people and is constantly inspired by the energy and individual creativity of its people. She describes herself as -- "A girl on the go with a mission to grow and purpose to show".

1 Problem Flask
The Problem

The client wanted to create a social networking cum ecommerce platform for jewelry lovers. The aim was to create one of the first social shopping community of its kind where jewelry lovers can enjoy discovering and shopping for the latest socially curated jewelry trends around the world while giving someone else in need joy via charity. enJOYYE was also envisioned as a platform for small talented designers who have individual stores all across the US and the world to showcase their jewelry products online and enlist their store for free.

2
The Challenge

The major challenge in developing enJOYYE was to build a robust scraper which was capable enough to learn the patterns of various web portals it would crawl/scrape to find out patterns for prices and product names and get the best fit out of it, also, to get the best matching image for the product, and all this in under 3-5 seconds. On top of all of this, we wanted the scraper to improve with time automatically. So, we had to make it intelligent such that when scraping a web portal which it already did in the past, it should take 90% lesser time. That was the AI challenge in it.

Slider-background
3 solution
The Solution

After an invite only launch in 2014, en.JOYYE user base surged from 100s to 10000s in a mere 5 months time. The number of products and stores listed on the portal surged to >500000 and >1000 respectively.

In Release 2, enJOYYE went public and anyone could sign up without any invite. The social aspect of the portal was strengthened by the introduction of mentions, hashtags, find friends from your social network, friends suggestions, etc. This helped in further surge of the user base, products and stores.

In Release 3, with more and more relevance towards mobile, the portal’s UI was re-written in a mobile first fashion. And the result was an awesome mobile first User Experience for the Users.

  R&D Budget $10,000 per month

  Project Duration Launch - 7 Months. Maintenance, new Features and Upgrades - Ongoing

  Resources 1 Engineer each for Business Analysis, Server, UI, QA, DevOps & Project Management

  Methodology We use scrum, one of the most popular agile frameworks in a software development process.

With scrum, the product is built in a series of fixed-length iterations called sprints that give teams a framework for shipping software on a regular cadence. Milestones–i.e., the end of a sprint–come frequently, bringing with them a feeling of tangible progress with each cycle that focuses and energizes everyone. ("Continuous inspiration" for the win!) Short iterations also reinforce the importance of good estimation and fast feedback from tests–both recurring struggles in waterfall projects.

  To start with, A product backlog is created which is a prioritized list of work for the development team that is derived from the roadmap and its requirements. The most important items are shown at the top of the product backlog so the team knows what to deliver first. The development team doesn't work through the backlog at the product owner's pace and the product owner isn't pushing work to the development team. Instead, the development team pulls work from the product backlog as there is capacity for it, by iteration in small units of time called sprints.

A well-prioritized agile backlog not only makes release and iteration planning easier, it broadcasts all the things your team intends to spend time on—including internal work that the customer will never notice. This helps set expectations with stakeholders and other teams, especially when they bring additional work to you, and makes engineering time a fixed asset. Scrum calls for four ceremonies that bring structure to each sprint:

Sprint planning: A team planning meeting that determines what to complete in the coming sprint.
Daily stand-up: Also known as a daily scrum, a 15-minute mini-meeting for the software team to sync.
Sprint demo: A sharing meeting where the team shows what they've shipped in that sprint.
Sprint retrospective: A review of what did and didn't go well with actions to make the next sprint better.

During a sprint, visual artifacts like task boards and burndown charts, visible to the team and spectators alike, are powerful motivators. They drive a spirit of "we're doing this!" Having the opportunity to show off new work at the sprint demo is equally motivating, and the consistent, incremental feedback the team gets from stakeholders at each demo creates a powerful way to develop products.

We used Atlassian’s JIRA which is the most used Agile tool worldwide to implement our scrum process.

In JIRA Software, you view sprints on a board and assign issues from the product backlog to sprints. You can search for issues in upcoming sprints using JQL (Sprint field). You can view the Sprint field on each individual issue as well, to see the sprint that an issue is part of. There are provisions for tagging issues in a sprint using epics and tags, defining versions and managing releases, getting feedback from stakeholders after each release, tracking code commits, code reviews and mergers, making sure all builds are passing and so on.

JIRA makes our lives easier as it has all the features and tools to implement a successful SCRUM process in a smooth way.

  Design Tools Used - Adobe Photoshop, Sketch, Marvel, Adobe Illustrator
Prototyping - Balasmic Mockups, Marvel

A design process varies by the type of project, clients needs, team skill-level and experience, and other factors, as designers we keep our hands on to a handful of tools. These tools provide us a base for planning and brainstorming, help us communicate our ideas clearly, overcome technical hurdles to create stunning designs, and even simplify our interactions with developers. From advanced new design software tools to the traditional techniques, these are the tools our team has mastered on.

  We use a combination of flowcharting tools, marvel, sketch, photoshop, mindmapping and other UI pencil, icon and stencil kits.

UI of enJOYYE.com was targeted for female audience, made intuitive to enhance user experience and decode human buying behavior. enJOYYE.com was designed from multiple viewpoints - a fully responsive web portal and a superadmin portal. The design phase of this app required a higher level of involvement and knowledge of both mobile and web view. The website is designed to cater to the jewellery audience. Our design team made sure enJOYYE.com was user-friendly and reflected the purpose of the application in an intuitive and smart way.

  Developement The major challenge in developing enJOYYE was to build a robust scraper which was capable enough to learn the patterns of various web portals it would crawl/scrape to find out patterns for prices and product names and get the best fit out of it, also, to get the best matching image for the product, and all this in under 3-5 seconds. On top of all of this, we wanted the scraper to improve with time automatically. So, we had to make it intelligent such that when scraping a web portal which it already did in the past, it should take 90% lesser time. That was the AI challenge in it.

  After a lot of trying various application servers on different stacks like PHP/Yii, Python/Django, Node/PhantomJS, we finally settled for the scraper part of the application with NodeJS/PhantomJS because that gave us the best performance in terms of time and accuracy.

The remaining application logic code was written in PHP/MySQL using the Yii framework with different layers of caching on top of it.

The other challenge was on the client side to develop a web bookmarklet. We efficiently used lots of awesome vanilla JS code to device a pattern to detect and find out the price, product name, image of the product of more than 500 most used ecommerce web portals and on top of it also developed a fallback algorithm to find out the pricing patterns on the current page and extract the best possible match for price, best possible product image and name.

Server - Nginx, PHP 5.5, NodeJS, PhantomJS, MemCache, PHP OpCode Cache, S3, CloudFront, MySQL, Yii PHP Framework
UI - BootStrap 3.3.x, jQuery, HTML5, lots of awesome vanilla JS for the Bookmarklet.

  Quality Assurance Separating development and testing functions can help lower risk and improve application system quality. With the high costs associated with an ecommerce web portal implementation, it was critical to utilize an unbiased quality assurance (QA) and testing partner to ensure that the system works as expected.

  Our team utilizes best practices spanning process improvement, technology and global outsourcing to help mitigate risk and realize greater return on such applications.
Our QA and testing experts build independent quality assurance blueprints that fit into our client’s overall project schedule, while providing an unbiased means of measuring application’s functionality, configuration and interoperability with other corporate systems.

  Deployment We used AWS EC2 instances, RDS for Databases, S3 and CloudFront CDN for images of products, stores, profile pictures, load balancers and AMIS for balancing traffic and for Blue Green Deployment, Route53 for DNS Management, Solr initially and then elasticsearch for Instant Search.

  DevOps We used AWS EC2 instances, RDS for Databases, S3 and CloudFront CDN for images of products, stores, profile pictures, load balancers and AMIS for balancing traffic and for Blue Green Deployment, Route53 for DNS Management, Solr initially and then elasticsearch for Instant Search.

  Maintenance & Upgrades As developers we know, there is much more to an application than turning it on and letting users enjoy it. You wouldn't purchase a new home without expecting to invest in maintenance jobs like painting, cleaning, mowing, etc. The same should be true for applications. You may want the latest, flashiest app features, but is that application maintainable over the long term? Our team offered custom designed maintenance plan for the clients. We made sure we covered for countless updates, improvements and fixes. We are the prescient development partners and help our clients plan ahead.