Categories
AI Enablement

Resolving Slow Personalization via Automation

Jan ’25 – Jun ’25

Situation

Manual content personalization took 2+ hours per asset, from account research to copy-pasting and rewriting messaging, capping output at 2-3 assets per day and causing missed opportunities and team burnout.

Task

Build a pipeline that extracts account context, scores fit, and generates tailored on-brand content.

Actions

Choices & Considerations


I built a TypeScript CLI orchestrating seven specialized AI agents, including an extractor, a scorer, and a content generator, rather than one monolithic prompt, so each stage could be tested, cached, and swapped independently. For ingestion I chose a dual extraction strategy, structured data first (JSON-LD) with an AI fallback for unstructured pages, which kept cost low on clean sources and coverage high on messy ones. I added a configurable criteria-based scoring layer so the team could define what a good-fit account looks like and spend generation effort only where it mattered, and I used Claude for tailoring with two switchable voice modes (leader and builder) to match different buyer personas. A final agent produced structured talking points for sales conversations using the STAR method. The flow was: Source Page → Extract (JSON-LD, AI fallback) → Score (criteria) → Generate (persona mode) → Prep Materials, with logging and caching at every stage.

Tradeoffs

I gave up the simplicity of a single prompt and accepted the overhead of orchestrating multiple agents, plus a CLI-first interface instead of a polished UI. That was worth it at pre-seed, where speed to a working system and the ability to iterate on each stage mattered far more than interface polish. I also accepted some staleness risk from aggressive caching in exchange for a large cut in redundant API calls and cost.

Lessons Learned

I would define the scoring criteria and quality bar with the client’s go-to-market team before writing any agent code, and add human-review checkpoints and an evaluation set earlier, since I tuned output quality by feel before I had a systematic way to measure it.

Result

I cut per-asset personalization time from 2+ hours to 15-20 minutes, a 10x gain that took output from 2-3 to 20-30 tailored assets per day, with a 2-3x lift in response rates.

Categories
AI Enablement

Fixing Slow Development Via GenAI

Jan ’23 – Jan ’24

Situation

Amid growing pressure to ship faster and better, I saw an opportunity to leverage Generative AI to boost engineering velocity for myself and the broader team, requiring more than just tool adoption.

Tasks

Weave these AI tools into the daily engineering workflow in a truly meaningful and impactful way.

Actions

In January of 2023, I personally started adopting GenAI tools like ChatGPT and GitHub Copilot to speed up development tasks and unblock myself more quickly.

I dove into self-learning, starting with prompt engineering. I documented everything I learned in a technical wiki, ultimately creating a living prompt catalog inside ClickUp Docs—complete with zero-shot, one-shot, and parameterized examples.

As I discovered high-impact use cases—like writing boilerplate code, summarizing documentation, or drafting test cases—I shared these insights during informal lunch-and-learns.

These sessions served as low-friction, high-impact ways to scale adoption and raise the team’s confidence in experimenting with AI.

Result

Decreased cycle time by 35%

Categories
Leadership Process

Blameless Post Mortems

(8/21-Present)

Challenge

Engineering wasn’t benefitting from the most basic Best Practice around continuous improvement: the Post Mortem.

Action

Introduced Post Mortem template and process, led meetings to determine RCA, drove conversation from a blameless perspective seeking to learn and teach around ways to do better, and then messaged out findings to the company upon conclusion.

Result

Improved communication with Customer Success and the rest of the company, giving Engineering visibility as a value-added partner.

Categories
Integration Process Prototyping

Single Source of Product Truth

Challenge

Given numerous silos of product information, each with varying degrees of accuracy, evaluate and move towards reliable source-of-truth for driving intra-brand sales.

Action

Phase 1
  • Discovered sister brand developing real-time product DB (in Rails)
  • Evaluated pros and cons of approach with CEO around relying on that DB/dependency
  • Reached out to Prod Mgr for repo access and to facilitate intro to India dev team
  • Dusted off Rails skills / dug into codebase not having any documentation
  • Applied light-touch getting to know key parts of system (e.g. product ingestion, Solr-based search)
  • Worked backwards from UI to determine schema of API
  • Used Postman to prove out ability to programmatically upload products (and introduced the use of Postman Collections for knowledge sharing)

Phase 2
  • After CEO stepped down and interim leadership stepped in, reviewed previous progress, gaining buy-in.
  • Discovered a dust-collecting daily job of 10GB of product data sFTP’d to us.
  • Identified risks of reliance on product repo and charted a parallel path forward.
  • Prototyped Lambda for parsing and processing that data, ingesting into our our product DB.

 

Results

  • Delivered Lambda to process 10GB of product data daily to keep assortment fresh.
Categories
3D Architecture Distributed Teams eCommerce Frontend Innovation Management Performance Engineering VR

New VR UX For Nurseries

(3/19-10/20)

Challenge

Ship new, web-based, VR-powered, eCom experience as requirements changed.

Action

Act 1 : 3/19-5/19

While on my trip to India in April 2019, I formed a Tiger team of one of my best Lead Engineers, a project manager, and two junior engineers, coaching them to see the similarity between what was the business was asking for and current existing components of the system (PLP, PDP, NUX, and Checkout,) setting a plan in motion towards delivering an MVP for the 6/26/19 deadline.

They went heads-down and we successfully shipped v1 (following) on 5/29/20.

ecom landing page

Business priorities shifted and the project was moth-balled, leading to Act 2.

Act 2 : 8/19-10/19

Having shifted focus to more product-based eCom (see Act 1,) the business decided to leverage existing shop-the-room modeling infrastructure in a more user-friendly, web-based purchase flow.

While the original plan was to have them spin up a completely new POC with a new checkout flow, I intervened and met with the remote Technical Project Manager and Architect, providing guidance around the existing monolith marketplace system, knowing it could serve as enough of a “buy” to meet requirements so as not to have to “build” a custom solution.

Shipped v1 in Oct 2019:

Landing Page

Room Detail Page

I saved $40K in redo work after guiding the non-primary, remote, web team around component re-use while then shipping web-based, VR-powered shop-the-room.

Act 3 : 3/20-10/20

Under tight deadline, coached the Pakistani team to iterate and improve perceived and actual load times using CSS Sprites, caching via HTTP headers, use of a spinner, and gzipping in order to get a usable UI to market sooner:

Landing Page

Drilling down, a user looking to design a nursery can swap out items (made possible by a compositing technique with Three.js and photo spheres)

Room Page

Lastly, recognizing future strategic value-add within corporate partnerships, guided the team to decouple the frontend as a Single Page App for iframe embedding after having decreased page load times, introduced progressive enhancement / graceful degradation, and led the SPA strategy.

Results

New VR-powered site finally launched in Feb 2021.

Categories
3D eCommerce Process

Product Catalog ftw

Challenge

To scale v2 of our shop-the-room experience, the business turned to me to understand how our process would grow cost-wise.

Action

The interim CEO asked me to determine costs as we considered beefing up our rendering pipeline by orders of magnitude.

Applying a KISS paradigm, I threw together an inital back-of-napkin estimate. That was good enough, but then the interim CEO needed a deeper level of understanding, so I worked with my Pakistani Technical Project Manager to build out a more comprehensive version of the model, taking parameters into account like the following:

  • Scale Factor
  • Model Throughput Per Week
  • Aspirational Efficiency Factor
  • Cost Per Model
  • Number of Modelers Needed
  • Model Category

Result

Delivered cost model iteratively for a 3D modeling pipeline to support shop-the-room.

Categories
Culture Execution Leadership Management Process

Lightweight Innovation Delivery

(10/20-2/21)

Challenge

Force-multiply in a process vacuum to deliver re-platformed SPA.

Action

At the beginning of December, the CEO announced we’d need to ship the next version of the application by Dec 18th. A BHAG for sure, it was ambitious but not impossible.

As most of the members of the team had not worked together for longer than two months, there hadn’t been much time for the usual storming/norming/forming.

Absent any process, I knew the path to successful launches would require as little overhead as possible. To that end, I peppered my stand-up updates with the terms of “divide-and-conquer,” “punch list” & “dog-fooding” – concepts that neither engineers nor marketers were familiar with.

When shortly before the 18th the cheese moved, and the delivery date became the 3rd week in January with the scope of the application changes increasing, and a new website was to be launched, I knew my efforts were succeeding when those same previously skeptical team members began using my terminology in their own updates, reinforcing a shared and common understanding of what it meant to keep eyes on the prize and ship “good enough.”

Result

Realized my thought leadership was succeeding when others began using same terminology.

Categories
Affiliate Growth Innovation Troubleshooting

Business Model Shift

(3/20-9/20)

Challenge

Given a steady stream of revenue, fundamentally alter the underlying business model towards CPC/CPA.

Action

Phase 1

In March 2020 pre-COVID, did a quick dive on Skimlinks documentation and put together a quick explanation/overview to demonstrate how easy it would be to include. Business climate wasn’t right so didn’t pursue.

Phase 2

Sep 2020, post-CEO-stepping-down and several months after Phase 1, explored use of Viglink (Sovrn) only to discover that business had previously been CPA-based before fulfillment was brought in-house ~2017.

Digging around, found some old Skimlinks code, then leveraged updated documentation to prove click-tracking with custom params could still work.

Phase 3

The business, being unsure whether to use one or several affiliate networks, needed partnership to figure out the best implementation path forward. For four networks, I kludge’d scripts into production and verified clicks, evaluating custom parameters as they’d flow through the lifecycle and eventually be reported through APIs.

When the business decided to focus on Commission Junction and Skimlinks, I led development to integrate JS libs (monkey-patching CJ to play-well on the same page as Skimlinks) and verify clicks / custom params.

Result

Overcame fits-and-starts to deliver affiliate model.


Categories
Budgeting Collaboration Roadmapping VR

3D Cost Modeling

(7/20-7/20)

Challenge

To scale v2 of our shop-the-room experience, the business turned to me to understand how our process would grow cost-wise.

Action

The interim CEO asked me to determine costs as we considered beefing up our rendering pipeline by orders of magnitude.

Applying a KISS paradigm, I threw together an inital back-of-napkin estimate. That was good enough, but then the interim CEO needed a deeper level of understanding, so I worked with my Pakistani Technical Project Manager to build out a more comprehensive version of the model, taking parameters into account like the following:

  • Scale Factor
  • Model Throughput Per Week
  • Aspirational Efficency Factor
  • Cost Per Model
  • Number of Modelers Needed
  • Model Category

Results

  • Delivered cost model iteratively for a 3D modeling pipeline to support shop-the-room.
Categories
Collaboration Database Troubleshooting

Fixing Database Replication

(6/20-6/20)

Challenge

Usually our MySQL->Postgres data replication powering the business’s analytics dashboard runs without issue. One day, it completely failed.

Action

  • Spotted AWS alert notification and worked with Data Engineer to realize it wasn’t a normal hiccup in our replication pipeline.
  • Stopped the AWS DMS task for replication.
  • Examined Cloudwatch logs to see if we could find direction as to where the problem was. This told us there was a table (awsdms_apply_exceptions) that didn’t exist.
  • Dug into online documentation about the issue.
  • Created a new Postgres copy target of the analytics database.
  • Created a new AWS DMS task with the copy target DB which should create table public.awsdms_apply_exceptions.
  • Grabbed the DDL statement (e.g. CREATE TABLE) for the awsdms_apply_exceptions table.
  • In the (original) analytics DB, created the ‘public’ schema
  • Also in the (original) analytics DB, applied the CREATE TABLE for awsdms_apply_exceptions.
  • Deleted 1) the new Postgres copy target and 2) the AWS DMS task as cleanup.
  • (Never did figure out why the public schema and table disappeared.)

Results

  • Resolved data replication issue leading to minimal downtime for analytics dashboard.