SYMONOV

─── independent dev studio · est. 2017 · 9+ years shipping production code ─────────────────

whoami

Serhii & Dmytro Symonov — two engineers, one studio.
Serhii — backend & WordPress plugin engineer (PHP, Laravel, wp.org-published).
Dmytro — frontend lead, Vue 3 + TypeScript specialist (composition API, Vite, design systems).
Clean code, no bloat, actually deployed.

view our work browse plugins

▪ ▪ ▪ ~/symonov · live utc+2 · --:--
$ cat ~/now.md
# actively maintaining
~  swifttrap-for-mailtrap   · wp.org
~  validation-muse-for-cf7  · wp.org
# published this year
~  vue-router-citadel       · npm
~  vue-json-editor          · github
# in flight
~  bazargram                · private beta
~  flavor (wp i18n)         · wip
$ availability
 --:-- utc+2 · open for projects
$ _
since 20179 yr
projects4+
wp.org2
brothers2
statusopen
┌─ SwiftTrap → API ─────────┐
                            
 endpoint  api.mailtrap.io/v3  
 token     ●●●●●●●●●●●●●●●●   
                            
 [ ▓▓▓▓ SAVE ▓▓▓▓ ]         
                            
 ── recent log ──────────  
  14:32  delivered       
  14:31  delivered       
  14:30  retrying        
  14:28  delivered       
  14:25  bounced         
└────────────────────────────┘
[ 01 ] SwiftTrap
┌─ contact-form-7 ──────────┐
                            
 name                       
 ┌────────────────────────┐ 
  Serhii                  
 └────────────────────────┘ 
                            
 email                      
 ┌────────────────────────┐ 
  not-an-email            
 └────────────────────────┘ 
 ⚠ please enter a valid email 
                            
└────────────────────────────┘
[ 02 ] Validation Muse
     ╭──────────────╮
      ▪ ▪ ▪      📶│
     ├──────────────┤
      bazargram   
      marketplace  
     │              │
      ┌──┐ ┌──┐    
      │▓▓│ │▓▓│    
      └──┘ └──┘    
       $24   $19   
     │              │
      [▓▓▓ buy ▓▓▓]
     │              │
     ╰──────────────╯
[ 03 ] Bazargram TMA
$ npm i vue-router-citadel

// router.ts
import { citadel } from '..'

const guard = citadel({
  outposts: [auth, role],
  verdict:  'redirect',
})

router.beforeEach(guard)

//  middleware ready
//  typescript happy
//  14 tests passing
[ 04 ] vue-router-citadel
═══════════════════════ ## 01 · stack ═══════════════════════════════

What we keep on the bench.

A short list. We've stayed on the same tools for ~9 years now — they're boring, they ship, they stay out of the way.

6 primary tools· 0 framework hopping· last revision · 2026-q2
01  php / laravel
primary backend. laravel for apis, raw php for wp internals.
laravel wordpress rest-api
02  vue 3 / js
composition api, vite, no opinions about state libs.
vue3 vite tma
03  docker / infra
docker compose everywhere. traefik, cloudflare, gh actions.
docker traefik ci-cd
04  mysql / redis
tuned for high-traffic wp. defaults are a suggestion.
mysql redis
05  ai integration
openai & claude in translation pipelines & tooling.
openai claude
06  telegram / tma
mini apps with vue 3. mobile-first ux without going native.
bot-api vant4
═══════════════════════ ## 02 · projects ════════════════════════════

Things we are shipping.

Open-source libraries, WordPress plugins, Telegram-native platforms. A short snapshot — the full list lives at /projects/.

Middleware-driven navigation control for Vue Router. Layered, predictable, scalable route protection.
by dmytro vue-router typescript npm
shipped
Visual JSON editor as a Vue component. Tree view, inline editing, type-safe.
by dmytro vue typescript oss
═══════════════════════ ## 03 · plugins ═════════════════════════════

Live on wordpress.org. Each one does one thing well.

Free, GPL-licensed, no telemetry. Submitted through the wp.org review queue. Maintained — not abandoned.

2 published· 0 calls home· → full catalog
ver name tagline category status
2.2.2 SwiftTrap for Mailtrap Send WordPress emails through the Mailtrap Email API (not SMTP). Bulk and transactional streams, categories, suppression list, email log. email active
1.4.2 Validation Muse for Contact Form 7 Custom error and required-field messages for Contact Form 7. CF7 6.x SWV-compatible, multilingual via Flavor, no global settings page. forms active

## about

— who we are #about

Two engineers running an independent dev studio. 9+ years shipping production code together. Serhii — backend & WordPress plugin engineer. Dmytro — frontend lead, Vue 3 + TypeScript specialist.

// (c) 2026 symonov · independent dev studio vimgittmuxdocker EOF — end of file —