Portfolio: websites, online stores and Telegram projects
I build websites, online stores, Telegram bots and ad analytics. Below are real projects: the business, what was done and what is in progress now.
What I do
- Landing pages and corporate websites
- Online stores on WooCommerce and 1C-Bitrix
- Auto service and clinic websites on WordPress
- Telegram bots and automation
- Yandex Direct management and optimization: Direct API, predictive conversions
- Maintenance, improvements and analytics: Metrica, Roistat
Projects
- Технеруд — Website of a crushing and screening equipment plant: 2026 redesign, equipment selector, automatic listing export to Avito.
- Юнион Моторс: Mercedes — Website of a Mercedes service center in Moscow: case panel, price calculator, review collector, SEO.
- Юнион Моторс: BMW — Website of a BMW service center in Moscow: 78 landing pages by series and body style built from macros, case panel.
- Юнион Моторс: Hyundai — Website of a Hyundai service center in Moscow: case panel, review collector, SEO templates.
- Юнион Моторс: Nissan — New main site of the network with Nissan and Infiniti sections. Built from scratch in a month, currently on a test domain.
- Новый Стандарт — Website of a three-clinic dental network in Smolensk: new design, catalog of 417 services, staff panel, advertising.
- Анатомия BMW — Website of an independent BMW service in St. Petersburg: analytics, SEO, redesign experiment, printed brand book.
- Красная Поляна — Landing page of a cottage community near Smolensk: residential land plots from 25 to 50 ares (0.25 to 0.5 ha). Brand book, markup, form, launch.
- Огненный Кленовый Лист — Website of a China to Russia freight company: custom lead system, service catalog, widgets.
- Зелёная Улица — Website of a timber frame home builder: hosting, migration and support of WordPress with WooCommerce.
- Green Land — Online store of planters, pots and landscaping on 1C-Bitrix: maintenance, second design, landing pages, advertising.
- Озеленение — Landscaping services website: living walls, offices, terraces. Homepage redesign, advertising, predictive conversions.
- FIVE7 — Online store of the F.7 jewelry brand: storefront on Next.js, catalog on WooCommerce, chat landing page for Tilda.
- Ремонт квартир Москва — Apartment renovation services website in Moscow: custom theme, 20 cases with before and after photos, Yandex Direct ads.
- KRONOTEX — Online store of German KRONOTEX laminate: custom theme, admin panel, 1C exchange, two catalogs.
- Брок Сервис — Website for Brokk robot demolition and Atlas Copco spare parts: maintenance, new sections, SEO.
- ПСК ТрубПром — Tools for a used pipe supplier: catalog widgets for Tilda and a custom Avito auto-listing app.
- NEIRO STARS — Telegram bot store for Stars, Premium and TON with gamification and a Mini App.
- NeiroSoft — Telegram automation service for hundreds of accounts: bot, Mini App and a desktop web version.
- Hermes — Telegram assistant for ad accounts: every forum topic is a separate agent with its own tools and memory.
- Предиктивный маркетинг — Predictive conversion service for Yandex Direct and campaign optimization through the Direct API.
- Use My Track — Meta ads and integrations for a Spotify music promotion service: WhatsApp verification, PIX payments.
Технеруд
The "Технеруд" plant in Vyazma builds crushing and screening plants. The site tehnerud.ru: equipment catalog, services, project portfolio, articles, lead forms. Maintained since June 2026: every change gets a folder with a diff and a rollback, plus a monthly change log.
In August 2026 the site moved to a new brand book: 77 mockups in a design system, new header, first screen, footer, 18 homepage blocks, pages for services, catalog, blog and the plant. The page structure follows a breakdown of the Metso site: 16 page specifications.
Next to the site runs an automatic Avito export pipeline: on a schedule it builds an Excel feed and keeps about 10,500 listings with 39,700 photos.
Technologies: WordPress, ACF Pro, custom theme, three.js. Python pipeline for Avito on a separate VPS.
- Full site redesign to the 2026 brand book: about 50 edits in four days, fonts replaced in 34 templates, 3 new image sizes for 95 attachments
- Equipment selector at "/podbor/" instead of the old quiz: 11 entry points across the site, the address list grew from 4 to 20
- SEO: titles and descriptions on 23 pages, 100 duplicate archives closed from indexing, sitemap cut from 327 to 223 URLs, 2 new landing pages and 5 articles
- Speed: homepage video from 247 to 54 MB, images from 4.2 to 1.1 MB, fonts from 734 to 107 KB, 39 requests on load instead of 80
- 3D preloader on three.js: logo model compressed from 2.8 MB to 394 KB, plant model from 2.1 MB to 194 KB
- Avito: auto-listing limit raised from 9,999 to 14,999, branded previews on 4,930 listings, addresses from OpenStreetMap for 200 cities
- Telegram Mini App with an equipment and spare parts catalog on FastAPI and React: 13 screens, prototype
- SEO measurements after the changes: September 14 and 30, 2026
- Video compression on inner pages: about 45 files
Юнион Моторс: Mercedes
"Юнион Моторс" services Mercedes, BMW, Hyundai and Nissan in Moscow. Each brand has its own site on a shared theme. The Mercedes site got every new feature first, then the features were ported to the other brands. Maintained since March 2026, 236 commits since July.
The core of the project: the case panel. The content contractor adds repairs with photos through a link, without logging into WordPress. The panel replaced a two-way sync with Google Sheets.
Technologies: WordPress, custom theme, ACF Pro, REST API. Price import from 1C, Yandex Maps, WP Rocket, Yoast Premium.
- Case panel: access by link without a WordPress login, roles, two-factor login for the administrator. In production since June 17, 2026
- Price calculator v2: PHP builds a static JSON from 13 post types, zero AJAX requests during selection. 98 KB of old JS removed
- Calculator load test: 450 models, 230 service types, 104,164 matrix rows. Model switch in 201 ms, search in 14 ms
- Price import from 1C rewritten: a single run with a lock and an md5 check. A run with no changes touches 0 records instead of 668 per hour
- Custom review collector instead of the SmartWidgets widget on all three sites: 1,712 reviews, filter by brand
- Indexing: 4 layers of redirects, the sitemap is built from them. 149 pages: 116 live, 33 redirected
- SEO templates for case titles and descriptions with a unique fact in each, an example counter in landing page descriptions
- First screen: review widget start sped up from 1.9 to 1.05 s with no layout shift
- "Before/after" widget with a slider and an inline image macro
- Unified site name format in og:site_name on Mercedes and BMW (September 2026)
- Moving 45 landing pages to block macros
Юнион Моторс: BMW
Second site of the "Юнион Моторс" network. The Mercedes site features were ported here: case panel since July 10, 2026, calculator, review collector, SEO templates.
Landing pages are built from macros: standard blocks, H1, selling points and cases come from a registry instead of being copied by hand.
Technologies: WordPress, custom theme, ACF Pro, REST API. Block macros, Yandex Maps, Yoast Premium.
- Landing page registry grew from 13 to 78 rows: 13 series and 52 body styles, every page built from macros
- Case panel in production since July 10, 2026
- Review collector instead of the external widget since August 31, 2026
- SEO templates for cases and landing pages: title, description, unique fact
- "Before/after" widget and inline image macro
- Service selector engine replacement ported from Mercedes
- Unified site name format (September 2026)
Юнион Моторс: Hyundai
Third site of the "Юнион Моторс" network. Case panel in production since August 17, 2026. Review collector, SEO templates and the "before/after" widget ported from Mercedes and BMW.
The site headline is backed by 12,000 reviews and a 5.0 rating on Yandex. Reviews from Yandex Maps and 2GIS are gathered by a custom collector and shown on the first screen.
Technologies: WordPress, custom theme, ACF Pro, REST API. Clearfy Pro, Yandex Maps, Yoast Premium.
- Case panel in production since August 17, 2026
- SEO templates for case and landing page titles and descriptions: August 19 to 24, 2026
- "Before/after" widget since August 21, 2026
- Review collector instead of the external widget since August 31, 2026
- Service selector engine replacement
- Fixed social media previews in the case panel (September 2026)
Юнион Моторс: Nissan
Fourth site of the "Юнион Моторс" network: a homepage with a choice of six brands, Nissan and Infiniti sections, while the Mercedes, BMW and Hyundai cards lead to the brand sites. Built from July 28 to August 31, 2026 on the shared network theme.
The site lives on a test domain and is closed from indexing until it moves to the production address.
Technologies: WordPress, custom theme, ACF Pro, case panel REST API.
- 43 landing pages and 7 case pages converted into real WordPress pages
- 10 cases and 111 photos migrated through the panel REST API
- 41 site blocks editable from the case panel
- 109 internal links checked live
- Case panel launched on August 26, 2026
- Site on a test domain, closed from indexing
Новый Стандарт
"Новый Стандарт": three dental clinics in Smolensk, open since 2001. Maintained since April 2026: about 125 documented changes, each with a log and a rollback.
The new design rolls out page by page on top of the old site: a design system on a single Manrope font, mockups on 8 artboards, six page templates. The first 9 pages in the new design went live on August 31, 2026.
Yandex Direct ads brought 317 leads over three reporting months: 117, 105 and 95 per period. The best period grew leads by 46% with a 10% increase in spend.
Technologies: WordPress, ACF Pro, custom theme, React catalog, REST API. Yandex Metrica, Yandex Direct.
- Service catalog from scratch: 417 services in 30 categories, import from an Excel price list, React catalog and a service page
- Staff service panel: 36 REST routes, bulk grid editor, categories, gallery, CSV import and export, action log
- 9 pages in the new design: doctors, reviews, about the clinic, prices, installment plans, branches and three branch pages
- AIRFLOW/GBT cleaning landing page for paid traffic: page generator, a team of 25 doctors, voice messages from doctors
- Review block instead of an external widget: 11 sources on 5 platforms, collected by cron
- Meta tags: 467 pages had two titles and 413 had a canonical not equal to the URL. Now one per page
- Mobile page weight: homepage from 49 MB to 3 MB, implant page from 45.6 MB to 3 MB
- Readability on phones: 60 of 60 pages had text smaller than 12 px, now 0 of 60
- Yandex Direct for braces: 34 leads, 2.4x growth, cost per lead down from 370 to 159 RUB
- Lead leak through a public post type closed, 648 MB freed on hosting
- Server-side rendering of 418 service pages and removing noindex
- 12 commercial landing pages: pediatric dentistry, veneers, whitening, All-on-4 implants and others
Анатомия BMW
"Анатомия BMW": a specialized BMW service in St. Petersburg. WordPress site with templates from a Tilda export. Maintained since March 2026.
A second brand, "Анатомия Mercedes", is in preparation for the same client: a closed 8-page preview on a separate PHP layer and a Mercedes-Benz design system as an executable specification.
Technologies: WordPress, Tilda export in a custom theme, ACF, Yoast Premium. Yandex Metrica, Yandex Direct.
- Metrica goals: form submission and a composite goal "40% scroll plus click" on 4 site forms
- SEO: Yoast Premium and Site Kit, 16 indexing settings, author and date archives closed, 145 spam comments removed
- Redesign experiment: a router on 6 URLs, 2 design families and 3 first-screen variants, no indexing
- 21 client edits as one repeatable patch: contacts, map, schema.org AutoRepair markup, sticky header
- Unified opening hours on 5 pages and in openingHoursSpecification markup
- Printed BMW brand book: 20 A4 pages, rendered through Chromium with overflow checks
- Yandex Direct: keyword research, competitor campaign exports, goal and funnel scheme
- "Анатомия Mercedes" preview: 8 pages, 6 services, leads tagged separately (September 2026)
Красная Поляна
The "Красная Поляна" community 25 km from Smolensk sells residential land plots from 25 to 50 ares. The site was built from scratch in two weeks: brand book, copy, mockup, markup, lead form, launch. Live since August 2026.
The design was first assembled as a prototype in a design system, then moved by hand into a static site with no frameworks.
Technologies: Static site: HTML, CSS, JS, PHP form handler. Beget hosting, rsync deploy.
- Brand book with contrast measurements: text 13.44:1, blue accent 4.92:1
- Fonts without external requests: 3 families, 12 woff2 files, about 70 KB
- Form protection: atomic per-IP limit (20 simultaneous submissions produce 1 lead), Origin check, daily email limit, bot honeypot
- Seller details and phone in the footer and in JSON-LD markup
- Guidelines for Yandex Webmaster and Yandex Maps
- Plot prices and first-screen photo: waiting for client materials
Огненный Кленовый Лист
The company ships freight between China and Russia. WordPress site on the Brooklyn theme: I reworked the child theme, forms and service catalog, then handed the site over to the client with documentation. Work done in January and February 2026.
Technologies: WordPress, Brooklyn theme with a child theme, PHP and JS without form plugins.
- Custom lead system: a "Leads" post type, AJAX submission, email to the administrator
- Anti-spam: bot honeypot and a minimum fill time of 5 seconds
- Service catalog from XML: 16 services, a 3-column grid on desktop and 2 columns on phones
- Header, mobile menu, first screen with a typing effect, team slider, quote form
- Telegram widget in 5 variants
- 16 handover documents for the client
Зелёная Улица
The construction company "Зелёная Улица" builds turnkey timber frame homes. The WordPress site is hosted on my Beget account: migration from a Duplicator archive, maintenance, backups. Full site copy dated March 5, 2026.
Technologies: WordPress, WooCommerce, Elementor Pro, Astra theme and a custom theme. WP Rocket, Yoast Premium, Duplicator.
- Site migration to Beget hosting from a Duplicator archive
- WP Rocket cache configured for both domains: the old skgreenfirm.ru and the working skgreenstreet.ru
- House project catalog on WooCommerce: filters, extra product options, quick order forms
- Metform Pro forms, cost calculator, WhatsApp widget, Yoast SEO Premium
Green Land
Green Land: designer landscaping, artificial trees, planters and pots. Store on 1C-Bitrix, some landing pages on Tilda behind nginx. Bitrix24, Roistat, Comagic and Yandex Metrica connected. Maintained since April 2026: 71 log entries in July, 137 in August.
In July 2026 a staging server with a copy of the database and files was set up. It hosts the second site design by default: 80 edit steps by September.
Technologies: 1C-Bitrix, Tilda landing pages behind nginx. Bitrix24, Roistat, Comagic, Yandex Metrica, Yandex Direct.
- Cart and checkout reworked; product page: accordions, VAT, catalog filters
- "Ready solutions" section and two landing pages: custom planters and autumn decor
- Clean URLs for articles: 151 old URLs still open as before
- Found and removed the cause of 301 redirects on 5,000 product URLs
- Article template turned into a builder: 5 block registries, an editor button, author archive
- Sitemap cleanup from 13,786 to 2,229 URLs; SEO meta audit: 339 duplicates disabled
- Lead leak fixed and SSL restored
- Yandex Direct: service feed grew from 100 to 120 collections, 12 new ads, search query cleanup
- Moving the second design to the production site
- Work reports every two weeks
Озеленение
Website for commercial space landscaping services: living walls, offices, terraces. Maintenance and improvements in Tilda.
My predictive conversion service runs on the site counter: visitor behavior is scored and exported to Metrica so that Yandex Direct autostrategies learn faster.
Technologies: Tilda. Yandex Metrica (Stat API), Yandex Direct, predictive conversions.
- Homepage redesign: bounce rate down 6 percentage points, 9 points on ad traffic (before and after via Stat API)
- Ad audit: Yandex Direct reconciled with Metrica logs, reports on YAN campaigns
- Predictive conversions connected
- Yandex Direct: 12 new ads and 20 new collections in the service feed (July 2026)
- Fixed redirects in the /business/ section (August 2026)
FIVE7
Storefront of the F.7 jewelry brand: the frontend is built on Next.js and React (Tailwind, shadcn), the static export is packaged as a custom WordPress theme with WooCommerce and deployed with a single rsync command.
A parallel catalog build on WordPress: 2,052 products imported from a YML feed, faceted filters by metal, fineness, cut, clarity and certificate.
Technologies: Next.js, React, Tailwind. Static export as a WordPress theme with WooCommerce.
- Next.js storefront to the approved design, static export as a WP theme
- Import of 2,052 jewelry products from a YML feed
- Faceted catalog filter: price, metal, fineness, cut (14 SVG icons), clarity, certificate
- Chat landing page for the Tilda store: jewelry selection by 6 parameters, production stages, add to Tilda cart
- SEO enrichment scripts for the Tilda store product exports
- Tilda store audit: YML feeds, call tracking, e-commerce in Metrica
Ремонт квартир Москва
Website for apartment renovation services in Moscow and the Moscow region: services, prices, work portfolio. Custom theme launched on June 15, 2026, maintained with a change log and backups.
Ads run through a Direct API setup: statistics exports and search query cleanup with protection for converting phrases.
Technologies: WordPress, custom theme. Yandex Direct (Direct API v5).
- Custom theme launch (June 2026), feed and creative pipeline
- Portfolio: 20 real cases with before and after photos and 6 floor plans, 16 videos on the homepage
- "Resale" prices on all 12 service pages, dates in measurement popups calculated automatically
- Fixed blank photos in mobile Safari across the site
- Yandex Direct: geo-inverted negative keywords (Moscow and the region targeted, other regions excluded)
- Cleanup of 964 search queries: 24 negative phrases, 29 converting phrases protected, 0 affected
KRONOTEX
Online store of the official distributor of German KRONOTEX laminate: the approved design ported 1:1 into a custom WordPress theme with WooCommerce. Homepage, catalog, product page, CMS pages and blog.
The catalog is filled by a custom importer plugin: it gathers manufacturer data and loads decors into WooCommerce along with interior renders. 1C exchange connected since July 2026.
Technologies: WordPress, WooCommerce, custom theme. Custom catalog importer plugin, stock exchange with 1C.
- 1:1 design port: homepage, catalog, product page, CMS pages, blog, 404 and search pages
- Catalog importer plugin: parsing and import of decors into WooCommerce, interior generation
- "Pick by room", decor comparison, favorites, mega menu, "Where to buy", FAQ
- Site admin panel: 10 screens, 19 color tokens, a homepage builder with 13 blocks, a "Site Manager" role, leads
- 1C import: catalog grew from 448 to 921 products, every 1C row matched, stock exchange every hour
- Two catalogs: a manufacturer storefront with 198 products and a dealer availability page with 916 items
- Auto-deploy to production with backups (staging, then production)
Брок Сервис
Live website of a demolition company working with Brokk demolition robots: rental, service, equipment sales and Atlas Copco spare parts. Maintenance, content edits and section improvements with a change log.
Technologies: WordPress, WPBakery (Handel theme). Yoast, Search Console.
- "Atlas Copco spare parts" hub and 7 model subpages in a unified light design, price tables
- SEO: custom mu-plugin, Yoast meta on 27 pages, Search Console, structured data
- Telegram in the header, contacts and footer; section edits through WPBakery with backups
ПСК ТрубПром
"ПСК ТрубПром" sells used pipes and beams in Moscow. The client site runs on Tilda. For it I built a product card widget and a catalog widget, and for Avito a custom app instead of a third-party service.
The auto-listing app works without public access: a listings table, photos, feed export. Its description generator and photo uniqueness tool were ported from the script that ran the client's real feed.
Technologies: JS widgets for Tilda with obfuscation. FastAPI, SQLite, React, AG Grid.
- Catalog widget for Tilda: filters, search, sorting, loading from a YML feed, sticky sidebar; single-file build with 4 levels of protection
- Product card with a gallery, lightbox and add to Tilda cart
- Avito auto-listing app: a table with real Avito value lists, folder-based photo manager, XML and XLSX export
- Avito field reference from the official templates: 92 diameters, 38 wall thicknesses, 24 beam heights
- Catalog of 152 products and 5 addresses, feed validation before publishing
NEIRO STARS
A Telegram bot store running in production: sales of Telegram Stars, Premium subscriptions and TON delivered through the Fragment platform, plus rental of NFT gifts and collectible usernames.
Full billing inside: 4 payment providers (SBP, cards, crypto), an internal balance on an idempotent ledger, and a growth engine: referrals, auto funnels, tasks and games.
Scale: about 39,900 lines of Python, 29 database tables, 422 unit tests, strict typing (mypy strict).
Technologies: Python 3.12, aiogram 3, PostgreSQL, Redis. Fragment, 4 payment providers. React Mini App.
- Sales of Stars, Premium and TON through Fragment, rental of NFT gifts and usernames
- Payments: MulenPay (SBP), YooKassa (cards), CryptoBot and Heleket (crypto); webhooks and polling
- Internal balance ledger on Decimal with idempotent operations
- Gamification: farm, check-ins, games, wheel of fortune, tasks, leaderboard
- Two-level referral system, auto funnels, promo codes, happy hours
- React Mini App: a mirror of the bot on 26 JSON endpoints, admin panel with statistics and tracking links
- Manual approval of free currency withdrawals: a "Withdrawal requests" screen in the admin panel, checked every 20 seconds (July 2026)
NeiroSoft
NeiroSoft automates Telegram across hundreds of user accounts: commenting, views and stories, inviting, mailings, parsing, group cloning, mass reactions. Anti-ban engine with per-account action limits. Sold by subscription in the bot: cards, crypto, TON.
Since July 2026 the service has three interfaces: the bot, a Mini App and a desktop web version at app.useneirosoft.ru. Interface in 7 languages.
Scale: 162,700 lines of Python in the bot, 107 services, 32 handler modules; 166,000 lines of TypeScript in the Mini App and 103,000 in the web version; 1,817 unit tests and 352 Playwright scenarios.
Technologies: Python 3.12, aiogram 3, Telethon, Pyrogram, SQLite, aiohttp. React 18, TypeScript, Vite. Playwright.
- Desktop web version: 215 screens ported from mockups pixel for pixel
- Localization: 7 languages, about 17,000 strings across the interfaces
- Mass reactions module: 18 settings, speed forecast
- Release deploy: publish, switch and roll back without stopping tasks
- A separate process per task with session locks and memory protection
- Mailings in story mode, PeerFlood handling, auto-responder with follow-ups
- Commenting with OpenAI text generation, account warm-up and auto-registration, proxy store
- Subscriptions and payments: YooKassa, CryptoBot, Heleket, TON
- Daily development: 1,028 commits since July 2026
Hermes
My own Telegram assistant: every forum topic is a separate agent with its own prompt, tools and memory. Voice in and voice out. Answers are generated by Codex CLI on a subscription, tools are connected through MCP. Running on a server since August 2026.
Technologies: Python 3.12, aiogram 3, PostgreSQL 16 with pgvector, Redis, Telethon, Playwright, SearXNG, Piper TTS, Docker.
- 14 agents, 91 tools, 19 tables; 19,700 lines of code, 1,041 tests
- Yandex Direct through the API: 8 accounts, 80 campaigns, Wordstat with the same token
- Update monitoring: 23 Yandex sources twice a day, 3,646 records
- Channel reading through MTProto from a second account: 6 read-only tools
- 8 tools for editing code on the server and opening a pull request
- Security audit: 9 findings closed; nightly memory backup, 14 copies
- Stage 2 of 7 on the plan (September 2026)
Предиктивный маркетинг
My own predictive conversion service: a lightweight snippet on the client site captures the yclid and visitor behavior, scoring rules pick the visitors who look like buyers, and the conversions are exported to Metrica through the official API. The Yandex Direct "Maximize conversions" autostrategy learns faster where real leads are few. No personal data (Russian law 152-FZ).
Second part: optimization of live ad accounts through Direct API v5. Statistics exports by campaign, keyword and search query, negative keyword generation with protection for converting phrases, query cleanup applied to the account only after a dry run.
Technologies: Python, FastAPI. Direct API v5. Metrica: Offline Conversions, Stat API, Logs API.
- Multi-tenant conversion service: FastAPI, systemd timers, admin panel, encrypted client tokens
- Yandex Direct campaign report inside the service admin panel; a script that pushes Bitrix24 deals into a Yandex Audiences segment
- Search query cleanup for a BMW service: 4,357 queries, 152 negative phrases, 129 converting phrases protected, 0 affected
- Green Land: 7,211 queries, 469 negative phrases across 4 search campaigns
- Green Land: autumn feed from 22 to 30 cards; a pot campaign with 749 products and 995 negative keywords; fixed an empty product type on 128 cards that blocked 716 products
- Новый Стандарт: 30 YAN creatives, 60 ads rewritten after the braces promotion ended
- Campaign audit: uncovered KPI substitution, 184 "conversions" at 126 RUB with 0 real leads (real cost per contact about 3,870 RUB)
- End-to-end reports: Yandex Direct, Stat API and Logs API, real versus bot traffic reconciliation
- Managing the Green Land and "Новый Стандарт" campaigns (August 2026)
Use My Track
Use My Track promotes musicians on Spotify, with an audience in Brazil. Work from June to August 2026: Meta ad campaigns and two modules for the client site.
WhatsApp verification module: a form, a 6-digit code in a message, the lead is accepted only after verification. PIX payment module: plan, CPF, QR code, status polling every 3 seconds, activation by webhook.
Technologies: Dependency-free Node.js, WhatsApp Cloud API, Asaas PIX API. Meta Ads.
- Meta campaigns: 2 campaigns and 8 ads with UTM tagging, daily report exports
- WhatsApp Cloud API debugging: errors 130497 and 132001 found and fixed
- PIX payments through Asaas: customer deduplication by CPF, only a hash and the last 3 digits are stored
- Subscription activation only on RECEIVED status, the webhook body is re-verified on the server
- Tests: 33 checks in mock mode and 34 against the Asaas sandbox
- PIX module in pre-production: no database and no renewal scheduler
Get in touch: Telegram or e-mail nikitadenisov7548@gmail.com.