Skip to content
Portrait of Tiago Pereira
Fig. 01 — On site, 2014–2022Fig. 02 — In software, 2020–

Senior Full Stack Developer

TIAGO
PEREIRA

Senior Full Stack Developer
2020 — Present

Eight years on site. Then code.

30+ projects shipped · 44 queues, 39 scheduled jobs · 50+ mentored · Leads 4 devs

Carcavelos, PortugalRemote / Hybrid (Lisbon area)Resume

General arrangement — the platform I build at work

Shares are non-merge commits on each default branch, measured 2026-09-18. Names of partners, brands and carriers are withheld.

  1. Front-ends: Check-in funnel, one deploy, every brand · 8 locales, 229 of 297 commits; Newer checkout funnels, an open login-link hole closed across three, contributor; Member zones, single sign-on across the group, contributor; Tickets storefront, seat maps · 3-D Secure, 314 of 456 commits; Back-office, the operations console, since 2022, contributor.
  2. API: Platform API, Express · Prisma · Zod → OpenAPI, 607 of 2,576 commits.
  3. State: PostgreSQL, 84 models, hand-written SQL migrations; Redis · BullMQ, 44 queues · 39 scheduled jobs; Object storage, verified documents.
  4. Outside: Browser robots ×10, Patchright workers, 105 of 107 commits; Payment gateways, card tokenisation · 3-D Secure; Mail · SMS · voice, webhooks in, messages out; Travel inventory · eSIM · top-ups, partner APIs; LLM, three API modules, a fallback pair in the robots.

Section A–A, one check-in, from click to boarding pass. The path runs Check-in funnel, then Platform API, then Redis · BullMQ, then Browser robots ×10, then Object storage.

  1. A–A · 1Nine browser runs per booking became one retry authority.
  2. A–A · 2A killed job now leaves a verdict, so a starved fleet no longer reads as idle.
  3. A–A · 3Success is the document — parsed, verified, covering every passenger — never the page state.

Proof — drawn to scale

Selected details

Each build started with a constraint. Three are drawn as details. The rest are in the register below.

Detail A
Open case

PoupaNaEnergia

Solo product

An independent electricity-tariff comparator for the Portuguese market. Users upload a power bill, a Gemini-powered pipeline extracts their consumption, and a regulatory engine fed by ERSE data synced daily ranks every plan by real annual cost.

Open caseOpen live
Detail B
Open case

Stock Robot

Solo system

A quantitative trading-research system that scans stocks and crypto and pushes buy/sell/hold calls to Telegram. Short- and long-term engines for each market cross technical indicators, news sentiment and fundamentals, size positions with volatility-scaled half-Kelly, and score every call against what the price did next. Runs 24/7 as a daemon since March 2026 and is still being built, behind a test suite as large as the system it guards.

Open case
Detail C
Open case

PDF API

Solo system

A public FastAPI service that compresses, converts, OCRs, redacts, protects and repairs PDFs. Heavy tools run as subprocesses with timeouts, and repair runs in a separate process under a memory limit, so a hostile file cannot take the worker down. It ships to Cloud Run through a keyless pipeline whose smoke test demands a 401.

Open case

As-built register

Delivered works — tabulated

Other delivered projects: reference, name, type, team and live link where public.
RefWorkStatus
W-04Second BrainAI / ToolingInternal
W-05School's CoolEducationInternal
W-06GOAT StudiosEntertainmentLive
W-07JFP TaxisTransportationLive
W-08Tante Joke KaraokeEntertainmentInternal
W-09AI & Automation SystemsAI / AutomationPrivate

Site diary

Daily record — last 12 months

4,923 contributions in the last 12 months on GitHub, 288 active days of 366.

General notes

Software is a structure

Note 01

The engineer

Full Stack Developer leading a team of 4 at Sanjow, with 6+ years building scalable React/Next.js and Python applications that serve live customer traffic. I ship products end to end — from payment platforms and automation systems to AI features powered by OpenAI, Claude, and Gemini.

Note 02

The site

My background includes 8 years in Civil Engineering — managing infrastructure projects, leading field teams, and diagnosing complex structural problems — which shaped how I approach software: methodically, with attention to performance, reliability, and real-world impact across 30+ delivered projects.

Specification

Ten materials. The rest is in the resume.

  • TypeScript
  • React
  • Next.js
  • Node.js
  • PostgreSQL
  • Python
  • Redis
  • Prisma
  • Playwright
  • Stripe

Borehole log — BH-01

From site to system

Twelve years of ground, drilled top to bottom. Software is the made ground; civil engineering is the bedrock.

0.00Top of log, level 0.00Made ground — software, from level 0.00 to -4.00

Full Stack Developer & Team Lead

@ Sanjow

Leading a team of 4 across multi-tenant payment, travel, and automation platforms — front-end architecture plus a TypeScript backend serving live customer traffic.

  • Lead a team of 4: code review, architecture, and mentoring
  • Multi-gateway payment processing across multi-tenant platforms
  • TypeScript backend: 84 Prisma models and 26 integration libraries behind OpenTelemetry + Sentry observability
  • Distributed BullMQ fleet of 10 browser-robot workers, with robots for 8 airlines and LLM form-extraction
  • White-label platform: one deploy serves 12 brands, with check-in deep links for 197 carriers
  • Production AI features with OpenAI, Gemini, and the Vercel AI SDK
  • A/B testing with split-URL experiments in the funnels; Lighthouse and field-data tooling for performance
Next.jsReactTypeScriptNode.jsExpress.jsPostgreSQLPrismaBullMQ
0.00Same layer, laid first and still running, from level 0.00 to -6.00

Freelance Full Stack Developer

@ Self-Employed

Custom web apps for clients and independent products of my own, taken from scoping to deployment.

  • Shipped a full-stack PDF SaaS: client-side tools (pdf-lib) plus a Python/FastAPI service on Google Cloud Run with multilingual OCR and Stripe billing
  • Built an AI bill-extraction tariff comparator (Google Gemini) and a Python trading-research system that runs unattended
  • Real-time apps with WebSockets, GPS integration, and payment systems
Next.jsReactTypeScriptPythonFastAPITailwind CSSGSAPFramer Motion
-5.00Teaching fill, interbedded, from level -5.00 to -6.00

Teaching Assistant

@ IronHack

Mentored 50+ students in JavaScript, React.js, Node.js, Express.js, MongoDB.

  • Guided students through full stack web development bootcamp
  • Code reviews and pair programming sessions
JavaScriptReact.jsNode.jsExpress.jsMongoDBMongoose
-4.00Bedrock — civil engineering, from level -4.00 to -12.00

Civil Engineer

@ Multiple Companies

8 years across 5 companies spanning research, construction, diagnostics, and infrastructure.

5 positions, 2014 — 2022
  • LNEC: Airport rigid pavements research (2014-2015)
  • Grupo H24: Structural engineering challenges (2015-2016)
  • OZ Diagnostico: Building pathology diagnostics (2016-2017)
  • BuildingClass: Head of Building Pathology Diagnosis (2017-2018)
  • DDN/Aguas de Cascais: Water infrastructure supervisor (2018-2022)
Transferable skills: Team leadership, complex problem diagnosis, client communication, budget management, deadlines, documentation
AutoCADSAP2000RevitMicrosoft Office Tools
-12.00EOB

End of boring — refusal on bedrock, 2014

Brief submission

Send the constraints

Goal, deadline, stack, what must not break. Hiring? A conversation about a role is just as welcome. I reply from the email on the card.

Tiago Pereira

Senior Full Stack Developer

Fig. 03 — The card, as handed over. Carcavelos, PT, REV. 2026
Presentation

Legend — the marks on these sheets

SH-xx
Sheet number. Every drawing in a set carries one, and the set is read in that order.
ESC 1:20
Scale. One unit on the drawing stands for twenty on the thing drawn.
DETAIL A/B/C
Detail callout. A lettered part of a drawing, enlarged on a sheet of its own.
SECTION C-C
Section mark. The line a cut is taken along, lettered at both ends.
BH-01
Borehole log. What a trial hole found, recorded downward by depth.
EOB
End of borehole. The depth at which the log stops.
REV. 2026
Revision. The issue a sheet belongs to; a later revision supersedes it.
As-built register
A table of what was actually built, set against what was drawn.

Press ? in the title block to open or close. Escape closes.