ASO Pipeline Automation

Goal / Why

Automate the daily routine task of tracking App Store rankings and managing orders for paid installs across dozens of locales, saving significant manual labor.

Tools Used

Python, Puppeteer, Chrome Headless, Google Sheets, Google Apps Script.

Outcome

Eliminated manual spreadsheet errors and drastically reduced the daily workload; gracefully adopted company-wide and used reliably for over a year.

What I'd Do Differently

The system initially ran on an unreliable macOS VM using cron, leading to execution failures. I would rebuild with robust cloud infrastructure and use LLM-assisted order predictions instead of complex, messy spreadsheet formulas.


Automation Process Flow

Click a step to reveal more details regarding the automated process.

1. Scheduled Trigger
2. Scraping Rankings
3. Data Stitching
4. Cloud Upload
5. Dashboard Processing
6. Order Dispatch

Step Details

Scheduled Trigger

A Cron job initiates the master Python script on the virtual machine at scheduled intervals (initially hourly) to keep data fresh.

Scraping Rankings

Utilizing Python and Puppeteer within a headless Chrome instance. The script securely logs into ASO Mobile, bypasses generic protections, forces keyword refreshes, and downloads dozens of CSVs containing current search rankings per locale.

Data Stitching

The script stitches together the disparate CSV files. It dynamically injects crucial identifying metadata (such as corresponding App Titles and Regions) to create a single, unified dataset.

Cloud Upload

The stitched, unified CSV dataset is then securely pushed outward via API to designated, structured Google Sheets arrays.

Dashboard Processing

Google Apps Scripts and deterministic formulas intake the cloud data. The algorithms deduplicate entries, account for missing arrays, and calculate exact suggested paid install volumes based on highly specific business-logic rules derived from organic traffic estimates.

Order Dispatch

Finally, processed dashboards yield finalized orders. A script copies the exact order requirements into a secondary, isolated Google Sheet shared securely via link directly with our third-party middleman without exposing internal metrics or raw metadata access.

Leasing Intermediary Client

Goal / Why

Port an existing C# Windows client to macOS to help intermediaries effectively match clients with leasing companies, managing complex email applications.

Tools Used

SwiftUI, Python Web API, Azure SQL (via Docker), Yandex.Mail OAuth, LLMs for reverse-engineering legacy code.

Outcome

Delivered a vastly improved, native macOS user experience highlighting secure hashed passwords and smooth email template integrations.

What I'd Do Differently

Reverse-engineering without a formal spec sheet was exceptionally challenging. I would insist on formal documentation from the start in future projects.

Video Editing Utility

Goal / Why

Build a precise, text-based video trimming tool allowing direct edits to video by modifying word-level transcripts seamlessly.

Tools Used

SwiftUI, Whisper (Swift dependency), Apple Sparkle.

Outcome

A functional, native Mac app that trims audio precisely at zero-crossings, actively removing gaps to prevent acoustic "pops".

What I'd Do Differently

I originally built a bulky Python prototype using Python's Whisper dependency before pivoting to a native Swift implementation. I should have aimed for a native implementation earlier to enhance performance and achieve a smaller app footprint.

Accountability Bot

Goal / Why

Provide a robust, automated accountability tracking system for a popular content creator's community members.

Tools Used

Python (discord.py), flexible date parsing logic.

Outcome

Achieved high adoption by over 65 active users; the bot neatly generates sorted weekly/monthly leaderboards utilizing beautiful user avatars.

What I'd Do Differently

The bot is currently self-hosted on a personal Mac to save costs. Migrating to a managed cloud server would ensure better overall uptime and reliability without hardware reliance.

Localization Generator

Goal / Why

Streamline the massive undertaking of creating and translating App Store metadata (titles, keywords) effectively across dozens of distinct global locales.

Tools Used

Advanced Google Sheets, deterministic formulas, Custom Prompt Engineering via ChatGPT.

Outcome

Empowered non-technical staff to quickly generate valid, deduplicated keyword strings, ultimately upgrading and optimizing store listings globally.

What I'd Do Differently

While functional, Google Sheets UI became exceedingly cluttered. A bespoke internal web dashboard would have offered a vastly superior and focused design experience from the onset.

UX Research Analytics

Goal / Why

Establish a structured analytical environment tailored to evaluate user-testing sessions natively comparing different competing banking applications.

Tools Used

Tailored Google Spreadsheets handling qualitative and quantitative metric tracking routines for over 45 test users.

Outcome

Successfully tracked task completion rates and session timing metrics, effectively preventing massive data loss witnessed in earlier, disorganized processes.

What I'd Do Differently

The study lacked statistical fractional factorial design rules required to properly account for experiential learning effects, and frequent authentication issues hindered tests. Rigorous design testing and robust test accounts are a must.