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
Architecture Chat Collaboration Integration Site Reliability SOA Troubleshooting

Connecting Supply with Demand

(10/18-5/20)

Challenge

Ongoing reliability issues with 3rd party chat solution crucial for business operation w/o documentation and integration monitoring.

Action

The key aspect of the Decorist experience is the connection between the Client (Demand-side) and Designer (Supply-side.) To facilitate that connection, many years prior, the business had included a (at that time) nascent Chat-as-a-Solution provider as part of the user experience; it made sense to “Buy” instead of “Build.”

Architecture Overview

The chat UX is loaded into an iFrame. When users chat, their payload is posted to the 3rd party’s backend. The 3rd party then fires a webhook to Decorist which tracks the event in the DB and fires a transactional email depending on business logic.

The Problem

The ways the bugs manifested boiled down to:

  • chat UX not appearing (like below, often as the result of a 3rd party deploy gone bad)
  • emails not sending because webhooks not called

Lacking integration monitoring, issues often bubbled up through first-tier support.

Chat not loading

Improving the Dependency

Noticing the reliability issues, I first delegated to one experienced engineer to triage and then another.

I also dug in on my own and discovered/remedied bugs in our own webhooks while also providing data-backed reliability outage information to 3rd party, escalating to 3rd party’s CTO when necessary

Almost quarterly, as a company, the decision to continue using the 3rd party is re-visited given the reliability issues. Each time, though all stakeholders are aware of the pain collectively experienced, the decision has been made to punt replacing the solution.

Results

  • Ensured remediation of 3rd party issues in 24-36h, even on lowest support tier.
Categories
Integration Process

Planning @ TRR

(The RealReal : 9/16-9/17)

Upon learning of a shift in business logic potentially adding $500K to the bottom line, worked with a junior engineer to apply an Occam’s Razor approach for planning necessary system changes; empowering said engineer to run point, taking the rest of the team with, delivering functionality without bugs and well ahead of project schedule.

Lacking a company-adopted product management tool, built spreadsheet for tracking engineering efforts as they facilitated delivery against business initiatives and key product priorities (against milestones tracked in Pivotal.)

Regarding Engineering org’s movement towards an Elixir-based SOA:

  • Scoped 50K-ft-view project plan towards porting all functionality
  • Coordinated efforts of local and remote engineers for prioritized, accelerated port of supply-side acquisition funnel from Rails to Phoenix

Provided high-level technical scoping for company’s best-performing (2017) lead-acquisition features:

  • friend referral (via Friendbuy) and
  • reconsignment (e.g. demand-side users selling items they previously bought)

Facilitated logistical and technical scoping around periodic (~2x/year) commission rule changes affecting key business metric : cost-of-consignment.

Led engineering effort around integration of third-party referral program (Friendbuy,) providing guidance that we could deliver in six weeks, then leading post-mortem around process inefficiencies preventing us from delivering before eight weeks.

Led representation around quality initiatives while interfacing with 3rd-party provider (Rainforest QA.)

Results

  • Contributed strategically and tactically towards planning and executing work.