JUL 2018 — MAR 2021 · 2 YRS 8 MOSSoftware Engineering Team Lead

Marketful

Marketful is an e-commerce fulfillment service: merchants send their inventory to the warehouse and connect their online stores, and Marketful receives every order, packs it and ships it for them. I built the Ruby on Rails platform that connects the stores to the warehouse and a Java desktop app that automated pick & pack and label generation.

5–6 s
to generate and print each label in the warehouse
4
e-commerce platforms connected
4
carriers integrated by API
1 year
to promotion to Team Lead

WHAT I BUILT

01Fulfillment platformThe API and platform between the stores and the warehouse.

I built Marketful’s core API and platform from scratch in Ruby on Rails, with React and Angular interfaces: merchant onboarding, product and inventory setup, store connections and each order’s flow to the warehouse with its priority. Files on AWS S3, and the team’s security and testing standards with RSpec and Postman.

RailsReactAngularRSpec
02E-commerce connectorsShopify, WooCommerce, Mercado Libre and Amazon.

Each merchant connected their store from Marketful: our own Shopify app, a WooCommerce plugin and direct integrations with Mercado Libre and Amazon. Sales reached the merchant’s dashboard and, at the same time, Marketful, ready to ship.

ShopifyWooCommerceMercado LibreAmazonWebhooks
03Inventory and order syncEverything up to date across every store.

I kept each merchant’s inventory in sync across all their stores, made sure orders arrived on time and pulled labels and shipping data so the warehouse could ship by priority.

RailsIntegrations
04Labels by merchant preferenceWith their account, from their store or by us.

Each merchant had a preference: some shared their credentials for a carrier (for example, Estafeta only) and we generated the label with their account; in other cases the label was generated in their e-commerce platform and we just downloaded it.

FedExUPSDHLEstafeta
05Multi-carrier shipping engineRates and labels across FedEx, UPS, DHL and Estafeta.

For merchants with no preference we built our own carrier integration over REST and SOAP: it quotes every carrier, shows the options and generates the label with the chosen one. The shared logic lived in an internal Ruby gem used by several services.

RubyRESTSOAP
06Java warehouse appPick & pack, scanning and label printing in seconds.

Before, at the daily cutoff, the day’s orders were printed on paper and someone from the warehouse had to come up to the office to pick them up. I built a Java desktop app connected in real time to Marketful’s API: in the warehouse, with barcode scanners and label printers, operators saw the orders to ship, the pick & pack route and each product’s location, and every scan and action was logged. If an order had no label, the app showed the available carriers; the operator picked the cheapest, the label was generated through the API and printed automatically on the thermal printer. The whole thing took 5–6 seconds, and operators never saw anything technical.

JavaThermal printingReal time
07Team leadershipUp to four developers.

As Team Lead I coordinated a team of up to four developers: maintenance, specs and new development for the platform, plus the security standards, testing practices and API conventions the team worked from.

Code reviewRSpec