6

Smart generation: Website generator for Yandex.Business

 3 years ago
source link: https://evilmartians.com/chronicles/smart-generation-website-generator-for-yandex-business
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Why do tech giants with highly recognized engineering teams choose to entrust their product development to Evil Martians? Let’s lift the curtain on the case with Yandex, the largest technology company in Russia. We enabled them to avoid lingering on the engineering resources waitlist and delivered a ready-to-market automatic website generation engine for thousands of their customers in only two and a half months.

Rapid reaction forces for a giant corporation

Yandex.Business is a service that helps small and medium business (SMB) advertisers launch their online campaigns automatically with no-brainer settings. Its core benefit is simplicity.

Since customers complete Yandex business e-cards with data about their businesses, Yandex.Maps stores addresses and opening hours, and Yandex.Food has an illustrated menu from restaurants, cafes, and deliveries, SMBs can assemble a website like a jigsaw puzzle with the Site Generator.

Business owners tick the checkboxes with the sections they would like to add to their website, fill in and edit some optional fields, and configure the theme in the admin panel. Click a button, and the data is sucked in to shape a ready-to-market website. It can stimulate plenty of offline and purely online businesses—online stores, food delivery, SaaS services—to convert online views to concrete customer actions: calls, orders, and bookings.

Fast delivery is critical for high-demand services. But typically, tech giants with voluminous portfolios have to stand in the long engineering queue or kidnap engineers out of internal initiatives to put their plans into action.

That’s why Evil Martians jumped into the project to hit the ground running. The core Yandex team covered the UI design, admin panel, and API and entrusted us with building the site generator’s frontend and backend to generate the lightweight, fast, and device-optimized promo landings on the fly. We estimated the scope of the work and decided that two months for our team would be just enough to achieve maximum results.

Admin area

The service’s admin area

Staking on the tech stack

We knew speed and lightness would be deciding factors for end-users. The service structure must be minimalistic: one page, minimum dynamics, and a strict requirement for fast loading. That’s why we decided to forgo the popular but heavier frontend frameworks and choose the older but faster Express.js and Handlebars combo that is perfect for a simple single page that can be instantly loaded and perfectly indexed by search engines.

The generated websites should be optimized to work fast in Yandex.Search and Yandex.Browser, meaning they had to be concise, simple, lightweight, immediate to load, and stand out from the heavyish and sluggish WordPress and Tilda sites. Yandex has its own built-in Lighthouse-like tool to measure compliance with the standards. Websites must score over 80% to meet the performance goals.

And we did it! Ultimately, the generated website (except for images that come via the API) is delivered in one request and weighs only 31kb before compression and 130kb after it’s expanded. We even solved the Yandex.Maps “oversize” problem: integration added 3 megabytes on top—and we arranged for maps to load only when people scroll to a map on a page.

Websites examples

Some examples of the generated websites

Generating a Generator

We started with an aesthetic layout for the first design variants and watched how it worked in browsers. Then we created a test database and started checking how enabling or disabling different sections affects the look and feel.

We built the backend infrastructure and integration with the API, tested the service performance with real Yandex customers’ data: addresses, photos, and other informations—and began the deployment stage. It was critical to configure the service stored in the Docker containers correctly to migrate it to Yandex’s cloud services. Yandex.Cloud infrastructure was a requirement from the core team since it’s the Yandex native environment that promised a simpler communication between the service backend and end-user interface.

We also set up an automatic deployment and prepared monitoring and scaling capabilities for the expected growth. Additionally, we prepared for future updates and provided counsel to in-house backend engineers on the most efficient cloud settings.


The Yandex team smoothly integrated the service into their corporate infrastructure. Today, the site generator is a key part of Yandex.Business service portfolio and it already helped generate several thousand websites. The service is thriving under the surge of demand and growing loads.

If you don’t want to overwhelm your engineering processes with a brand new “internal startup” that you want to quickly bring to market and test your theories, count on Evil Martians to design and build the solution that you need, when you need it.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK