Shanghai · 31.23°N 121.47°E · CEIBS MBA ’27

RyandriLowell

ex-Shopee · Google Cloud Premier Partner · 5 agents always-on
Medan → born Jakarta → career Shanghai → now New York → next
Scroll
01 Who I am

Business by day.
Agents by night.

Born and raised in Medan, built in Jakarta: I grew top brands on Shopee for two years, then spent two more growing nusa.id’s Google Cloud business as a Premier Partner. In 2025 I moved to Shanghai for the MBA at CEIBS.

Somewhere along the way I stopped just using software and started delegating to it. A small fleet of self-hosted AI agents now runs my life. One drafts my market briefing at 07:00, before I’m up. One reads my Canvas deadlines at 09:00. One reports event registrations to my INNOVATEChina team every evening, and one publishes a trading dashboard to a server in the cloud each night, whether I’m watching or not.

My working theory: the most valuable business skill of this decade is knowing what to hand to machines, and how to check their work. I practice on my own operations first.

Mostly, though, I build because it’s fun. I sit down after dinner, start on something small, and the next time I look up it’s 2 a.m.

Off the clockBasketball · teaching my agents new tricks

02 The route so far

Four cities, one heading.

40°N20°N20°S 90°E150°E150°W90°W N MEDAN 3.6°N 98.7°E JAKARTA 6.2°S 106.8°E SHANGHAI 31.2°N 121.5°E NEW YORK 40.7°N 74.0°W
2017 — 2021 · Chapter I

BINUS University

B.Econ, Minor in E-Business

Magna Cum Laude, GPA 3.83/4.00. This is where economics first met code, and it stuck.

◉ Jakarta, Indonesia
2021 — 2023 · Chapter II

Shopee

Business Development, Shopee Mall

Managed 8 top-NMV brands. Built my first real automation here: a peak-day stock system that cut task time by 70%.

◉ Jakarta, Indonesia
2023 — 2025 · Chapter III

nusa.id Cloud

Assistant Manager

Grew the Google Cloud Premier partnership, ran 7 campaigns at 174% of target, and helped land the first profitable quarter.

◉ Jakarta, Indonesia
2025 — 2027 · Chapter IV

CEIBS

MBA Candidate · PM, INNOVATEChina 2026 · Student Ambassador

Strategy consulting for a Fortune Global 500 energy-management group (ICSP), and running a global case competition on the side.

◉ Shanghai, China
Fall 2026 · Next heading

NYU Stern

MBA International Exchange

Course plotted for New York: August to December 2026.

◉ New York, USA
MDN
JKT
SHA
NYC
03 Professional record

Numbers that shipped.

nusa.id Cloud

Jakarta · Jul 2023 — Jul 2025
Assistant Manager
  • Deepened the Google Cloud Premier Partner relationship and launched a joint Marketing Co-op program.
  • Ran seven consecutive marketing campaigns at an average 174% of target, which built a US$1.9M pipeline.
  • Led the cross-functional push behind nusa.id’s first profitable quarter. The streak held after that.
0%Avg. performance,
7 campaigns
$0MMarketing
pipeline built
0%target 100%174% achieved

Shopee

Jakarta · Jul 2021 — Jul 2023
Business Development · Shopee Mall
  • Managed 8 top-NMV brands with Joint Business Plans and quarterly reviews that drove YoY growth against annual targets.
  • Optimized promo budgets across segments, SKU price ranges and brand tiers to 95% allocation accuracy.
  • Built a peak-day stock automation that cut task time by 70%. My first agent, before I knew to call it that.
0Top-NMV brands
managed
0%Budget allocation
accuracy
0%Task time after
automation
0yrsOf YoY growth
delivered
04 The Lab

Agents that work
while I sleep.

Everything below runs unattended on my own servers, keeps its own state between runs, and was built with Claude. The output lands in my inbox every day.

Night Desk

AI Daily Briefing · NASDAQ Analysis

Every evening at 18:31, a Claude cloud routine researches the tape and writes a full pre-open NASDAQ brief (regime score, decision layer, catalyst calendar) into an Obsidian vault. A VPS pulls the vault and publishes it as a mobile dashboard I can read anywhere. A second routine wakes at 10:00 and ships one design improvement to that dashboard every day, so the product upgrades itself while I’m in class. Underneath sit a 1.2M-row market-data warehouse and a rule pack calibrated on 9.2 years of QQQ history, with a nightly scanner gating the top 500 names.

The vault is the agent’s second brain. Every brief, position and lesson lives as a wikilinked markdown note in a git repo, and the routine reads its own past notes before writing new ones. So each brief builds on yesterday’s: open trades get reconciled, forecasts get scored against what actually printed, and repeated mistakes turn into named rules it has to re-check. The memory compounds, and I can read every file myself.

Claude cloud routinesObsidianPythonSQLiteGitHubCaddy
1.2M
Rows warehoused
500
Names scanned nightly
9.2y
Backtest window
1/day
Self-upgrades shipped
Cloud topology · no laptop in the critical path
cloud routine18:31 daily Obsidian vaultgit repo VPS publishercron / 20 min dashboardHTTPS · mobile
Rule-pack calibration · growth of $1
9.2y QQQ backtest · CAGR endpoints actual, curve shape illustrative
Rule pack v2 · 10.99% CAGR Baseline · 7.74% CAGR

Deadline Sentinel

AI Deadline Tracker · Canvas LMS

Every morning at 09:00 Shanghai, an agent reads new Canvas announcements, has Claude extract every deadline, and dedupes them against a persistent ledger. It then ships a prioritized digest to Gmail, syncs events into Google Calendar with alarms attached, and pings my WeChat through OpenClaw. It has run every day since May without me touching it.

PythonCanvas RESTClaudeiCalendarGoogle CalendarcronOpenClaw
12/12
Test suite
Daily
Unattended runs
~1¢
Per run · measured
Workflow · lights up as it runs
cron09:00 SH fetch.pyCanvas REST Claudeextraction build.py.ics + digest 📅 state.json ledger · every announcement seen once, never twice
ddl · run log

Lucky Draw

CEIBS × Michelin · Innovate China 2026

A live event webapp for a 700-person audience: scan the QR on the big screen, enter your name from your phone, and when the host hits Draw, winners land on screen with a slot-machine reveal. One Fastify service runs the whole thing: WebSockets for the live counter, SQLite for entries, React for all three surfaces (screen, phone, admin console).

TypeScriptFastifyWebSocketsReactViteSQLite
~700
Concurrent audience
3
Live surfaces
1
Deployable service
Try it · the real draw animation, miniaturized
demo names only · the real one takes 700 via QR
700 phonesQR → /j/:id Fastify + WSSQLite · sessions big screenlive count · reveal

Registration Radar

Event Reporting Bot · INNOVATEChina

The INNOVATEChina organizing team needed daily sign-up numbers without anyone logging in to count. So a headless browser logs in for them: Playwright exports the registration sheet at 18:00 every evening, openpyxl counts entries and computes the delta versus yesterday, and a formatted report lands in the team inbox with the spreadsheet attached.

PlaywrightPythonopenpyxlGmail
18:00
Daily report
0
Manual logins
Δ
Day-over-day tracked
Workflow
cron18:00 SH Playwrightlogin → export xlsx count + Δopenpyxl · state Gmail→ IC team
Registrations · sample report18:00 CST
0
0 vs yesterday
subject: [IC 2026] Registration update · attached: feedback_2026-07-13.xlsx
to: organizing team · cc: pm
05 Toolbox

Fluent in markets
and machines.

Languages

IndonesianNative
EnglishFluent
Chinese 中文Intermediate

Certifications

’25Generative AI LeaderGoogle
’25Associate Google Workspace AdministratorGoogle
’21Project Management Professional CertificateGoogle
’20Machine LearningStanford University
’21Tax Brevet A & BIndonesia

Working stack

Claude agentsPythonTypeScript ReactFastifySQLite PlaywrightGoogle CloudLinux / VPS ops cronGitGoogle Workspace APIs

Business side

Strategy consultingJoint business plans Go-to-marketPartnership management Budget optimizationProject management
06 Coordinates

Let’s talk.

Open to conversations on AI-native operations, e-commerce, cloud, or a pickup game.

Medan 3.6°N·Jakarta 6.2°S·Shanghai 31.2°N·New York 40.7°N