AI Product Builder · Co-founder of Deep In

I build whole products that usually take a team.

I co-founded Deep In and took it live on iOS and Android. On my own, I built a payroll system for a clinic of 100+ people and Varta, an AI anti-spam bot installed in 70 Telegram groups. I decide what to build and what to leave out, and run AI coding agents as my engineering team.

Based in Bulgaria · works US hours Full-time or long-term contract
In production now

Three products people use. All built this year.

Deep InCo-founder
1000

new Deep In users in the 28 days to Sep 28, with no money spent on ads

Clinic payrollSolo build
100+

staff whose pay the system calculates. In use at the clinic four weeks after the first commit

VartaSolo build
567k

messages processed in the last 90 days, in 70 Telegram groups

Selected work

What I've built, and what it does for people.

Co-founder · Product & AI lead · since April 2026

Deep In

Learn English from the videos you would watch anyway.

Paste any YouTube video and Deep In turns it into a lesson: word-synced subtitles in two languages, any word explained in context, flashcards from what you saved, and Solomia, an AI friend you can talk to out loud.

  • Took it from a working prototype to both app stores, with eight releases since August.
  • Led product, design and the AI experience, and built most of the app with AI agents.
  • Kept AI costs low: about $160 at list prices for AI, transcription and voice over the 28 days to Sep 28.
8
app languages
3,800
automated tests
176
countries on Google Play
deepin.world App Store Google Play
Deep In library with videos grouped by topic
Documentaries category with the line “True stories, filmed like cinema”
Home screen with an Add YouTube Video card above the most recent videos
Player with a video, English subtitles with the spoken word highlighted and the Ukrainian translation underneath
Word card for 'worthwhile' with its meaning in this sentence
Vocabulary list of saved words with their sentences
Flashcard for the word 'quirk' with its meaning
Sheet for the saved phrase 'get over the hump' with Practice, Watch in video and Share
Practice screen with quick starts: more examples, synonyms, how common it is, dialogue and other meanings
Solomia explains 'get over the hump' as used in the interview and lists close alternatives
Voice conversation with Solomia, shown as a golden droplet
01 / 11 · Watch

Real speakers, real speech

A library of videos people actually watch, sorted by topic.

The clinic payroll app's schedule grid with planned and actual shifts for a nursing team. All names and numbers are fictional.
Fictional data · confidential client
Solo build · confidential client · since June 2026

Clinic payroll

A clinic's payroll in one system, in use four weeks after the first commit.

The owner runs the clinic remotely, and pay lived in spreadsheets and people's heads. Now schedules, pay rules and payouts reconcile in one place for 100+ staff in four departments.

14
kinds of money entries
90+
access rules in the database
112
layout checks per release
Solo founder · since February 2026

Varta

Spam in a Telegram group quietly disappears. The admin hears about it in private.

Varta checks every message. Fast rules clear most of them, and the unclear ones go to an AI model that knows the group's norms, which the admin teaches it. It never announces removals in the group and never asks members to solve a CAPTCHA.

70
groups
45k
members in them
567k
messages processed in 90 days
getvarta.com Telegram bot

Growth experiments

Free tools that bring people to Deep In and Varta through search and AI assistants. They're early and traffic is still small; I treat them as experiments in distribution.

Feeds Deep In

WhatsMyEnglish

Free English tests with no signup: an adaptive CEFR level test, vocabulary size, idioms, slang, phrasal verbs and British vs American, plus five dictionaries.

943
pages, interface in 33 languages
whatsmyenglish.com
Feeds Varta

isitaspam

Paste any message and get a straight scam verdict. It runs on Varta's classifier, and an MCP server lets AI assistants run the same check.

3
AI models cross-check suspicious messages
isitaspam.com
How I see a product

I look at every product from five sides. Then I build.

Pick a lens to see a choice it led to in each product. Deep In is a team product, so its choices were made together.

What does a person feel in the first minute?

Deep In

Learners start from a video they already wanted to watch: any YouTube link becomes a lesson instead of a textbook unit.

Clinic payroll

The owner sees three numbers per person, earned, paid and still owed, instead of another spreadsheet.

Varta

No CAPTCHA for members and no removal notices in the chat. Spam disappears quietly, and the admin gets a private note with buttons.

How I build

AI agents write my code. I make sure it deserves to ship.

I write the spec, make the architecture calls, split the work between Claude Code and Codex agents, review what comes back, and own it in production.

My commits to main branches, per week

Code on main every week since February.

My commits to main branches per week, by product

Feb 23 – Oct 3, 2026 · from each product's git history · merges and automatic work-in-progress saves excluded · Varta counted from a local copy of its production repo, nightly automated commits excluded · hover or tap a week

  1. Write the rules down

    A global rulebook every agent follows, plus project rules where they matter. On Deep In a pre-commit hook runs the type-check and the backend tests, and rejects the commit if anything fails.

  2. Work in parallel

    Each task gets its own git worktree and its own agent: more than 100 worktrees on Deep In and the clinic system since July. A drift check runs when a session starts, and unfinished work is saved automatically, so collisions stay rare and recoverable.

  3. Review before anything leaves

    I went through about 99 commits our tech lead made on top of my pull requests, found 8 recurring kinds of correction with 4 root causes, and turned them into review commands, plus a hook that stops each push and PR to confirm the review ran.

  4. Attack it from several sides

    Before work counts as done, independent agents audit it in parallel, each from its own angle: correctness, security, data integrity, red team, API contracts, test integrity. Findings are verified, then fixed or written down, and the work is audited again.

  5. Release with a safety net

    Since the end of August every clinic release runs dozens of automated checks before and after upload, plus layout tests on 14 screens at 8 sizes, and the site rolls back with one command. I planted 49 bugs on purpose to prove the checks catch them.

  6. Measure from the source

    Deep In's metrics report pulls its figures from production through a skill I wrote and re-derives the unit economics each time it runs.

How I think

What I believe about building.

See the whole thing.

The product, the data, the release, the store listing, the first message a new user gets. Most failures live in the gaps between those, so I keep all of them in view at once.

AI optimizes for looking finished.

I learned that from the corrections our tech lead made to my AI-written pull requests. So the pressure of reality is my job: facts checked against the source, cost, time, and the person who will use it.

Make people feel capable.

I don't sell with fear, in product or in copy. Good software leaves people more confident than it found them, whether that's a learner or an accountant closing the month.

If a rule matters, the system enforces it.

Who can see salaries, what can never be deleted, which numbers changed after someone checked them. I put those rules in the database, where nobody has to remember them.

Before 2026Four years in the US.

In Chicago I built a women's community whose Telegram chat is still active, with more than 1,000 members. That's where I learned what people need from a group, and it's where Varta started: I built it to protect that chat.

Contact

Give me a product to own. I'll see it whole and ship it.

I'm looking for one team to commit to. Deep In is launched and my co-founder now leads its growth, and Varta is set up to run on its own. The roles where I'd do my best work:

AI Product BuilderFounding Product EngineerInternal tools & business systems
daryna@deepin.world
Based in Bulgaria · works US hours Fluent English · 4 years in the US Open to relocating with visa support Full-time or long-term contract
Case · Deep In
Co-founder · Product & AI lead

Deep In

Learn English from the videos you would watch anyway.

Role
Co-founder, Product & AI lead
When
April 2026 – now
Where
iOS and Android · Google Play in 176 countries

What I saw

People already spend hours on videos in English and still can't follow how natives actually talk: the speed, the slang, the accents. Courses answer with a simplified language. We went the other way and made the content people already watch learnable.

Watch the library or paste any YouTube link, read word-synced subtitles in two languages, hold any word to see what it means in this sentence, save it, practice it, and talk the video through with Solomia, your AI friend, by text or live voice.

My part

We are a small team. My co-founder is CEO and runs the business. An engineer built the foundation from January, including sign-in, the player, transcription and the first AI chat, and later the transcription queue and the live voice connection. A designer shaped the early interface.

I started building in April. Since then I've led product, design and the AI experience and built most of the app with AI agents under my rules: about four in five commits on main since April are mine. I also led store releases, the website, SEO and the brand.

Decisions we made

Bring your own video

A fixed library can never match what each person wants to watch, so any YouTube link becomes a lesson. 71 users have already added 99 videos of their own.

Keep AI costs in check

A priority queue keeps transcription inside the provider's limits, pronunciation audio is cached once and shared, and live voice has spending caps on the server. About 1,500 videos, 474 hours in total, were processed for roughly $441 at current API rates.

A friend you can talk to

Solomia talks in real time over a full-duplex voice connection. The server opens each call, so no API key ever reaches the phone.

Early traction

~1,000
new app users in 28 days
647
people watched a video
71
users added their own videos, 99 in total
$0
spent on ads
8
store releases in seven weeks
176
countries on Google Play

From production data and the subscription platform on Sep 28, 2026, a few weeks after launch. Users came from personal posts and conversations.

Under the hood

3,800
automated tests
384
backend functions
53
database tables
8
app languages

CI on every pull request, crash reporting, an external watchdog that alerts the team, a prompt-injection test suite for the AI, over-the-air updates, two live subscription plans with a third in testing, and a referral program.

Screens

Deep In library with videos grouped by topicDocumentaries category with the line “True stories, filmed like cinema”Home screen with an Add YouTube Video card above the most recent videosPlayer with a video, English subtitles with the spoken word highlighted and the Ukrainian translation underneathWord card for 'worthwhile' with its meaning in this sentenceVocabulary list of saved words with their sentencesFlashcard for the word 'quirk' with its meaningSheet for the saved phrase 'get over the hump' with Practice, Watch in video and SharePractice screen with quick starts: more examples, synonyms, how common it is, dialogue and other meaningsSolomia explains 'get over the hump' as used in the interview and lists close alternativesVoice conversation with Solomia, shown as a golden droplet

Timeline

  1. Apr 12My first commit on Deep In
  2. JunSubscriptions in the app
  3. Aug 7iOS 1.0 submitted to the App Store
  4. Aug 21Live on Google Play in 176 countries
  5. Sep 31.0.1 live in both stores; weekly releases follow
  6. Sep 291.0.8 in TestFlight

Stack

Expo · React NativeConvexRevenueCatOpenAI text, voice, transcriptionGladiaGoogle WaveNetCloudflareSentryClaude Code · Codex
Case · Clinic payroll
Solo build · confidential client

Clinic payroll

From pay that lived in spreadsheets and people's heads to one system a clinic runs its payroll on.

Role
Everything: discovery, product, build, support
When
June 2026 – now
Who uses it
Owner, director, coordinator, accountant · 100+ staff covered

What I saw

A private clinic with 100+ staff in four departments, run by an owner who works remotely. Schedules arrived as paper or PDF sheets per department, payouts as bank registers, and the rules lived in people's heads. What the owner needed were three numbers per person that hold up from anywhere: earned, paid and still owed.

The system turns shift schedules and pay rules into those three numbers. They recompute live, and a Gaps screen flags problems such as a shift worked with no rate or a payout with nothing earned behind it.

The product, with fictional data

The owner's overview: still owed, earned so far and the month-end forecast. All names and numbers are fictional.
The owner's overview: still owed, earned so far and the month-end forecast.
Planned and actual shifts per department, with overtime, vacations and sick days. All names and numbers are fictional.
Planned and actual shifts per department, with overtime, vacations and sick days.
One person's month: shifts, bonus, transfers to the bank and what is still owed. All names and numbers are fictional.
One person's month: shifts, bonus, transfers to the bank and what is still owed.
Data problems that would make pay wrong, from a missing rate to a payout with nothing earned behind it. All names and numbers are fictional.
Data problems that would make pay wrong, from a missing rate to a payout with nothing earned behind it.
A bank payout register matched to staff, with typos caught before import. All names and numbers are fictional.
A bank payout register matched to staff, with typos caught before import.
The same schedule on a phone. All names and numbers are fictional.
The same schedule on a phone.

The client is confidential, so every name and number on these screens is invented. The interface and the scale, 100+ staff, are real.

Decisions that shaped it

Payroll math lives next to the data

Pay is calculated in PostgreSQL, next to the data and its access rules, so every screen shows the same number: salaried, shift, hourly, revenue-share and piece-rate pay, two positions per person, rates dated by the day so a mid-month raise splits the month, salary prorated by each month's working hours, and overpayments carried forward.

Corrections leave a trail

Money corrections are made as reversals, an append-only journal records changes, and marking a person's month as final snapshots their totals, so the owner sees when anything changed after it was checked.

Access by role, enforced by the database

Five roles and over 90 row-level access policies keep pay data visible only to the people who need it; executive pay is visible only to the owner and the director.

Import instead of retyping

An in-browser spreadsheet reader imports bank payout registers with de-duplication and provenance. A schedule importer reads four different file layouts with typo-tolerant name matching. For the July paper schedules, I built a one-off pipeline with AI vision that read about 640 cells for about 50 people.

Release like it's money, because it is

Since the end of August every release runs dozens of automated checks before and after upload, plus layout tests on 14 screens at 8 sizes. A script checks the core files on the live site against what was published, the site rolls back with one command, and encrypted database backups are scheduled daily.

By the numbers

4 weeks
from the first commit to use at the clinic
100+
staff in 4 departments, 9 units
14
kinds of money entries
204
database migrations, checksummed
112
layout checks per release, 14 screens × 8 sizes
4
roles use it: owner, director, coordinator, accountant

Timeline

  1. Late JunDiscovery with the owner, specs and a clickable prototype
  2. Jul 6First commit
  3. Jul 8Real staff data loaded
  4. Jul 27The owner tests shift marking on production; installable app
  5. Jul 31July bank payout register imported and reconciled line by line
  6. AugPay calculated from marked shifts; the clinic reviewed every August number
  7. SepSchedule imports handed to clinic staff; sick-leave module

Stack

JavaScript app, installablePostgreSQLRow-level securitySQL views & triggersGated shell releasesClaude Code

The client and their data stay confidential.

Case · Varta
Solo founder · product, build, operations

Varta

Spam in a Telegram group quietly disappears. The admin hears about it in private.

Role
Founder and only builder
When
February 2026 – now
Where
Telegram · 12 interface languages

What I saw

Telegram communities, from diaspora and neighborhood chats to marketplaces, get flooded with job scams, crypto offers and casino spam. The usual bots answer with CAPTCHAs, keyword lists alone and noisy warnings in the chat, which annoy real members and still miss the clever scams. What admins want is for the spam to vanish without anyone noticing, and a quiet word in private.

Varta never announces removals in the group. It removes the spam quietly and sends the admin a private card with the reason and four buttons: Ok, Not spam, Unblock, Why? Admins choose how much to trust it, from watching only to fully automatic, and teach it what's normal for their group.

How a message is judged

Cheap checks first, AI when needed

An eight-step pipeline where cheap checks run first: look-alike characters are normalized, then keyword categories, learned patterns and profile risk. Only about 6% of messages reach an AI model, which gets the group's type, the norms its admin taught it and approved examples. Borderline verdicts get a second pass.

Pictures and known spammers too

Text in images is read locally in English, Ukrainian and Russian, QR codes are decoded, and known spammers are matched against the CAS ban list and Varta's own reputation data across groups.

Beyond single messages

Checks for bursts of joins and for accounts impersonating admins, and entry protection that bans known spammers when they join.

Decisions I'm proud of

Test rules on real data

A customer asked for a rule that bans people by their names. I tested it on about 2,600 people joining 40 groups: it would have caught 0 of the 55 who later turned out to be spammers. Today only a narrow check for drug-shop names remains.

Honest quality numbers

Varta removes about half a percent of the messages it sees, so a bot that deleted nothing would still score 99.5% accuracy. After customer feedback I added precision, recall and F1 to the admin quality reports.

No silent failures

A detector flags any group that has traffic but no AI checks. Backtested, it would have raised the alarm days before a real problem was noticed, with zero false alarms. AI calls fail over across three providers and fall back to rules if all of them are down.

Cost per check, measured

Prompt caching roughly halved the cost of each AI check. When a newer model came out, I ran both on a golden set: identical verdicts and only 8% cheaper, not worth a migration.

By the numbers

70
groups with Varta installed
44,789
members in those groups
566,963
messages processed in 90 days
2,992
removed in the same 90 days
133
test files
69
blog posts, translations included

From Varta's public stats on Oct 4, 2026. Groups and members are a current snapshot; messages and removals cover the last 90 days.

Timeline

  1. FebRunning in my own community chat of 1,000+ members, with an AI admin assistant that takes voice notes
  2. MayAdmin assistant with memory and proactive messages
  3. Sep 29Entry protection: known spammers banned on join

Stack

Node.jsSQLiteTelegram Bot APIClaude, OpenAI, Gemini with failoverLocal OCRStripeHetzner · CloudflareSentry
Case · Growth experiments
Solo builds · search and AI distribution

Growth experiments

Free, useful tools that bring people to Deep In and Varta through search and AI assistants.

WhatsMyEnglish

Six free English tests with no signup: an adaptive CEFR level test, vocabulary size, idioms, phrasal verbs, Gen-Z slang and British vs American, plus five dictionaries with 711 term pages.

An adaptive test in three stages

A short router places you on a track, the track narrows in on your ability, and a final stage probes the boundary of your nearest level. Questions were written with AI, then re-rated for difficulty by other models; 31 of them moved to a different level as a result.

Search plumbing at scale

943 prerendered pages, with the interface in 33 languages including right-to-left ones, hreflang, structured data, llms.txt and IndexNow. When the prerender crashed partway through the build, I tuned the run and added a chunked fallback.

A bridge to Deep In

On the English site, the level-test result suggests listening practice and offers Deep In for it.

isitaspam

Paste any message and get a straight answer: phishing, crypto trap, fake job, romance pattern, or just a normal message. It asks Varta's classifier first, and when a message looks suspicious, three AI models from different vendors check it in parallel. A developer API and an MCP server let other apps and AI assistants run the same check.

The first version took about a week in May, on Cloudflare Workers, with a vector index of real scams Varta had caught, 12 languages and a daily cost kill-switch.

Both are early. Search traffic is still small, and I treat them as experiments in distribution.