Back to technical notes
9 min

Technical note

Leading 5 frontend devs on a pharmacy SaaS

What worked (and what didn't) leading frontend at Extendeal: ~40% fewer production bugs, a 5-year roadmap delivered in 3, while juggling parallel contracts.

By the numbers

5

Engineers on team

−40%

Prod. bugs

5 → 3

Roadmap years

3+

Years in role

The actual role

At Extendeal I was Senior Frontend Developer with leadership responsibility over 5 engineers on a B2B SaaS for pharmacies: purchasing, distributor integrations, orders, and analytics. Part of the time I also had parallel contracts (Santander, Consorcio Abierto). That forces explicit priorities and avoiding becoming a bottleneck.

Fewer bugs: concrete standards

~40% fewer production bugs didn't come from "testing more" blindly. It came from agreed patterns on critical purchase flows, smaller PRs, mandatory code review, and automated checks (lint, types, tests) before merge. We documented decisions in the repo — short ADRs and convention READMEs — not docs nobody opens.

Delivering a 5-year roadmap in 3

A platform initiative was estimated at ~5 years. We cut scope by phases: first what unblocked integrations and checkout, then analytics and UX improvements. Event-driven with messaging (SQS/EventBridge) for orders and inventory, and Prisma/TypeORM where it fit the stack. The key was negotiating quarterly deliverables with product, not promising a perfect monolith.

TypeScript · integration contract
export interface SupplierOrderPayload {
  pharmacyId: string;
  lines: { sku: string; qty: number }[];
  submittedAt: string;
}

// Frontend validates shape before send;
// backend rejects with typed error if something is missing.

CI/CD and Docker day to day

Jenkins + AWS for build and deploy pipelines. Not glamorous — predictable. Automatic staging, production with approval but no manual deploy assembly. We promoted Docker/Kubernetes microservices where the team already operated that way; frontend doesn't live isolated from it.

Technical leadership lessons

Rotating ownership by domain (checkout, integrations, analytics), pair programming on new integrations, autonomy on standard features. Mentoring isn't reviewing every line: it's enabling the team to ship without everything going through you.

Takeaways

  • ~40% fewer bugs with standards on critical flows, not more QA hours
  • Long roadmap → quarterly deliverables negotiated with product
  • ADRs and conventions in the repo, not parallel documentation
  • Event-driven (SQS/EventBridge) where the domain requires it
  • Leading with parallel contracts requires explicit priorities
LeadershipReactNext.jsSaaSCI/CD