CASE STUDY

NextDoor

A startup that connects people and businesses in one location to successfully complete household and business tasks.

Solution

Web Development

Industry

Internet Technologies

Outcome

The team of Computools's engineers applied their knowledge and expertise in the industry and the field of web platform development - marketplaces - to successfully implement the client's idea. In the course of work on the project, ready-made and individual solutions were used to ensure the stable operation of the platform. The marketplace was launched in a small area of ​​the United States in test mode, and in a short time, it gained popularity and began to make a profit.

Several key options we solved:

  • Simplified user registration and authentication through social media.
  • Implemented service provider bookings, ratings, and reliable recommendations.
  • Built-in strong analytics and marketing services.

+69%
Throughput, Users
+63%
Average Order
+58%
Increasing Productivity
+68%
Increasing Revenue
+44%
Reducing Costs
+71%
Business Process Automation

PROJECT DESCRIPTION

The main idea of the project was to create an online social networking service for people who live in the same area to give them the ability to bring together and help each other in performing household matters. The client turned to Computools for a reliable software development solution - marketplace - to provide robust services.

Computools’s engineers built a 2-sided software as a service and home-improvement social platform. This social commerce platform where users interact with businesses and communities in their residential zip code to get useful updates around their community; complete projects and tasks from local service providers; find relevant deals from businesses and other users. This is intended for two types of users: regular users and businesses. Each category has received its own set of functions and options. Businesses have access to the business dashboard and receive notifications for potential projects in their area. Regular users have projects, dashboard, social features, a profile, and a newsfeed. Monetization of the platform is carried out through a monthly subscription and advertising in specialized blocks, additional fees for project promotion.

The project was built from scratch

Tough schedule

Preliminary marketing research showing high demand for such a platform

Unoccupied business niche, low level of competition (at the time of project creation)

Well-planned auditory coverage and interactions model

Communication Framework

Computools
Business Analyst
Project Manager
Team Lead
Quality Assurance Specialist
Angular Technology Lead
NextDoor
CEO
Communication

Constant communication with the client is crucial for solving urgent questions, discussing tasks, and current issues of the web development services project. To communicate with the customer in this project, the most convenient instant messengers were selected. Regular conferences and meetings were held on Skype, and WhatsApp was used for urgent discussions. This made it possible to timely perform tasks in accordance with the necessary requirements.

Business Process Mapping

01
CONSULTING

A fruitful project collaboration begins with counseling. At this stage, our experts identify the main objectives of the project, conduct market research, look for ready-made solutions. Risks are also calculated and potential barriers are predicted.

02
DESIGN

At this stage, the project specification is developed, the basic processes and the algorithm for the implementation of tasks are determined. During the discussion, the need for adjustments, additions, or removal of unnecessary functions is revealed.

03
ENGINEERING

To work on the project, the necessary experts have highlighted: a project manager, analysts, developers. After the intro-meeting, all tasks are distributed. The entire web development services process is conducted according to the chosen methodology and the created specification. As a rule, the Agile approach is used, which allows conducting constant tests and code reviews, improving the quality of the finished product. In the end, a series of necessary tests are carried out for additional verification.

Digital Platform & Technology

To build a state-of-the-art platform, we have carefully chosen a set of technologies with exceptional performance and security characteristics.

Computools
Business Analyst
Project Manager
Team Lead
NextDoor
CEO
Communication
AngularJS

AngularJS is an open-source framework that addresses the challenges of web development processes, it is a framework for web apps. It is also one of the most powerful front-end frameworks. Angular framework allows the use of HTML as the template language and enables the extension of HTML’s syntax to express the application’s components in a concise and clear manner.

Node.js

Node.js is an open-source, cross-platform, JavaScript runtime environment that executes JavaScript code outside of a browser. Node.js lets developers use JavaScript to write command-line tools and for server-side scripting—running scripts server-side to produce dynamic web page content before the page is sent to the user's web browser. Consequently, Node.js represents a "JavaScript everywhere" paradigm, unifying web application development around a single programming language, rather than different languages for server- and client-side scripts.

Sails.js

Sails.js is a web framework that you can use to easily build customized enterprise-grade Node.js applications. It provides more data-oriented modern style of developing web apps. It is also excellent for building real-time features like live chat. In the same way, Sails.js works well with Backbone and Angular.

JavaScript

JavaScript is a programming language that makes web pages interactive. The vast majority of websites use it, and all major web browsers have a dedicated JavaScript engine to execute it. One of the most useful advantages of JavaScript for this project is the opportunity to provide for a more user-friendly experience, to build highly responsive user interfaces - prevent frustrating page reloads.

MongoDB

MongoDB is a cross-platform document-oriented database program. MongoDB is a distributed database at its core, so high availability, horizontal scaling, and geographic distribution are built-in and easy to use. MongoDB’s document model is simple for developers to learn and use, while still providing all the capabilities needed to meet the most complex requirements at any scale.

Passport

Passport is a Node. js module that uses the middleware design pattern to authenticate requests. It allows developers to offer various authentication methods using a mechanism called strategies, which allows you to implement a complex authentication layer while keeping your code clean and simple.

Lodash

Lodash is a reference library made with JavaScript. It is used for simplifying the handling and edition of objects, arrangements, etc. since this provides many useful methods to do so. At the same time, simplifying this work achieving that the code is much legible and easy to follow for third parties.

Nodemailer

Nodemailer includes a tree of dependencies. Nodemailer has zero dependencies as everything required (and only that) is built-in. There's no dead code or dark corners which makes code audits lot easier.

Grunt

Grunt is a JavaScript task runner, a tool used to automatically perform frequent tasks such as minification, compilation, unit testing, and linting. It uses a command-line interface to run custom tasks defined in a file (known as a Gruntfile).

CSS3

Cascading Style Sheets (CSS) is a simple mechanism for adding style (e.g., fonts, colors, spacing) to Web documents. CSS3 is the latest evolution of the Cascading Style Sheets language. It brings a lot of new features and additions, like rounded corners, shadows, gradients, transitions or animations, as well as new layouts like multi-columns, flexible box or grid layouts.

HTML5

HTML5 is a programming language whose acronym stands for HyperText Markup Language. It is a system that allows the modification of the appearance of web pages, as well as making adjustments to their appearance. It also used to structure and present content for the World Wide Web and a core technology of the Internet.

System architecture

Specification

The specification is written throughout the work on the project. An initial specification is needed to create an algorithm for working on a project. In the future, the project specification is supplemented by the necessary information.

Goal - to build a social commerce platform where users interact with businesses and communities in their residential zip code

Main flow.
The user creates an account, fills in information, selects a private or business account, and selects a subscription plan. Using the toolbar, he creates a new project with his services and promotes the service using the platform's tools. All correspondence with potential clients is conducted within the platform. Upon completion of the transaction, the user can leave a review in the provider's account.

COMPUTOOLS TEAM

Computools carefully chooses a team to work on a project to provide web development services on the highest level. The main task is to select experts whose skills and experience will allow to realize the tasks efficiently, quickly, and at a high level of quality. For this project, designers and developers who had experience working on a variety of similar projects were selected. The constant solution of the challenge tasks allows employees to increase their level and satisfy customer requirements as much as possible.

Project Manager
Andrey Melnychenko
Business Analyst
Kate Vodolazkina
Team Lead
Andrey Bednyak
Angular Technology Lead
Alexey Kolomoets
WP Technology Lead
Daria Golovan
Quality Assurance Specialist
Maria Grekova
Business Development Manager
Artem Babura
UI/UX Designer
Denis Gubrienko

BACKSTAGE

There is more to quality than meets the eye so there is even more backstage activity at Computools that benefits the client. Each kind of meeting serves its own purpose, but all of them work towards a common goal - successful Digital Transformation of the client’s business.

Dev meetings
Developer's meetings are another effective way to increase team productivity, exchange opinions, and find solutions to complex problems. Moreover, at these meetings, the team can identify minor errors and bugs.
Team Brainstorming
Brainstorming is one of the key tools for identifying ideas and solutions for a project. At such sessions, each participant can voice their ideas and take part in the discussion of the ideas of others. So we stimulate the creativity of our employees and give them the opportunity to fully develop.
Feedback
At the end of the project or a large part of it, we conduct feedback sessions. This helps to identify the strengths and weaknesses of the project, its participants. Everyone gets the opportunity to improve their skills for the next project.

Internal Communication Flow

To support efficient internal communication within the project team we have chosen Email for sharing reports and tasks; Skype and Slack were perfect for addressing urgent issues, as well as for scheduling and conducting audio/video conferences. Redmine and Jira Project Management Platforms were used for role assignment and progress control.

Project Management Methodology

Scrum professes a team approach, short iterations, and continuous improvement in the process. These principles are implemented through a set of special roles, rules, processes, and tools, thanks to which teams produce products twice as fast. Scrum is based on a team or group - a well-coordinated team of professionals. Scrum teams are autonomous, the participants decide how to complete the task. They are multifunctional - the knowledge and skills of team members are enough to solve the problem.

PROJECT TIMELINE

1 week
2 weeks
12 months
1
CONSULT
Defining goals
  • Identifying high-level project goals
Analysis & Exploration
  • Researching and analyzing the existing and ready-made solutions
  • Defining main restrictions and providing solutions for them
  • Identifying the main risks
2
DESIGN
High-Level Architecture
  • Selecting basic architectural patterns and tools
  • Forming an application stack, work processes with VCS
  • Forming the main development guidelines
Interactive prototypes & Specification
  • Development of a prototype in parallel with specification
  • Choosing Project Management Methodology
Build Development Process
  • Calculating the number of project teams
  • Configuring the technological processes and interactions between roles
3
ENGINEER
Build The Team
  • Making the initial scope based on the specification and estimate, calculating the optimal number of specialists for each role
  • Adding executors to the team's core
  • Conducting an intro meeting
Development
  • Development of a road map, dividing the development process into parts
  • Implementation of the first series of solutions
  • Implementation of developed elements of the platform
Testing & Stabilization
  • Developing a testing plan
  • UI & Unit testing
  • Applying improvements
  • Code stabilization/refactoring, increasing system stability, reducing the probability of bug emergency

Design

Working on product design, we primarily develop its architecture, as this has a great influence on how the design will be built in the future, and how ways of promoting and upgrading the product will be organized.

Computools
Architect
Project Manager
UX/UI Designer
NextDoor
CEO
Communication

Engineering

Code development was carried out according to the chosen methodology and was divided into two-week sprints. This allowed us to test more often and stabilize the application code in the early stages.

CODE SAMPLE

Scan QR code to find code sample

Or use link below

https://github.com/computools/angular1-sample

Contact Us

Let's talk about your project.
Use the form to drop a line or write us an e-mail: info@computools.com

Thank you for your message!

Your request will be carefully researched by our experts. We will get in touch with you within one business day.

GET EXPERT ADVICE!

Computools will guide your company through a digital transformation.