CH.01WELCOME— transmission 01 — hello● REC · UTC+3
▸ CH.01 — WELCOME ABOARD

an engineer, broadcasting from limassol

i build software with AI agents, keep a few small products of my own running, and brew beer, distill moonshine, and cook off-screen. no agency, no decks — pull up a chair.

▣ CHANNELS / LIVE● REC
…something new
bookings & scheduling
02
agent-monorepo
spec-first monorepo for ai-coded teams
03
kind.events
events discovery · cyprus
04
matchpro.io
job marketplace · matching by meaning
tune in → me@evgentus.ru
or drop a postcard · tg / @evgentus88
CH.02ABOUT— — the operator behind the signalLOG / BIO
— hello, i am

Evgeniy Kuznetsov — engineer.

I build a few small products of my own — I design, code, and run them, sometimes with friends — and write about it now and then. No agency. No pitch deck.

I build software with AI agents, day to day. Based in Limassol, Cyprus — the sea is a 12-minute walk. Off-screen I brew beer, distill moonshine, and cook.

▸ based in
limassol, cy
▸ work
engineer · fintech / payments
▸ building
a few small products + agent-monorepo (oss)
▸ off-screen
beer, moonshine, cooking
▸ headcount
1 (+ friends, sometimes)
portrait.jpg
evgeniy kuznetsov
▸ self-portrait● REC
P.S.
don't call me a founder —
i just make things 🛠
CH.03WORK— 3 live, 1 cooking
CH.04CASE STUDY— — matchpro.io · matching by meaning, not keywordsCASE STUDY · ~6 MIN
¶ case study — 01·semantic matching·solotags: matching · semantic · privacy

The old engine matched keywords . The new one matches by meaning .

by Evgeniy·Jun 13, 2026·~6 min read

M atchpro runs on one opinion: matching is not search. for years the matching leaned on exact rules — keyword overlap and hard filters. that works while everyone shares a vocabulary, and gets brittle the moment they don't. so it moved from words to meaning.

"Matching is not search. Search rewards precision. Matching rewards being interestingly close."
  1. 01
    match by meaning
    compare a profile and a role by what they mean — close-but-differently-worded fits surface instead of getting missed.
  2. 02
    keep the hard rules
    meaning finds candidates; explicit constraints still decide who qualifies. boring rules earn their keep.
  3. 03
    don't lean on one vocabulary
    meaning travels where keyword tables don't — past a single field or language.
  4. 04
    privacy by default
    match over anonymized profiles. identity revealed only by mutual consent.
outcome · qualitative
match qualityfinds interestingly-close people keyword matching walked past.
reachworks past one field and one language — no per-field synonym table.
privacymatches over anonymized profiles; identity by mutual consent.
match-quality / weeks
w01w04w08w11
CH.05WRITING— journal · long reads
CH.06NOW— — what's on air
▸ NOW PLAYING

building products + tools — with ai agents, from limassol.

reading
A Philosophy of Software Design
by John Ousterhout
listening
Boards of Canada — on repeat
Music Has the Right to Children
off-screen
brewing beer,
distilling,
cooking.
CH.07USES— — stack, tools, deskREVIEWED · JUN '26
code/
typescript
the default
vue · nuxt
web
react
web, when it fits
nestjs · prisma
backend + orm
flutter · dart
mobile
postgres · pgvector
data + vectors
tools/
cursor
editor
claude code
ai pair
terminal.app
terminal
open design
design
desk/
macbook pro
work machine
m4 max · 64gb
services/
vercel
web hosting
hetzner
servers · vps
google cloud · aws
cloud
cloudflare
dns · cdn
resend
email
stripe
payments
openrouter
llm gateway
sentry
error tracking
bigquery
analytics
meilisearch
search
redis
cache · queue
CH.08SIGNAL— — send a transmission● REPLYING · USUALLY <24h

Drop me a line — I read every one.

Best for work inquiries, kind.events partnerships, and folks curious about matchpro.io. Worst for cold sales.

▸ email
me@evgentus.ru
preferred
▸ telegram
@evgentus88
fast
▸ github
github.com/evgentus-cy
code
▸ instagram
instagram.com/evgentus.ru
photos
▸ linkedin
linkedin.com/in/eugene-kuznetsov-37aa1057
work
if it's 3am your time, i might be asleep. otherwise i'll reply within a day.
compose-transmission.form● READY
CH.09BEHIND THE TRANSMISSION— — how this site was madeCOLOPHON · 1 cat
▸ CH.09 — COLOPHON

the site you're on was designed out loud — here's the transcript.

no framework templates, no Figma-to-code handoff. i built everything in the browser, talking to AI agents as collaborators. cozy-CRT direction, light + dark themes, responsive + a11y pass — all iterated live.

— timeline · phases of signal
phase 01
tuning the dial
picked the voice (broadcast, warm, honest). chose 4 fonts. drew deploy. iterated directions until 'Cozy CRT' locked.
phase 02
channels live
hi-fi on every section: hero, about, work, case, writing, now, uses, signal, 404, footer. iterated in-browser, not in a mockup.
phase 03
paper mode
light theme that isn't just 'dark theme inverted'. re-tuned amber, green, shadows, scanlines so it reads like sun-bleached paper.
phase 04
responsive & a11y
responsive specs, design tokens locked, a11y audit, light + dark themes verified. wrote this very page. deploy got a nap.
sitemap.map
▸ routes
/ home · you are here
/about who & why
/work case studies
/work/:slug case study
/writing the journal
/writing/:slug one post at a time
/now what i'm working on now
/uses the stack · right here ↓
/signal say hi
/* the lost channel
the tube, opened up
FRAMEWORK
nuxt 4 · static ssg
prerendered, ssr-rendered html. no runtime data fetching.
STYLING
tailwind 4 + design tokens
every value is a css var (var(--…)). token pipeline → css custom properties.
CONTENT
@nuxt/content · markdown
writes like a notebook, ships like a site
FONTS
Space Grotesk · Fraunces · JetBrains Mono · Caveat
display / serif italic / mono / hand
HOSTING
static · prerendered
fast enough that you don't notice
ANALYTICS
none
no cookies, no banner, no tracking
— five rules, taped to the monitor
RULE 01
one signal per screen
red is never decorative. if it's red, tap it.
RULE 02
warm, not cold
dark mode that smells like coffee, not a server rack.
RULE 03
type does the heavy lifting
four typefaces. one job each. no decoration.
RULE 04
motion carries meaning
blink = now. pulse = live. everything else sits still.
RULE 05
deploy everywhere
if a screen felt lonely, the cat moved in.
1
cat
thinking about building your own weird corner of the internet?
i love talking shop. pick a channel.