Krugozor Framework / Ready-made solution
Your own
classifieds business.
Already built.
Launch your own marketplace on a ready-made platform. Classified ads, payments and AI moderation — all in one system.
Already powering adverts.ru
01 / Features
Your marketplace.
Everything you need inside.
Catalog, audience, content and management — parts of one system, already working together.
A wider reach
One project.
Different audiences.
Multiple websites on a shared codebase. Localization, territories and currencies for different audiences.
Intelligent moderation
AI handles the routine.
You stay in control.
Content checks, category matching and explanations for decisions in the administration panel.
A service that is easy to use
Post without registering, upload photos, protect contacts, find similar listings and manage your account and archive.
All featuresManage everything in one place
Listings, users, catalog, support requests, articles and videos. Access permissions for different staff groups.
Explore the admin panelFeatures in detail
Expand a section to learn moreOut-of-the-box functionalityLanguages, countries, currencies and listings
This is not just a skeleton for a classifieds board, but a finished product proven in real-world operation on commercial projects. The package includes:
- Multilingual support — 6 interface languages (Russian, English, Armenian, Kazakh, Georgian, Serbian) with URL prefixes (for example,
/en/,/hy/). Adding a new language is a routine task with a ready-made step-by-step guide. - Multi-domain support — a single software platform serves several websites (currently — adverts.ru), each with its own set of categories, templates, texts and business logic, on a shared codebase. Launching one more website — from DNS and the server to connecting the domain in the engine — is described in a step-by-step guide.
- Multi-country support — a built-in hierarchical tree of territories (country → region → city), ad filtering at any level, cascading location selection without reloading the page. Ready-made territory directories for Russia, Armenia, Kazakhstan, Georgia and eight more neighboring countries — 12 countries, 585 regions and more than 15,900 cities in total.
- Anonymous ad posting with automatic linking to an account after registration — lowering the entry barrier for new users.
- E-mail confirmation, sign-in using an e-mail address and password recovery out of the box.
- Prices in 11 currencies — the Russian ruble, US dollar, euro, Armenian dram, tenge, lari, Belarusian ruble, hryvnia, Azerbaijani manat, Kyrgyz som and Serbian dinar; the default currency is chosen by the interface language. A new currency is added following a ready-made guide.
- Image upload with automatic generation of thumbnails in the required sizes; files abandoned during posting or left without an ad are cleaned up by background jobs.
- Protected seller contacts — the phone number, e-mail and Telegram are revealed on click by a separate request with a verification signature, and the web server limits how often such requests can be made: harvesting contacts with a bot becomes pointlessly slow.
- Free ad bumping — the owner raises their ad in the listing right from their personal account, with a limit on how often it can be done.
- Similar ads on the ad page keep visitors on the site.
- Ad archive — the owner moves an outdated ad to the archive and can bring it back when needed. The archive logic is tailored to a specific site: on one of the live domains the archive is shown publicly as a feed of stories. Outdated ads from unregistered authors are deleted automatically.
- Automatic profanity filtering in ad texts.
- Mail queue — e-mails are sent in the background and do not slow the site down; e-mail templates are translated into all supported languages.
- Content sections — multilingual articles with full-text search and a short-video feed with infinite scrolling and muted autoplay: ready-made tools for attracting search traffic and retaining the audience, fully managed from the administration panel.
Moderation and protectionLanguage model, administrator oversight and security
- Content moderation by a language model — every ad is checked automatically for prohibited content: weapons, drugs, adult goods and services, legal violations and other groups. A violating ad is taken down until the administrator decides otherwise, and its author receives an e-mail stating the reason. The decision is made by two independent calls to the model — a batch screening and a confirming call for that single ad — so a one-off mistake never reaches the blocking stage; a failure or outage of the service does not take an ad down. User text is passed to the model inside random boundaries, so «instructions» hidden in an ad do not affect the verdict. Editing an ad automatically sends it for re-checking. The model is connected via an API (DeepSeek by default); the service address and the model are set in the configuration.
- A moderation section in the administration panel — blocked ads, ads moved to another section and ads that could not be checked are collected in a separate list with filters; each row shows the violation group and the model’s reasoning, and a block is lifted in one action. The log keeps every call to the model together with its estimated cost — checking expenses are visible by day and by ad.
- Automatic catalog section matching — an ad submitted to the wrong section is moved to the appropriate section by the language model, and the author is notified by e-mail. A section chosen by the owner manually is never questioned again: the last word stays with the human.
- Protection against bots and brute force — a proprietary CAPTCHA; an IP address blacklist with blocking of entire subnets and quick blocking right from the administration panel; request rate limiting at the web server level: password brute-forcing on the login, registration and password recovery forms, aggressive crawlers and request floods are cut off before they even reach PHP.
- Security at the code and server level — parameterized SQL queries, cookies with the httpOnly flag, security headers (HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy), and blocked direct access to the configuration, logs, source code and service directories.
- A flexible data validation system (e-mail, phone, URL, string length, ranges, etc.) — everything users enter is checked before being written to the database.
SEO and speedStructured data, sitemaps, caching and analytics
- Schema.org markup on all key pages: breadcrumbs, lists, the ad card as a product with a price, videos; site and organization details in JSON-LD; Open Graph markup for social networks and messengers.
- Language versions for search engines — every page links to all of its language versions (hreflang), and each language has its own URL.
- Site maps for each language are generated daily; empty territory pages and archived ads are left out of them.
- Canonical URLs and 301 redirects to them — the same page is not indexed under different addresses.
- Human-readable URLs for catalog sections, territories and articles.
- Grammatically correct titles — city and region names are stored in three grammatical cases, so titles and breadcrumbs in Russian follow the rules of the language («… в Москве»), while in other languages they use a uniform neutral format.
- Memcached caching in all hot spots (mappers, category lists, territory counters) — the site withstands high load without vertical scaling.
- Ad counters by section and territory are maintained by SQL triggers in the database itself: the numbers are updated instantly, and catalog pages do not recount ads on every view.
- Fast static delivery — a page’s CSS files are combined into a single minified file and cached; static resources, articles and videos are served with conditional caching (a 304 Not Modified response).
Personal dataDocuments, consent, account deletion and retention periods
- A ready-made set of legal documents — personal data processing policy, public offer, user agreement, consents to the processing and dissemination of personal data, the procedure for handling claims from rights holders, a cookie consent banner.
- Account deletion under the personal data law (152-FZ) — a complete cycle at the user’s request: a deletion request that can be cancelled, destruction or anonymization of the data, and a printable destruction statement with a log extract in accordance with Roskomnadzor requirements.
- Consent log — every consent to personal data processing is recorded together with the version of the document it was given to; withdrawal of consent is supported.
- Data retention periods are enforced automatically: background jobs destroy sent e-mails after 30 days, and support requests once the period stated in the policy has expired.
Feedback and supportConversations with visitors and protected attachments
- Requests with correspondence — a visitor writes via the contact form, receives a confirmation e-mail and continues the correspondence on the page of their request via a protected link; the administrator replies from the administration panel, and the reply arrives by e-mail.
- Attachments to requests are stored outside public access and can only be opened via the request link.
- Rights holder claims — a separate type of request with the applicant details required by Article 15.7 of Federal Law 149-FZ.
- A CAPTCHA on the form cuts off spam, and the correspondence is destroyed automatically when the retention period expires.
Administration panelManage content, users and access permissions
The site is managed from the administration panel, without working with the database directly:
- Ads — a list with filters and sorting, editing and bulk operations with an automatic e-mail to the owners.
- Moderation — ads blocked and moved by the language model, with the reasoning behind each decision.
- Users — accounts and the account deletion log with statement printing.
- Catalog — a tree of sections with editing, deletion and moving of entire branches.
- Territories — countries, regions and cities.
- Articles and videos — with translations into all of the site’s languages.
- Support requests and replies to them.
- IP address blacklist, including subnets.
- Groups and access rights — for each section of the panel you specify which user groups it is open to.
- Mail — the e-mail queue and a deliverability check via the mail-tester.com service.
02 / Monetization
Free listings.
Paid opportunities.
Revenue tools are built into the platform: from offering a service to accepting payment and activating it automatically.
- 01
Offer a service
VIP highlighting and listing promotion. Promo links, notifications and emails to the author.
- 02
Accept payment
An online payment system with verification of signed payment notifications.
- 03
Activate the service
Automatic activation, an email to the author and removal of the status when it expires.
How monetization worksPaid services, advertising, analytics and payments
- Paid services — the «Highlight ad» (VIP) service: the ad card is highlighted and raised in listings for a set period. The price and duration are set in the settings, expired statuses are removed automatically, and the payment architecture is designed for several kinds of services.
- Selling at the right moment — the service is offered in a pop-up window, promo links, the notification after an ad is published and e-mails to the author.
- Payment acceptance — an online payment system: signed payment notifications, automatic service activation and an email to the author.
- Advertising — a ready-made connection to the Yandex Advertising Network; ads are enabled in the settings and start only after the visitor consents to cookies.
- Analytics — Yandex Metrica counters for each domain and a ready-made goals mechanism for tracking visitor actions.
03 / Technology
A solid foundation.
A clear architecture.
An in-house framework, strict typing, documentation and automated checks. A project you can keep developing.
01declare(strict_types=1);
02
03Controller→ request
04Service→ business logic
05Model→ data
06Mapper→ MySQL
07
08// Every layer has its own role
4,200+ tests.
Before deployment.
Business logic, SQL queries, controllers, pages, emails and background jobs are checked automatically.
Code that AI assistants understand
Instructions, consistent module structure and over 60 reference guides help you understand the project and make verifiable changes.
Architecture and package contentsIn-house framework, modules and technical specifications
If you are considering purchasing a classifieds board «engine» and looking for where to buy or order a turnkey classifieds website, we can help you with that: we offer a solution based on our software platform that powers adverts.ru. Here are the key technical specifications of our solution:
- The software platform is not OpenSource — the source code is not available to anyone; development was done entirely in-house. Consequently, the functionality and design of the site are unique in their own way.
- The software platform is written on the PHP 8.4+ / MySQL / Memcached stack, following the MVC methodology with an implementation of the Data Mapper pattern (a clear separation between business logic and the data access layer).
- An in-house framework, Krugozor Framework, and in-house libraries; the only third-party packages are three small utilities (site map, URL transliteration, emoji removal). The project does not depend on someone else’s framework or its release schedule.
- Strict typing throughout the codebase — a whole class of errors is filtered out at the development stage rather than on the live site.
- A proprietary database library — complete protection against SQL injections, one of the most common types of attacks on websites.
- Valid HTML markup, separated from the business logic of the program code.
- An administration panel with access rights separated by user groups — more on its capabilities below.
- High-quality, transparent program code, divided into domain objects and data sources.
- Over 100 ready-made thematic categories; the category tree is freely configurable through the administration panel for any niche.
- Modular code structure: 20 ready-made modules — ads, users, categories, authorization, payments, mailings, articles, videos, captcha and others.
- More than 4,200 automated tests: the main suite checks a change in a matter of seconds (more on this below).
- Detailed technical documentation included: more than 60 reference documents and step-by-step guides — architecture, data layer, caching, templates, validation, deployment, multilingual support, SEO, payments, personal data and other aspects.
Deployment infrastructureDocker, HTTPS, email and background jobs
The package includes a complete Docker configuration for dev and prod environments — a working copy of the site can be brought up on a new server in a matter of minutes:
- Separate containers for PHP-FPM, nginx, MySQL, Memcached, cron and postfix — deployment with a single command.
- HTTPS out of the box: a free Let’s Encrypt certificate is issued by a single script and renewed automatically.
- Configured e-mail delivery: Postfix with DKIM signing, SPF, DMARC and PTR records — so that the site’s e-mails reach their recipients rather than the spam folder.
- 18 scheduled background jobs: sending e-mails, checking ads with the language model, removing expired VIP statuses, generating site maps, recalculating catalog statistics, executing account deletion requests, cleaning up abandoned images and outdated data, log rotation and a daily database backup.
- Error reports: a failure on the site or in a background job is reported to the administrator by e-mail.
- A unified configuration format for the test and production environments.
- Detailed guides on deployment and day-to-day maintenance are included, including checking the site after a release with a single command and launching a new site from scratch.
Automated testsFast suite, live database and checks on the tests themselves
The software platform is covered by automated tests: an error is caught before the code is deployed to the server, not by a user complaint.
- The fast suite — more than 2,800 tests of business logic, models, validators and services; it runs in a few seconds and does not require a database.
- The live database suite — more than 1,400 tests: SQL queries, controllers, rendering of pages and e-mails, SQL triggers and stored procedures, background jobs and HTTP responses of the running site.
- «Guard» tests watch over the tests themselves: a new class without a test will not go unnoticed, and the fast suite does not access the database or the network.
Development with AI assistantsInstructions, tools and documentation for working with the code
Separately, let us highlight a feature that matters in 2026: modern AI assistants (Claude Code, Codex, GitHub Copilot, ChatGPT and the like) do an excellent job of maintaining and evolving this code — unlike typical legacy PHP projects, where an LLM gets lost in framework «magic», implicit dependencies and non-standard conventions.
Why it works:
- Instructions for AI agents (the
AGENTS.mdandCLAUDE.mdfiles) and a library of more than 60 reference documents for each subsystem — the assistant finds its bearings in the project right away, without manual explanations. - Ready-made setup for Claude Code and Codex — 14 topical rules are applied according to the files the agent is working with; 12 hooks automatically check syntax, run the tests after every change and prevent the agent from changing the database schema without a migration.
- 12 step-by-step procedures (skills): add a language, a currency, a domain, an administration panel section, a validator; audit the tests, administration panel tables, legal documents, production server logs and more.
- 6 checker subagents: they verify translation completeness, documentation formatting, list services, administration panel tables and database indexes, and one of them reviews the automation setup itself.
- A uniform module architecture — all modules are structured identically. Having understood the structure of one module once, an LLM confidently edits any other.
- Strict typing and detailed method signatures — the assistant does not guess types but «sees» the contract, which radically reduces the number of «trial-and-error» edits.
- No «magic» — the behavior of the code is easy to trace from the entry point to the final database query, with no hidden dependencies or code generation.
- A single documented naming style for files, tables, styles and text constants — an LLM generates code in the project's style without additional hints.
- Verifiable changes — more than 4,200 automated tests and self-diagnostic scripts (for example, an automatic completeness check of the translations across all languages): the assistant runs the checks itself after making edits and sees the result.
- A reference guide for every key feature — a separate document describing how it works and where its boundaries are. An LLM uses it as a ready-made instruction when making improvements and implementing similar tasks.
What this gives the site owner in practice:
- Most edits and small features can be done with the help of an AI assistant in minutes rather than hours.
- Dependence on expensive senior PHP developers decreases — a mid-level developer working with an LLM can handle routine tasks.
- Adding a new language, a new section or a new paid service, translating a template — routine tasks that an LLM performs following the ready-made guides.
- The total cost of owning and developing the project is several times lower than that of a typical classifieds board on a heavy framework with a large number of dependencies and complex infrastructure.
04 / Look inside
See how
it all works.
Examples of source code and the administration interface. Click a screenshot to view it at full size.
05 / Next step
Your idea.
A ready foundation.
A software platform for building your own classifieds marketplace.
- 20 ready-made modules
- Deployment infrastructure
- Technical documentation
Price of the current version
4 500 000 ₽
The solution is sold as is.
Discuss a purchaseContact us using the feedback form
Launch costs: a ready-made platform or development from scratch?More about the business model and development costs
Building a business based on the concept of free classified ads is a highly profitable investment, proven by the decades-long success of such market giants as «Iz Ruk v Ruki» (From Hand to Hand) or «Avito».
A market participant urgently needing to sell their product or service is willing to pay a relatively modest amount to achieve a quick and optimal result: attracting customers through ads posted on the website. Offering exclusive services — such as placing an ad in the highest available position among similar listings — benefits both the seller and the website owner: the seller moves their product or service, while the site owner earns revenue from the provided services.
How much does it cost to build a classified ads website?
There is no single answer to this question. In theory, you can download a ready-made classifieds website (as open-source software) and install it on your hosting account — this is what 99% of those wishing to launch their own «board» do. The result is yet another faceless website nobody needs, which with 99% probability will cease to exist after a while due to lack of demand and user interest, because it will be virtually identical to other websites built on the very same «engine». But if you want a product that does not look like the other resources in this niche, then:
- Hiring programmers to develop a classifieds board «from scratch» will cost you 250—300 thousand RUB in monthly salary for just one developer.
- When it comes to classifieds websites like «Avito», their development and maintenance costs approach truly astronomical figures.










