DARIA SMIRNOVA

MY PRODUCTS

My products

All three I thought up and built myself. Shotra sells photo shoots to real people right now. «Where's My Home?» picks a country, city and neighbourhood to move to across seventy-odd parameters — launching in September. Jana watches production for these services and answers their clients.

  1. 01 Shotra AI photo shoots. Live and public: 236 styles in the catalogue, 10,000+ images generated. Conceived, built and shipped to production alone.
  2. 02 Where's My Home? A Telegram bot that picks a country, city and neighbourhood to move to. Scoring across 72 parameters, with no hallucinating model in the loop. Launching September 2026.
  3. 03 Jana A personal assistant in Telegram on top of Claude. Hears voice, sees images, remembers, fixes code when asked in a chat message.

AI PHOTO SHOOT SERVICE · 2026

Shotra

You send in your own photos and get back a finished shoot in the style you chose.


Why

At fifteen I was bleaching my hair blonde in a pirated Photoshop and pasting my face into magazine spreads. When I was made redundant at Sber, what I felt was not fear but release — I had finally been pushed into doing the thing I had wanted for years. And good photographs are needed all the time: a profile, a CV, a job application. A shoot, meanwhile, costs a few thousand roubles and a whole day, and you cannot know the result in advance. Shotra grew out of a single question: what is left of a photo shoot once you take away the studio, the photographer and the shooting day.


How I did it

Alone, from hypothesis to production: web app, generation pipeline, payments, client side. I ran the advertising myself too, and half the product decisions came out of that — a funnel shows you which step people leave on, and what that step costs.


Timeline

  1. 6 FEBRUARY 2026

    First commit. The project was called AI Photoshoot back then.

  2. + 6 DAYS

    Payments working inside the bot.

  3. + 17 DAYS

    Release with a promo code for 23 February. Three weeks from idea to a working service.

  4. + 4 MONTHS

    First real payment — 51 roubles. The payment button had been ready four months before the demand showed up, and that is the main lesson of the project.

  5. NOW

    10,000+ images, 500+ users, 236 styles. Pricing rewritten six times.


Главная страница Shotra с заголовком «Фотосессии за пару кликов»

Catalogue — 236 styles

Каталог стилей Shotra: ряд превью с разными образами
Раздел «Популярные фотосессии»: сетка готовых результатов

What I decided

  • Everything on the web, the bot comes after payment

    Ads used to lead straight into a Telegram bot, and part of the audience fell out at that hop. I moved the landing page, the generation and the payment onto the web — the bot now belongs to people who have already paid.

  • The campaign goal is a payment, not a click

    An ad algorithm will happily optimise for button clicks and bring you people who click. There may be no paying customers among them at all. I moved the goal onto the payment event.

  • Don't change the structure mid-flight

    Reworking the landing page and the prices resets the campaign's learning. I fix bugs immediately, but hold prices and catalogue structure unchanged for at least two weeks.

As published on www.shotra.ru

10 000+
images generated
500+
users
236+
styles in the catalogue

What's next

  • A cascade instead of a shop window of tariffs

    When six packages are shown at once, the visitor has to work out the grid for themselves. I am breaking the paywall into a sequence: one clear tariff first, a lighter one behind it.

  • A result page

    Someone who has seen their own photos once wants more. A dedicated result page is the next large piece of work.

  • Bringing the audience back

    A channel and a mailing list, so that traffic does not leak away after one visit. Results here show up on a quarterly horizon.


Built with

Nuxt (Vue 3) · Vite · Railway · Cloudflare R2 · Nano Banana (Google Gemini) · YooKassa · Yandex.Metrica

TELEGRAM BOT · RELOCATION · LAUNCHING SEPTEMBER 2026

Where's My Home?

A bot that works through a long questionnaire to pick a country, city and neighbourhood to move to.


Why

We decided to relocate, and it turned out the whole world was in front of us: plenty of countries are open, but each has its own visas, its own income requirements, its own climate and its own customs. I started working out where we could realistically move. «Where's My Home?» grew out of that research — the same question faces everyone who is about to leave, and everyone solves it again from scratch, by hand.


How I did it

The scoring is done by an engine, not a language model: 72 parameters, each with its own source and date. The same person gets the same answer twice, and can look at what that answer is made of.


Timeline

  1. MARCH — APRIL 2026

    We finally decided to look for a home outside Russia. That is when the question that gave the project its name came up.

  2. THEN

    It became clear that numbers were needed and that a model's advice was not enough. What was needed was an algorithm that shifts its answer to match a particular person.

  3. LONGEST OF ALL

    The data: finding over seventy parameters in open sources and bringing them into one shape. Plus tuning the weights, so that a country does not jump ahead on something this person does not care about.

  4. SEPTEMBER 2026

    Launch. Two weeks of preparation left; the bot is closed until then.


Project site

Первый экран сайта WhereToMove: заголовок «Найди город для переезда — под свою жизнь» и карточка Арресифе с совпадением 84 %

Bot screens: the form, comparison, details

Три шага работы бота: анкета о себе, сравнение городов и уточнение деталей — с экранами бота в телефонах

Sample result — the free match

Пример бесплатного подбора: Арресифе 84 %, Лас-Пальмас 83 %, Фуншал 82 % с пометками, чем хорош каждый город

Sample result — choosing together

Пример подбора для двоих: общий список городов с учётом пожеланий обоих партнёров

Personal report, visa section

Фрагмент личного отчёта: виза цифрового кочевника в Испании, порог дохода 2 849 евро, шаги подачи и чек-лист документов

What I decided

  • We are not selling a list of cities

    Lists of «the ten best countries» know nothing about your passport, your income, or who is travelling with you. The raw data is free and available to everybody. What people pay for is the anxiety lifted before a big decision, and the trade-offs laid out honestly.

  • An engine, not a language model

    People choose where to move once in a lifetime, and an invented answer costs more here than a boring one. So the ranking is computed with TOPSIS, a formal multi-criteria method. A language model in that slot would answer differently every time.

  • The main competitor is ChatGPT

    Not Nomad List, not relocation agencies: on price we compete with free manual research. Which means we have to win on reproducibility, on sources, and on the questionnaire remembering the person. Nobody is impressed by volume of data.

  • The neighbourhood, and being alone

    You have picked the city — but where inside it do you live? Daily life is decided by the neighbourhood, so there is a separate layer for it. And a loneliness layer: where to go so as not to end up there on your own. Neither catalogues nor agencies have this.

  • A model for a rare purchase

    A subscription to something you need twice in a lifetime does not work. So the free bot gives reach and a lead, the money comes from a one-off report, and only after that does a monitoring subscription for visas and prices start to make sense.

  • What cannot be copied

    The factor weights are still heuristic — the strategy document says so plainly. Matching accuracy grows with the number of completed questionnaires and the feedback on them, and a new player simply does not have that.


Built with

Python · python-telegram-bot · DuckDB · pandas · pyarrow · scikit-learn · pymcdm (TOPSIS) · FastAPI · VPS

PERSONAL ASSISTANT · 2026

Jana

An assistant that lives in Telegram under an account of her own and answers like a person, not like a bot with slash commands.


Why

For several months I watched the assistants my friends were running: I tried talking to them, and listened to what people complained about and what they praised. The conclusion came out the same every time — setting one up is hard work, and half the built-in features are of no use to the owner. So I decided to build my own. I wanted to build my own memory framework and my own functions, and to get right into it.


How I did it

The model itself remembers nothing, sees nothing and can do nothing with its hands. All of that comes from the scaffolding around it, and the scaffolding I built. The first things working were voice transcription, memory and a morning brief with the day's tasks; right behind them came web search, her own browser, reading images, and a calendar with reminders. Jana lives under a full Telegram account, which is why she joins chats and groups and subscribes to channels on her own — a bot cannot do that.


What she can do

  • Watches production and answers clients

    She has access to my services in production: she reads logs live and tells me herself if something has fallen over or a client has hit an error. She is also the first line of support — clients write to her directly, she answers herself, and calls me in only when she does not know the answer.

  • Hears and sees

    Voice messages are transcribed on my own laptop through mlx-whisper — free, and the recording never leaves the machine. A photo she is sent is shown to the model and deleted immediately. She sees stickers and the reactions under messages.

  • Remembers

    A separate context per person, carried on between messages. She remembers who I agreed to meet, what I was thinking about last week, and what my ideas turned into. Plans for posts and projects I simply dictate to her out loud.

  • Works with her hands

    A voice message that starts with the word «task» switches her into working mode: she edits code and fixes projects straight from the chat while I am out walking. Before touching any files she repeats back what she heard.

  • Comes to me first

    In the morning she sends a summary and the day's tasks. In the evening she asks whether I did them, and carries whatever is left over to tomorrow. She reminds me about training, about meetings, and about what needs preparing for a meeting.

  • Assembled from modules that match a life

    Separate modules for calendar, tasks, food diary, health, sport, psychology and photo search. Each one can be edited or switched off on its own — which stops working once everything lives in one sprawling prompt.

  • Keeps a medical record

    Appointments, test results, how indicators move over time, prescriptions — all in one place and linked by date. Of all her functions this is the one people who have seen Jana working most often ask to have for themselves.

  • Obeys only me, and restarts herself

    An allow-list by identifier, a per-person hourly limit and a daily one. In group chats she answers only when called. «This is Daria» from somebody else's account does not get through. If the process dies, a watchdog brings it back without me.


Built with

Python · Telethon · headless Claude Code · mlx-whisper · ffmpeg · launchd · memory in markdown files