Skip to content

Available for senior roles

Peter Ramos

Senior Full-Stack Engineer

Seven years building product-facing features at scale. Most recently I led frontend for the merchant analytics platform at Recharge, the subscription platform behind $42B in GMV on Shopify, 20,000 brands and 100M subscribers.

7+ years
building product-facing features at scale
20,000+
merchants reached by the analytics surfaces I led
$42B
GMV flowing through the platform
5+ years
in remote, distributed engineering orgs

Case studies

Senior Frontend Software Engineer · May 2023 - Aug 2026

Merchant analytics platform

Dashboards and drill-down reports surfacing business metrics previously unavailable to 20,000+ merchants.

  • React
  • Remix
  • TypeScript
  • Python
  • REST
  • Snowflake

Recharge merchants could see that revenue moved. They could not see why. Answering questions like which products drove churn, or how a cohort’s retention compared to the rest of the category, meant exporting data and rebuilding it by hand in a spreadsheet.

I led frontend development of the analytics platform that closed that gap: dashboards and drill-down reports surfacing business metrics that had previously been unavailable to more than 20,000 merchants.

Recharge analytics dashboard showing subscription recurring revenue with items, orders and average sales tiles above a stacked bar chart of checkout and subscription orders over time.
Recurring revenue and order activity, from Recharge's public marketing site.

Two generations of the same product

I was the primary frontend engineer on the custom reports product across two distinct architectural generations.

The first generation shipped canned reports: a fixed catalog where each report paired pre-selected metrics with pre-selected dimensions. It answered the most common questions quickly and proved the demand was real. Its limit was structural — every new question a merchant asked meant engineering built another report.

The second generation inverted that. Instead of shipping reports, we shipped the building blocks: merchants compose their own metrics, dimensions, groupings and comparison windows, and the report is a saved configuration rather than a hardcoded view. The interesting frontend work was in the constraint layer, since not every metric is valid against every dimension, and a UI that lets you build an incoherent query produces a support ticket instead of an answer.

A custom Recharge report titled Subscription checkout order items, showing a report controls bar with date range, comparison period and monthly grouping, above a stacked bar chart broken out by product.
A composed report: date range, comparison window and grouping are merchant-selected, not hardcoded. From Recharge's public marketing site.

Working across the stack boundary

None of this is a frontend-only problem. Report configurations become queries against a warehouse, and the shape of what the UI allows is bounded by what the data layer can answer at acceptable latency. I worked closely with backend and data engineers on where that line sat, which is why the constraint rules live in one shared definition rather than being reimplemented in the client.

A Recharge churn benchmarking chart plotting a single store's active churn rate against 25th percentile, median and 75th percentile benchmarks, with an open tooltip showing values for June 2025.
Benchmarking a store against category percentiles, with drill-down on hover. From Recharge's public marketing site.

Senior Full-Stack Software Engineer · Nov 2022 - May 2023

Customer portal rebuild

Led architectural design and development of the subscriber-facing customer portal rebuild.

  • React
  • Zustand
  • Material UI
  • Node
  • Express
  • Redis
  • PostgreSQL
  • Twilio

The customer portal is where a subscriber actually lives: it is where they swap a product, skip a delivery, or cancel. For a subscription business it is the highest-leverage surface there is, because every interaction is a chance to retain or lose the relationship.

I led the architectural design and development of the rebuild.

What the rebuild had to solve

A portal is embedded in someone else’s brand, so it has to be themeable without forking per merchant, and it has to stay responsive on the mid-range phones most subscribers actually use. State is the hard part: subscription mutations are asynchronous and frequently optimistic, and a subscriber who taps skip needs to see it take effect immediately without the UI drifting out of sync with the server.

We used Zustand for client state, keeping the store deliberately small and colocated with the flows that own it, rather than one global object every component reaches into. Redis fronted the reads that would otherwise hit Postgres on every portal load, and Twilio handled the notification path.

Experience

Download PDF
  1. Senior Frontend Software Engineer, Recharge

    May 2023 - Aug 2026

    Remote

    • Led frontend development of the merchant analytics platform: dashboards and drill-down reports surfacing business metrics previously unavailable to 20,000+ merchants.
    • Primary frontend engineer on the custom analytics reports product through two architectural generations, from canned reports with pre-selected metrics and dimensions to fully customizable reports. Collaborated closely with backend and data engineers.
  2. Senior Full-Stack Software Engineer, Stay.AI

    Nov 2022 - May 2023

    Remote

    • Led the architectural design and development of the customer portal rebuild, using React, Zustand, Material UI, Node, Express, Redis, PostgreSQL and Twilio.
  3. Frontend Software Engineer, Recharge

    Feb 2021 - Oct 2022

    Remote

    • Developed and maintained e-commerce subscription management software using Vue, TypeScript, Nuxt, Vuetify, Cypress, Jinja, Flask and SQL.
  4. Software Developer, Covetrus

    Apr 2019 - Feb 2021

    Portland, ME / Remote

    • Iterated on a digital prescription management platform serving 100,000+ veterinary customers using the Scaled Agile Framework, with React, TypeScript, Apollo, GraphQL, Express, Node.js, MongoDB, MySQL, Java, Spring Boot and Kafka.
    • Joined as a software developer intern in April 2019 and was offered a full-time role after six weeks.

Education

B.Sc Jazz Studies, SUNY New Paltz, 2012

Side work

Things I built recently because I wanted to know how they would turn out.

  • A rule-based intraday trading signal engine. Six indicator votes drive a consensus call, a backtest replays real market bars through the identical engine and exit logic as the live path, and every signal and outcome is logged so the strategy can be judged on evidence rather than memory. Backtesting found a real but thin edge, showed that tightening conviction made it worse, and identified an orthogonal filter that clears the cost line.

    • Python
    • Alpaca
    • pandas-ta
    • Flask
    • SQLite
    • pytest
  • airbnb-research

    Personal project, source kept private

    A listing research tool: a Chrome extension collects listing and review data, a Next.js app runs it through Claude for criteria-based analysis, and the UI polls until the analysis completes. The interesting problem was that the underlying persisted-query hash rotates, so the extension captures the live request at runtime instead of hardcoding anything that would break within a month.

    • Next.js
    • TypeScript
    • Prisma
    • MV3 extension
    • Vite
    • Claude API
  • A World Cup prediction pool built for colleagues at Recharge and extended round by round as the tournament ran. A Vercel function pulls results from ESPN and caches completed matches in Vercel KV, so a finished game is fetched once and never again — only dates still in play get re-polled. Both failure paths degrade rather than break: with no cache it falls back to live ESPN, and if ESPN is unreachable it serves the cached finals. The leaderboard, per-player comparison and analytics charts are hand-built with no UI dependencies, and the scoring and standings logic is pure and unit tested.

    • React
    • Vite
    • Vercel
    • Vercel KV
    • ESPN API

Agentic engineering

I was an early adopter of agentic development workflows and have spent the last stretch of my career building with them daily. The tools are not the interesting part. The discipline around them is.

Spec before code

Work starts as a written design and an implementation plan, reviewed before anything is generated. Ambiguity is cheaper to fix in a document than in a diff.

Context is the input

Project conventions, architecture and constraints live in files the agent reads every session, so output matches the codebase instead of a generic house style.

Small, verifiable units

Tasks are sized to one testable deliverable, each gated on tests that actually ran. Verification is the checkpoint, not the vibe.

Review is still mine

Generated code gets read line by line. The tooling changes how fast a first draft arrives, not who is accountable for what ships.

Day to day: Claude, Claude Code, Cursor and MCP servers.

How I got here

I did not take the direct route.

  1. 2012

    A degree in jazz guitar

    B.Sc Jazz Studies at SUNY New Paltz. For my senior project I picked the musicians, ran the rehearsals, handled the promotion, and played an hour-long set to a live audience. It was the first time I shipped something with a hard deadline and no way to hide.

  2. 2013 - 2017

    Colorado

    I moved out to ski and mountain bike, and paid for it by running the kitchen at a pizza bar and grill. Managing a line during a dinner rush is triage under load: fixed capacity, competing priorities, and no version of the night where you get to stop and redesign the system.

  3. 2018

    Learned to code

    Thinkful's engineering immersion, starting November 2018. HTML, CSS, JavaScript, Node, React, Redux, and algorithms, several hours a week alongside a senior developer.

  4. 2019

    Six weeks to full-time

    Joined Covetrus as a software developer intern in April 2019 and was offered a full-time role six weeks later. Spent nearly two years on a digital prescription management platform serving more than 100,000 veterinary customers.

  5. 2021 - 2026

    Recharge, Stay.AI, senior

    Five years in remote, distributed engineering orgs. Frontend engineer at Recharge, a stint leading the customer portal rebuild at Stay.AI, then back to Recharge as a senior frontend engineer leading the merchant analytics platform.

Contact

I am looking for my next senior frontend or full-stack role.

If you are hiring, or you just want to talk about analytics UIs, subscription platforms, or how agents are changing the job, I would like to hear from you.