Operations & Automation Β· Ulaanbaatar, Mongolia

Anu-Ujin
Erdenebaatar

🌐 Open to globally remote roles · no visa or relocation needed

Operations manager who builds the automation layer. I find what is broken, work out exactly why, then build systems that fix it permanently. Every tool here started as a problem costing my team hours they didn't have β€” and ended as something that runs itself.

Get in touch
30 min β†’ 10 sec
Campaign intelligence that required manual cross-referencing across five sheets and two platforms now answers itself on demand.
Zero false leads
Platforms flagged autoresponders as interested leads. Built a Zapier correction layer so that response data is clean at the source, not cleaned up downstream.
Built outside remit
Hundreds of sender accounts, two outreach platforms, six variables. Unified into one real-time dashboard with a Claude chatbot. Self-initiated, zero budget.

Let's work together

Open to globally remote ops, automation, and product roles. Independent contractor from Mongolia β€” no visa or relocation needed.

Anu-Ujin Erdenebaatar
Operations & Automation Manager Β· what3words Ltd
πŸ‡²πŸ‡³ Ulaanbaatar, Mongolia (current) πŸ‡ΊπŸ‡Έ USA Β· 10 years πŸ‡―πŸ‡΅ Japan Β· 8 years 🌐 Fully remote Β· UTC+8 ✈️ Open to globally remote roles
meet me
πŸŽ™
Short intro recording coming soon. If you are reading this from the other side of the world, the easiest way to answer the English question is to just talk.
the story

I did not start out as a builder. I started in partnerships at what3words, a global tech company operating across 193 countries. The role covered a lot more than inbound sales β€” admin, customer success, operational support across the board. At some point I got frustrated enough with the manual side of it and just thought: there has to be a better way.

So I taught myself Google Apps Script from documentation. Then the Salesforce API. Then Make, Zapier, and as we introduced new platforms, their REST APIs. Not from courses β€” from documentation, from breaking things, from building something and then watching it actually work. The moment a tool I built got adopted as the team standard, when people started using something I made to do their jobs better β€” that was when I knew this was the direction I wanted to go.

What I love about operations is the clarity it brings. Understanding what is actually broken, why it is broken, and what a system would look like that does not break. Then building it in a way that other people can use β€” with a button, not a manual, so it actually gets used.

I have grown up across three countries β€” ten years in the US, eight in Japan, and currently back in Mongolia where I work fully remotely. I also co-parent my younger brother. That background shapes how I think: I understand global teams, async communication, and why documentation is not optional when your colleagues are spread across time zones.

// how I think about this work

If you are capturing data correctly and documenting properly,
automation should always be possible.
The problem is almost never the technology.
It is that nobody has questioned whether the manual work
needed to exist in the first place.
certification
πŸ”
AI Governance and Security Certificate
Securiti Β· AI governance, data privacy, security compliance
in progress

Open to the right opportunity

Globally remote ops, automation, and product roles β€” ideally AI-heavy. Independent contractor based in Mongolia. No visa, no relocation, no timezone problems.

real builds Β· what3words
Work Projects
Every project here started as a problem costing real time. I identified it, scoped it, built it β€” usually outside my official remit, with the access I had. These are not concepts. They are live and in use. Hover any animation to replay it.
01 Β· Real Build Β· what3words Β· v3 active development
Campaign Intelligence Dashboard
Live internallyv3 active
hover to replay
Instantly API
Lemlist API
Master Sheet
Zapier Events
Drive Snapshots
Data sources
unified
GO Campaign Intelligence
Open Rate
35.5%
+5.5%
Reply Rate
5.4%
above bench
Bounce
2.6%
1 flagged
Claude: Enterprise_UK_Q2 leads with 7.0% reply rate β€” subject line change Apr 14 drove open rate 38% to 45%
Live dashboard
Multiple platforms, multiple sources, now in one place. What, why and how all easily visible and answered.
Problem
Five sheets. Two outreach platforms (Instantly and Lemlist) with separate analytics, each with different campaign types, different UX. Six variables tracked simultaneously: sender health, live performance, A/B results, copy strategy, response quality, suppression. 30 minutes of manual cross-referencing for any single question. Tables in Sheets made patterns invisible.
Solution
Multi-page web app built on Google Apps Script. Webhooks pull live stats from both platforms. Drive snapshots preserve completed campaign data before it disappears from the API. A changelog links every strategic change (copy angle, ICP shift) to performance outcomes. Claude API chatbot answers questions from actual data.
Apps ScriptWeb AppInstantly APILemlist APIWebhooksDrive APIClaude APIClaude MCPSlack APIREST APIs
Impact
10 secQuestions that took 30 minutes of cross-referencing now take 10 seconds. Campaign patterns visible at a glance. Strategic changes connected to outcomes. Historical data preserved even after campaigns end and APIs clear.
Why this approach
The data existed. The problem was access β€” who could read it, how fast, and in what form. The dashboard does not create new information. It makes existing information usable. Webhooks over polling because event-driven is more efficient and accurate. Snapshots because API data disappears when campaigns complete.
02 Β· Real Build Β· what3words
Instantly Campaign Management Suite
Live
hover to replay
Campaign Manager
Instantly Tools
Campaign
Enterprise_UK_Q2
Leads
2,500
Complete by
Apr 26
One-click assign
API assigns
Sender Assignments Log
Campaign
Sender
Cap
1
Ent_UK_Q2
alex@out
30
2
Ent_UK_Q2
maya@out
30
3
Ent_UK_Q2
sam@out
15
Assigned and logged
Reducing 5 team members work to 1
Problem
Hundreds of sender accounts with different daily limits had to be manually assigned to campaigns. Instantly had no bulk action β€” copy-paste did not work on the platform. You typed each email one by one. Weekly work. Error-prone. A slow start to every campaign. No quick answer to "when will this campaign complete?"
Solution
Full suite connecting to Instantly V1 and V2 APIs. Calculator takes campaign size and target date, figures optimal sender count and distribution, assigns automatically, logs to the master sheet, prevents duplicate assignments across campaigns. Staggered triggers handle hundreds of accounts without hitting execution limits.
Instantly V1 APIInstantly V2 APIApps ScriptTTL CacheExponential BackoffPropertiesService
Impact
AutoCampaign planning no longer blocked on account assignment. Full audit log, zero duplicates. And now you can answer "when does this campaign finish?" in two seconds instead of doing the math by hand.
Why this approach
It is all numbers and logic. Account limits are known, campaign sizes are known, the rest is math. There is no reason to do this by hand every week. The calculator also tells you before you start whether you have enough sending capacity to hit the deadline.
03 Β· Real Build Β· what3words
Zapier Data Integrity Suite
Live
hover to replay
πŸ“₯
Inbox
Outreach Inbox
Out of office replyAuto
flagged as lead incorrectly
Yes, very interested!Genuine
real lead Β· continues sequence
Mail delivery failed5.1.1
sender health risk logged
Front tagging
Zapier bridge
what3words
outreach
data-integrity2
data-integrity
Z
Integrity Botnow
Status corrected Β· auto-reply removed
Genuine lead continues. Auto-reply stopped.
!
Health Botnow
5.1.1 spike Β· sender01@out.io
Undeliverable rate up. Health at risk. Logged to sheet.
Corrected + alerted
Accurate data, in real time, that AI cannot produce without the underlying manual work being replaced first
Problem
Sending thousands of emails a day means a lot comes back β€” autoreplies, out-of-office, delivery failures. Outreach platforms use keyword matching, so autoresponders were flagged as interested leads. Data corrupted at the source. Undeliverables were quietly killing sender health scores without anyone noticing.
Solution
Three connected Zapier automations: Front email tags sync to Instantly to correct lead status in real time. Undeliverable emails extracted and logged with error codes (5.1.1 etc.) per sender account. Inbound lead sources cross-checked and pinged to Slack. All feed into cost analysis and the intelligence dashboard.
ZapierFront APIInstantly APIGoogle SheetsSlack APIWebhook triggers
Impact
Clean dataResponse data is now accurate. Undeliverability tracked by error code. Sender health visible before it becomes a deliverability problem. Cost analysis based on real conversions, not false positives.
Why this approach
Manual email review was already happening. The data existed. Connecting Front to Instantly via Zapier meant work already being done became the automation trigger. No new work required β€” just routing existing actions correctly.
04 Β· Real Build Β· what3words
Salesforce Subscription Weekly Report
Live
hover to replay
SubscriptionsAccounts
Plan Journeys Β· This Week
Acme Corp
Starter β†’ Pro
↑
Build Co
Pro β†’ Starter
↓
ScaleFast
churned
βœ•
Salesforce data
connector
Weekly Report
Auto-generated
Metric
Value
Change
1
Upgrades
12
+3
2
Downgrades
4
+1
3
Churn
2
+2
4
Net MRR
+$840
↑
Auto-populates
Mon 9am
what3words
general
weekly-report1
weekly-report
G
Report BotMon 9am
Week 16 Ready
12 up Β· 4 down Β· 2 churn Β· +$840
Posted to Slack
The Monday morning report that took an hour of manual work now posts itself to Slack before anyone opens their laptop
Problem
Weekly subscription health report required manually cross-referencing Salesforce, LookerStudio, and Slack. Simple data, three places, one tedious hour every week. The report was already slightly outdated by the time it landed in Slack.
Solution
Connected Google Sheets to Salesforce via the native connector. Custom report captures plan journey data β€” upgrades, downgrades, churn. Sheet auto-populates on schedule, then posts a formatted summary directly to the #weekly-report Slack channel every Monday morning.
SalesforceSheets ConnectorGoogle SheetsSlack APIApps Script
Impact
0 hrsZero manual input. Always accurate, always on time. Report is in Slack before anyone has opened their laptop on Monday. Time saved goes to reading the numbers, not compiling them.
Why this approach
Reports are just data you already have, presented differently. If you are documenting correctly, automation should always be possible. New metric = one extra field in the Salesforce source report.
05 Β· Real Build Β· what3words
Lead File Cleaner and Suppression System
Live
hover to replay
leads_raw.xlsx
Raw Export
Email
Company
Status
1
not@valid
Acme
err
2
j@b, j@b
Build
dup
3
ceo@sc.io
Scale
ok
4
Empty Co
miss
Raw (4 rows, 3 issues)
one click
leads_clean.xlsx
Clean OutputDone
Email
Company
Ready
1
ceo@sc.io
Scale
βœ“
β€”
invalid email removed
β€”
duplicate removed
β€”
missing email removed
1 valid Β· 3 removed
Reducing time and man power to seconds and a click of a button
Problem
Lead files from Outscraper arrived messy β€” bad emails, duplicates, wrong formats, multiple contacts under one company. Cleaning one file took 30 minutes. We had hundreds waiting. A quiet bottleneck eating time nobody had named.
Solution
Google Apps Script with a button embedded directly in the Sheet. Validates every email, removes duplicates, formats to one contact per row, cross-references suppression lists, outputs a file ready to load into Instantly or enrichment tools.
Apps ScriptGoogle SheetsOutscraperEmail validation
Impact
secondsDown from 30 minutes per file. Works at any volume. Nobody touches cleanup manually anymore. Saves enrichment credits by removing bad data before it hits paid APIs.
Why this approach
Apps Script is native to Google Sheets β€” zero setup friction. A button means anyone on the team can run it. One script handles multiple file formats without rebuilding anything. Non-technical teammates never need to touch the code.
The real insight
Most operational bottlenecks are not complex. They are undocumented manual steps that nobody has questioned yet. The skill is not the code β€” it is recognising that the 30-minute task should not exist in the first place.

Interested?

Open to globally remote ops, automation, and product roles. No visa or relocation needed.

system design Β· concept builds
Concept Automations
These are not gaps in experience β€” they are patterns I have seen repeatedly and know how to build. Simple in concept, significant in impact.
In Progress Β· Internal Ops Β· what3words
Tech Knowledge Base Chatbot
In DesignClaude APINotionSlackFrontMCP
Support agent asks
"API rate limit on free tier?"
1 req/sec free, 10 req/sec Pro. See Notion: API Guide for full breakdown with examples.
pulls from
πŸ“‹ Notion KB
πŸ’¬ Slack history
πŸ€– Claude API
Problem
Support teams get frequent technical queries. Answers exist in Notion docs and old Slack threads but finding them requires knowing where to look. Ends in someone pinging a senior team member for the same question answered last month.
Solution
Claude-powered chatbot embedded in Front. Connects to the Notion knowledge base and Slack history. Returns answers with source links so agents can verify.
Claude APINotion APISlack APIFrontMCP
Expected Impact
Self-serveAgents get instant sourced answers. Senior team stops answering repeat questions. Knowledge stays accessible as the product evolves.
Status
Architecture scoped. Pending Claude API access approval internally. Notion and Slack connections mapped. Build timeline: a few focused days once approved.
Concept Β· Customer Ops
Support Ticket Auto-Categorisation and Routing
ConceptMake.comFrontSlack
Click a ticket type to see it route:
Problem
Support teams spend meaningful time every day just reading and forwarding tickets to the right person. Every minute on routing is a minute not spent resolving.
Solution
Make.com watches Front for new tickets, reads subject and body, categorises by type, assigns to the correct team, tags in Front, pings the right Slack channel β€” before a human opens the inbox.
Make.comFront APISlack
Projected Impact
<30sFrom arrival to correct team assignment. SLA clock starts earlier. Focus on resolution, not triage.
Scalable Because
New category = one new Make.com branch. Routing logic lives in one auditable place. Works for any team using Front as their inbox.
Concept system design. Pattern derived from operational experience. Ready to build.
Concept Β· Revenue Ops
Signed Contract β†’ Automated Customer Onboarding
ConceptZapierNotionSalesforce
hover to replay
DocuSign
Acme Corp Β· MSA
awaiting...
βœ“ Signed Β· webhook fired
Contract signed
Zapier
πŸ“‹Acme Corp β€” Onboarding
πŸš€ Acme Corp
StatusActive
AMSarah K.
PlanPro

βœ… Welcome email sent
βœ… Kickoff scheduled
⬜ Day 7 check-in
Workspace created
Problem
When a customer signs, teams manually send welcome emails, create Notion workspaces, assign AMs, log in Salesforce. Steps get missed. Quality depends on who is working that day.
Solution
DocuSign webhook triggers Zapier. Notion workspace created from template. Welcome email sent. Salesforce updated. Slack ping to the account team β€” before anyone opens their inbox.
ZapierNotionSalesforceSlack
Projected Impact
<5 minSignature to fully set-up. Every customer gets the same quality β€” not dependent on headcount or who sees the notification first.
Scalable Because
1 or 100 customers per week β€” same flow. New step = one new Zapier action. Ops quality stops being headcount-dependent.
Concept system design. Ready to build with access to the relevant tools.
Concept Β· Revenue Ops
Payment Failed β†’ Team Alerted β†’ Recovery Triggered
ConceptStripeMake.comSlack
TEST
β€’β€’β€’β€’ β€’β€’β€’β€’ β€’β€’β€’β€’ 4242
ACME CORP12/26
Amount due
$299.00 / mo
Payment attempted
Webhook Β· Make
Product Inc
billing-alerts1
billing-alerts
πŸ’³
Stripe Botnow
Payment Failed Β· Acme Corp
$299/mo Β· card_declined
@Sarah notified Β· Recovery sent
Team alerted instantly
Problem
Payment failures go unnoticed until a customer churns or reaches out angry. Recovery is manual and late. Revenue leaks silently.
Solution
Stripe webhook fires on failed charge. Make.com catches it, pings the billing channel with customer details and error code, notifies the account owner, triggers a personalised recovery email automatically.
Stripe WebhooksMake.comSlackEmail
Projected Impact
<60sFailed charge to team alerted and recovery email sent. No revenue leak goes unaddressed.
Scalable Because
Every failure type gets its own response. Works for any Stripe-based SaaS product with minimal changes.
Concept system design. Logic is straightforward β€” Stripe fires the webhook, the rest is routing and notifications.
personal builds Β· side projects
Personal Projects
Built for fun, for learning, and occasionally as gifts. These exist because I enjoy building things β€” not because anyone asked me to.
β™ŸοΈ
v1 playablev2 in progress
Anime and WWE Battle Chess
A fully functional chess game with anime and wrestling universes β€” One Piece, Dragon Ball, Bleach, Naruto, WWE. Built as a gift. V1 has a working chess engine with minimax AI, three difficulty levels, castling, en passant, and pawn promotion. V2 has canvas-rendered character portraits and physics animations.
Vanilla JSCanvas APIMinimax AIAlpha-Beta Pruning
πŸƒ
planned
Tarot Companion App
An intuition-building tarot tool focused on learning interpretation rather than quiz mechanics. Planned to include a spread library, life-area-specific card meanings, and scenario-based practice β€” for people who want to actually understand the cards, not just get a reading.
JavaScriptClaude API
Coming soon
πŸ–οΈ
v1 Β· liveclassifier training in progress TF.js Canvas API
ASL Fingerspelling Interpreter
Real-time ASL fingerspelling recognition running entirely in the browser β€” no server, no data sent. Detects hand landmarks using MediaPipe and classifies A–Z letter shapes. V1 uses a rule-based classifier (training in progress). V2 will use a trained ML model with movement-based signs and higher accuracy.
MediaPipe Tasks VisionHand Landmark DetectionCanvas APIJavaScript
Work in progress Β· camera required
tools and technologies
Tool Stack
Everything here has been used in production. Not a list of things I have heard of.
Automation and Integration
Make.com
Zapier
Apps Script
Replit
Webhooks
REST APIs
CRM and Data
Salesforce
Google Sheets
Google Drive
Gmail
LookerStudio
Google Meet
Outbound and Lead Intelligence
Instantly
Lemlist
Apollo.io
Clay
Hunter.io
Outscraper
Linkup
Communication and Support
Slack
Zoom
Front
Notion
Canva
AI and Intelligence
Claude
Claude MCP
ChatGPT
Gemini
Perplexity
Manus AI
MediaPipe
The Challenge

The Solution

The Outcome
Tools Used