5G
PORTFOLIO.SH
CV ↗

Erik Henrique Alves Cunha

Senior Frontend Engineer · 8+ yrs building regulated systems · fintech (PCI-DSS), healthcare, global e-commerce

LOC: MaltaNOR: Betsson (N/PT/FR/IE)
CAT README.MD
# Erik Henrique Alves Cunha — Senior Software Engineer
8+ years building frontend systems for regulated, high-traffic platforms in fintech (PCI-DSS), healthcare, and global e-commerce.
## Core Stack
- Angular · React · Next.js · TypeScript · Node.js · RxJS · NgRx
- Micro-frontends · Nx monorepos · Clean Architecture · Web Components
## Operating Principles
- Performance-first: LCP, TBT, bundle reduction in production budgets.
- A11y & compliance: WCAG 2.1 AA, ARIA, PCI-DSS-grade safeguards.
## Current Status
Open to [Senior / Staff / Principal]roles or high-stakes contracts · remote-first · EU/US/CA · English C1.
$ cat src/lib/with-retry.ts// view full repo →
// retry an RxJS stream with exponential backoff + jitter — used in
// the cashier's deposit polling loop. signals abort on permanent 4xx.
export function withRetry<T>(
  { max = 5, base = 300, isFatal }: RetryOpts,
): MonoTypeOperatorFunction<T> {
  return retry({
    count: max,
    delay: (err, attempt) => {
      if (isFatal?.(err)) throw err;
      const wait = base * 2**attempt + Math.random() * base;
      return timer(wait);
    },
  });
}
MAN ERIK(1)
ERIK(1)                    User Commands                    ERIK(1)


NAME
       erik — senior software engineer, frontend specialization

SYNOPSIS
       erik erik [ SENIOR|STAFF|PRINCIPAL]
                 [ IC|LEAD]
                 [ PAYMENTS|HEALTHCARE|AI-TOOLING|E-COMMERCE]
                 [ WORLDWIDE] []
                 [|]
                 [<target-stack> ...]

DESCRIPTION
       Senior software engineer, 8+ years. Started full-stack,
evolved into frontend architecture. Shipped production
systems across payments (PCI-DSS), healthcare, banking,
e-commerce, and ed-tech — Angular, React/Next.js, and
Stencil micro-frontends powering €1B+ in revenue.
Ranges across web, mobile (Ionic), and desktop (Electron).
Recently built a 12-agent AI engineering platform in
production. Currently embedded at Betsson (Malta, EU).
Senior/Staff/Principal track.


OPTIONS
       --seniority    Senior through Principal
--track        Individual contributor or technical lead
--domain       Strongest in regulated frontends (payments,
               healthcare, AI tooling); open to adjacent
--region       Worldwide; remote-first
--relocation   Open to relocating for the right role
--regulated    Specialty: PCI-DSS, healthcare, banking
--contract     Open to fixed-term or freelance
--ft           Open to full-time
--hire         Initiates handshake. See CONTACT.


EXAMPLES
       >$< erik --seniority STAFF --domain PAYMENTS --ft
>$< erik --track LEAD --domain AI-TOOLING --ft
>$< erik --seniority PRINCIPAL --region WORLDWIDE --relocation
>$< erik --contract --stack "TypeScript, micro-frontends, AI"


KNOWN BUGS
       - Occasionally rewrites a working component for clarity.
- Will not stop talking about bundle size.
- Sometimes ships the test before the feature.


AUTHOR
       Written by Erik Henrique Alves Cunha.
Report bugs to: erikhenriquealvescunha@gmail.com


SEE ALSO
       cv(1), github(1), linkedin(1), calendar(1)



v8.0                       2026-05-13                       ERIK(1)
CAT ~/.NOW
Currentlyshipping multi-currency settlement · Betsson cashier (PCI-DSS)
ReadingDesigning Data-Intensive Applications · re-read
Buildingthis portfolio. you are looking at it.
Listeninga lot of guitar. compilers by day, six strings by night.
Updated2026-05-13
LS -LA ./PROJECTS
drwxr-xr-x

PAYMENT_ORCHESTRA

PCI-DSS cashier platform — multi-brand deposit/withdraw orchestration across 15+ regulated markets.

VOLUME:40M+ TX / YR
REVENUE:€1B+ / YR
STACK:ANGULAR / STENCIL / NGRX
drwxr-xr-x

CARE_OPS_CONSOLE

Mission-critical hospital operations dashboards — real-time, multi-site, Clean Architecture.

JS BUNDLE:-33%
TTI GAIN:+52%
STACK:ANGULAR / NX / RXJS
drwxr-xr-x

COMMERCE_EDGE

Nike Brazil & Centauro storefronts — SSR/SSG, micro-frontends, experiment-driven UX.

REACH:8M+ MAU
LOAD TIME:-32%
STACK:NEXT.JS / REACT / TS
drwxr-xr-x

AI_AGENT_MESH

12-agent multi-agent system + orchestration — codegen, review, debugging, architectural validation.

AGENTS:12 + ORCHESTRATOR
SCOPE:TEAM-WIDE
STACK:CUSTOM TOOLING
drwxr-xr-x

EDTECH_OMNI

Cross-platform EdTech app — one codebase, five OSes (Android / iOS / Win / macOS / Linux).

REUSE:~90% LOGIC
COST:-80% VS NATIVE
STACK:IONIC / ANGULAR / ELECTRON
drwxr-xr-x

NIKE_STORES_FINDER

Personal showcase — geolocation + Google Maps Directions, independent system design.

TYPE:SHOWCASE
APIS:MAPS / GEOLOCATION
STACK:JS / WEB APIS
GIT LOG ~/CAREER --PRETTY=FULLER --DECORATE --GRAPH
erik@portfolio:~$git log --graph --pretty=fuller --decorate --since="2018-06-01" ~/career
* commit 7f3a2bc09f8e1d4c2b6a5d3e8c1f2a7b9d4e6c0a (HEAD -> main, tag: v8.0, origin/main)
| Author: Erik Henrique Alves Cunha <erik@erikunha.com.br>
| AuthorDate: Sat Mar 1 09:42:11 2025 +0100
| Branch: career/betsson
|
|     feat(career): BETSSON_GROUP · SR FRONTEND ENGINEER · Malta (EU)
|
|     wanted regulated multi-market scale; got 40M+ tx/yr
|     across 15+ jurisdictions on a PCI-DSS payment platform.
*
* commit 4a9e1d886b3f2c7e0a8d5b9c1e6f4a2b3d7e8c01 (tag: v7.0)
| Author: Erik Henrique Alves Cunha <erik@erikunha.com.br>
| AuthorDate: Mon Apr 17 11:24:00 2023 -0300
| Branch: career/canon-medical
|
|     feat(career): CANON_MEDICAL_SYSTEMS · SR SOFTWARE ENG (CONSULTING) · Remote (CA)
|
|     mission-critical hospital ops platform; full architectural
|     ownership across multi-site network.
*
* commit cc1cc1ad202300823f5b1e8d9c4a7e2f0b6d8c1a (tag: visa-ca)
| Author: Erik Henrique Alves Cunha <erik@erikunha.com.br>
| AuthorDate: Wed Aug 30 10:15:33 2023 -0700
| Branch: education/web-dev-coop
|
|     feat(life): CICCC · WEB DEV CO-OP DIPLOMA · Vancouver, CA
|
|     part-time, concurrent with Canon Medical role.
|     forcing function to relocate and earn CA work authorization.
*
* commit 5b6f0a4c8d9e1b3a7c2f5d8b0a4e6c9f1b3d7a02 (tag: v6.0)
| Author: Erik Henrique Alves Cunha <erik@erikunha.com.br>
| AuthorDate: Mon Dec 6 16:08:22 2021 -0300
| Branch: career/grupo-sbf
|
|     feat(career): GRUPO_SBF (NIKE / CENTAURO) · REACT DEVELOPER · São Paulo, BR (remote)
|
|     React at LATAM e-commerce scale (8M+ MAU); institutionalized
|     experiment-driven dev (20+ A/B tests).
*
* commit 3d4e8c1a5b9f2c7e6d3a8b1c4e5f9d2a7b6c0e8d (tag: v5.0)
| Author: Erik Henrique Alves Cunha <erik@erikunha.com.br>
| AuthorDate: Mon Jan 4 09:00:11 2021 -0300
| Branch: career/encora
|
|     feat(career): ENCORA (DAITAN GROUP) · FRONTEND ENGINEER · Campinas, BR
|
|     enterprise B2B Angular depth; NgRx in production.
*
* commit 1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a01 (tag: v4.0)
| Author: Erik Henrique Alves Cunha <erik@erikunha.com.br>
| AuthorDate: Wed Apr 1 13:22:45 2020 -0300
| Branch: career/zup-itau
|
|     feat(career): ZUP_INNOVATION (ITAÚ) · FRONTEND ENGINEER · Campinas, BR
|
|     first regulated / banking work; Web Components +
|     micro-frontends across multiple banking apps.
*
* commit 9c8b7a6e5d4f3c2b1a0e9d8c7b6a5e4f3d2c1b0a (tag: v3.0)
| Author: Erik Henrique Alves Cunha <erik@erikunha.com.br>
| AuthorDate: Fri Feb 1 10:30:00 2019 -0300
| Branch: career/venturus
|
|     feat(career): VENTURUS · MEAN STACK ENGINEER · Campinas, BR
|
|     cut teeth on backend; -97.5% API latency (40s → <1s);
|     Mongo → Postgres migration with custom ETL.
*
  commit 0e0f0a0b0c0d0e0f0a0b0c0d0e0f0a0b0c0d0e0f (tag: v1.0, root-commit)
  Author: Erik Henrique Alves Cunha <erik@erikunha.com.br>
  AuthorDate: Mon Jun 4 08:00:00 2018 -0300
  Branch: career/mb-labs
 
      feat(career): MB_LABS · MOBILE / FULL STACK · Campinas, BR
 
      first job. shipped 5-OS cross-platform from one
      Ionic + Angular + Electron codebase.
(END) — press q to return to portfolio
NPM LIST --GLOBAL
  • ANGULAR
  • REACT
  • NEXT.JS
  • TYPESCRIPT
  • NODE.JS
  • RXJS
  • NGRX
  • DOCKER
  • AWS
  • GH_ACTIONS
  • EXPRESS
  • JEST
SYS_HEALTH_MONITOR
EXPERIENCE
8+ YRS
TX VOLUME / YR
40M+
A11Y SCORE
~100 / 100
PERF DELTA
-33% JS / -98% CSS
./EXEC INTERACTIVE_SHELL
erik@portfolio:~ bash v8.0
Type help for available commands.
erik@portfolio:~$
commands: help · whoami · ls · cat skills.md · cat ~/.now · contact · hire · clear · ask <question>
LIVE_PERF.JSON
PERFORMANCE
100/100
ACCESSIBILITY
100/100
BEST PRACTICES
98/100
SEO
100/100
SOURCE: PageSpeed Insights · cached dailyLAST_CHECK: 2026-05-13 09:42 UTC
PERF_RECEIPTS --HARD-NUMBERS
API_LATENCY
-97.5%
@ VENTURUS
40s → <1s on a reporting endpoint. Query redesign + indexing strategy.
BUNDLE_CSS
-98%
@ CANON_MEDICAL
layout refactor + lazy load.
TTI
-52%
@ CANON_MEDICAL
concurrent async + OnPush.
BUNDLE_JS
-33%
@ CANON_MEDICAL
code splitting + dynamic imports.
PAGE_LOAD
-32%
@ GRUPO_SBF
CWV optimization + image pipeline.
CONVERSION
+10%
@ GRUPO_SBF
20+ A/B experiments.
DESKTOP_BUILD
-40%
@ MB_LABS
Electron consolidation across 5 OS.
ONBOARDING_TIME
-40%
@ BETSSON_GROUP
35-page architecture knowledge system + diagrams.
CAT ~/HOTTEST_TAKES.MD
$cat ~/hottest_takes.md// opinions i'll defend in a whiteboard interview
01.
ARCHITECTUREAngular is the right default for any regulated platform in 2026.React's ecosystem moves faster but is less audit-friendly. NgRx + RxJS give you serializable state by default — that matters when a regulator subpoenas your deposit flow. The "Angular is slow" argument is a 2018 take that survived past its expiration date.
02.
MFEMicro-frontends are a contract problem, not a routing problem.Most teams adopt them for Conway-shaped reasons (we have 4 teams, we want 4 apps) and pay the wrong tax. The hard part is event contracts and shared auth/state — not Module Federation config. If your MFEs can't be deployed independently without a runtime version matrix, you built a distributed monolith.
03.
TESTINGThe testing pyramid is wrong for B2C frontends.Inverted pyramid — heavy E2E, lean units, near-zero shallow snapshots — wins when UX is the product. Unit tests catch refactors; E2E catches what the customer actually sees. On the cashier, a single Playwright trace replaces 40 brittle component tests and tells me whether revenue is at risk.
04.
AIAI code review is already better than 80% of human reviewers for style and local correctness.The remaining 20% — cross-system reasoning, "why is this here", judging trade-offs against constraints reviewers were never told about — is exactly what senior humans are for. Hiring should optimize for that, not for catching missing semicolons your CI also caught.
05.
SIGNALBundle size is a leading indicator of team health, not a tech metric.A team that ignores the 1.4MB main chunk also ignores the dead route, the four versions of lodash, and the on-call rotation. The number itself doesn't cost much; what it predicts about discipline does. -33% JS at Canon Medical was the cheapest culture audit I've ever run.
06.
DXRxJS isn't harder than promises. It's harder than the wrong abstraction you reach for instead.Most "just use async/await" code is a hand-rolled, buggy reimplementation of switchMap + retry + takeUntil. Pay the learning curve once; stop reinventing cancellation, backpressure, and race conditions per-feature for the rest of your career.
07.
DSFramework-agnostic design systems lose unless the contract is shipping, not theory.Web Components only pay off when you have >1 framework consuming them in production. Otherwise you bought distribution overhead to solve a problem you don't have. Stencil at Betsson works because Angular, React, and Ember are all actually downstream — not because someone read a blog post.
08.
PROCESSIf your PRs require a meeting to merge, your architecture is unwritten.Architecture lives in the code review template, the ADR folder, and the linter config — not in a Confluence page nobody opens. The 35-page architecture system at Betsson cut onboarding -40% because it replaced "ask Erik" with "ask the doc". The doc doesn't go on PTO.
>willing to be wrong on any of these. willing to argue first.
LS -LA ~/RESPONSIBILITIES
$ls -la ~/responsibilities // role boundaries, in unix terms
drwxr-xr-x  erik  core  frontend-architecture
drwxr-xr-x  erik  core  performance-optimization
drwxr-x---  erik  core  security-mindset
drwxrwxrwx  erik  team  mentoring-juniors
-rw-r--r--  erik  team  written-knowledge-system
drwxr-xr-x  erik  team  ai-tooling
-rwx------  erik  self  taste-and-judgment
drwxr-xr-x  i own it, you can read it, you can run against itdrwxrwxrwx  explicitly shared — please write here toodrwxr-x---  owned, run only by trusted group (security, compliance)-rwx------  not delegable; this is the one i bring to the room
CAT ~/.UNKNOWNS
$ cat ~/.unknowns

# things i'm actively learning

- knowing when AI-assisted engineering is a force multiplier vs a debt accelerator
  (built the 12-agent system at betsson. also watched what it produces
 when nobody reads the diffs.)

- writing specs that someone else can ship without me in the room
  (the 35-page knowledge system was a start. specs are harder.
 "what i meant" is not what i wrote.)

- deciding what NOT to ship
  (the feature that doesn't ship is the one that doesn't cause an incident.
 learning to advocate for cuts.)

- opening a 1:1 with something other than "so, how's your week?"
  (the icebreaker question IS the conversation.
 learning to ask better ones.)

- learning to be wrong in public without making it the story
  (engineers who admit mistakes loudly are usually still making it about them.
 fix it, move on, stop performing the apology.)

# things i've chosen not to specialize in (yet)

- mobile native (ios/android beyond ionic)
  (shipped ionic for 5 OSes once. that was enough.)

- ML model training / research
  (applied-AI consumer, not researcher. the agents are the layer i own.)

- chasing the framework wars
  (i've shipped the same architecture pattern in 4 different syntaxes.
 the syntax was never the hard part.)

> open to roles that push me harder on any of the above.
CAT ~/.GUITAR_RIG
$ cat ~/.guitar_rig
# updated 2026-05-13

GUITAR_MAIN       Gretsch G5655TG · Electromatic Center Block Jr · Bigsby
GUITAR_ALT        Martin acoustic
AMP               modeled · no tube in the chain
PEDALBOARD        Line 6 HX Stomp XL · amp + effects modeling

STYLE             feel / expression over noise · clean tones, lots of space
TUNING            standard E · sometimes drop D · never Eb
PRACTICE          jams, tones, live takes · guitarcam from the desk
GIGS              played live with a band · small venues
NEVER_LEARNED     reading staff notation · tabs only
LATEST_OBSESSION  Coldplay's "Yellow" — the simplicity is the hard part

INFLUENCES        in order:
                      1. John Mayer
                      2. Mateus Asato
                      3. Jimmy Page
                      4. John Frusciante
                      5. Iron Maiden's three (Murray · Smith · Gers)
CAT ~/.VISA
JURISDICTION    STATUS                  EVIDENCE
================================================================
EU (MALTA)      WORK_AUTHORIZED         active employer (Betsson)
CA              CO_OP_GRADUATE          CICCC, Vancouver · 2023-2024
BR              CITIZEN                 native
WORLDWIDE       OPEN_TO_RELOCATION      considering opportunities
// quadrilingual: PT (native) · EN (C1) · FR (A2) · ES (A2)
CAT ~/.CREDENTIALS
$cat ~/.credentials

ANGULAR_DEV     CERTIFIED       Alain Chautard (GDE Angular) · 2024
ENGLISH         IELTS_C1        band 6.5 (speaking & listening) · 2023
INTL_DEGREE     WES_VERIFIED    World Education Services · 2022
CAT ~/.COMMUNITY
DEVOPSDAYS_CAMPINAS · 2024 · ORGANIZER
  • -curated 10+ talks across DevOps, cloud infra, platform engineering, and architecture.
  • -ran the full speaker cycle: CFP launch → review → selection → program design → day-of → wrap.
  • -coordinated with speakers, sponsors, and co-organizers end-to-end.
>status: open to CFP submissions for 2026 · open to volunteer / organizer roles.
SUDO CONTACT --INIT