Step 1
Ask
what the question really is: what they asked for, and what they need. Sometimes that is a report they didn’t know to ask for. Sometimes it is no report at all.
Step 2
Learn the system
on my own: the tables, the fields, the joins, where each number is born, and whatever else it takes. Then I ask about what still doesn’t add up.
Step 3
Query and clean
the data in SQL, and in Python when SQL runs out, with AI along the way. Nothing gets trusted until I have checked it against the source.
Step 4
Analyze
on my own, with AI or without it, until the number is explained and not just reported. When two numbers that should match don’t, I find out which one moved.
Step 5
Build it to run
as a dashboard people can check down to the row, or a pipeline that runs without me: scheduled into S3, or a small one on my Mac. Big or small, then I write down how it works.3
How I work, told twice.
Analyst by trade, operator by need, tinkerer by habit.1
I work in operations and analytics at Stripe, after nearly four years in enterprise data at F5. Most of it is hands-on: learning a system, writing the query, cleaning what comes back, and building the dashboard or pipeline that keeps the answer current. I use AI for a lot of it, and check what it gives me against the source. Each part is told twice: once the way it would sound on a slide, and once, in the notes, the way it actually goes.

- The jobThe hands-on part: systems, queries, clean data, things that run.
- Track recordWhere I’ve done it, briefly.
- Off hoursWalking, music and trees, measured with the same rules.
- This siteThe pipelines behind those numbers, and what they may never publish.
- LabWhat is half-built right now, and how far along.
- Left outWhat isn’t on this page, on purpose.
The job
End-to-end analytics, from raw data to decision-ready dashboards.2
The tools change. The sequence doesn’t. Here it is with one made-up question, followed from the ask to the job that runs every week.
Tools, roughly in order of how often they settle the questionA conversation · SQL · Salesforce · Snowflake · A spreadsheet · Dashboards · Python · Data pipelines · React prototypes · Git · VS Code · Coding agents · AI agents · Scheduled skills
Track record
A track record across operations, analysis and data quality.4
Apr 2026 — now
Stripe
In practiceI learn the systems and build what the numbers run on: dashboards you can check down to the row, a human-reviewed AI workflow for incoming requests, and a multi-variable target model used in planning by sales segment. AI is in nearly all of it, from queries and analysis to dashboards, handoff logs and the models I build; I decide the question, check what comes back and sign off.5
Mar 2024 — Jun 2024
Advantive
In practiceOn a short contract I built and audited the Salesforce reports and dashboards Customer Success leaders used to track performance, and dug into the ones that were wrong or slow.6
Jun 2022 — Apr 2026
F5
In practiceI started on governed account changes, catching duplicates before they were created. I designed the team’s request process and SLA log, which it adopted as standard: gathering requirements, finding where time was lost, and measuring progress. I learned SQL by asking to shadow the analysts doing the reporting, which led to GTM reporting and a promotion to Data Analyst II. I finished on migration readiness: reconciling records between systems before they moved.7
Feb 2022 — Jun 2022
Endeavor México
In practiceIn the internship I segmented companies, kept prospect and survey datasets clean, and analyzed survey responses to support entrepreneurship-focused reports — the unglamorous data work behind the reports.8
Aug 2018 — now
Penagos Mendoza y Asociados
In practiceAt my family’s accounting firm I maintained operational and accounting data and built basic Excel and Power BI reporting, applying what I was learning in school to real numbers.9 Alongside the day job I maintain the family firm’s website, a structured publishing workflow, and its social-media posts. AI helps with drafts; a person reviews everything before it goes out.
Appendix D: how Penagos Mendoza is wired →
Background
- Business Intelligence · UPAEP
- Business Administration · City University of Seattle
- Co-author, “Text Mining Applied as Business Intelligence in the Tourism Industry,” De Gruyter, 2022. Read it ↗
- I am also on LinkedIn ↗10
Off hours
A longitudinal, multi-source personal analytics program.11
I walk. A lot. It is where I do most of my thinking, and trees are a lot of what I look at while I do it. Then, because I can’t help it, I started keeping records: of the walking, of what I listen to, and of the trees I have planted, with the same rules I use at work. Nobody is waiting on these numbers, so they are a fair test.
Each mark on the line is one marathon, 42.195 km. The line is filled only as far as the walking got.
Each mark on the line is one marathon, 42.195 km. The line is filled only as far as the walking got.
Record 1
Walking
239.9 km in the 30 days to Oct 2312
The ruleTranslate the number into something a person can picture.
Appendix A: the full walking record →One dot per play. The dark ones are the 8 songs below: 17 of 125. No song has more than 3.
Record 2
Music
125 plays logged in October 2026, so far13
The ruleA ranking without its sample size is decoration.
Appendix B: the full listening record, with the Spotify years →One mark per living tree. The narrow ones with veins are the five ash trees.
Record 3
Trees planted
10 trees I planted in the last two years that are still alive14
The exceptionSome numbers are here only because I like keeping them.
Two rules, then: make the number picturable, and show its sample size. They are the job’s habits, applied where nobody is checking.
This site
A privacy-first, automated personal data platform.15
Step 1
A private source
Each record starts in a place that is not mine to publish: a step counter, a listening history, the site’s own visits. One drawer per record; the bottom drawer stays locked.
Step 2
The Mac mini collects
Collectors on a Mac mini that stays on read each source. Raw records never leave the dashed line.
Step 3
The validator checks
Coverage, duplicates and freshness. A run that does not validate changes nothing: the last edition stays up.
Step 4
Only totals cross
The gate lets small summaries through into a public file. Nothing finer than a total does.
Step 5
The page
The file is committed and deployed, and the live site shows it. No AI subscription is in the loop.
| Record | Source | Published | Updated |
|---|---|---|---|
| Listening | Last.fm, collected weekly; Spotify, one export read on my Mac | Top 20 songs, artists and albums for the month and the year, with play counts; for Spotify, 2013–2026 totals, never a single play | Oct 24, 2026 |
| Walking | Fitbit through Google Health, read-only | Steps and distance for rolling windows; closed months when available | Oct 23, 2026 |
| Visits | Vercel Web Analytics, no cookies | Visitors, views, countries, pages and devices, as counts | Oct 24, 2026 |
| Trees | A planting log, kept by hand | How many of the trees planted in the last two years are alive, and how many are ash | by hand |
The pipelines are built to run without me, which is the point: the records keep themselves, and I can be somewhere else. The walking one still needs me now and then; it is on the bench below.
AI coding agents write most of the code; I define the system, its constraints, what gets published and what ships.16 Orchestrating agents is what I am working on most right now. It always looks the same: a few agents wired together, and me holding the keys, which means the repository, the API access and the final yes.
AI-augmented, human-in-the-loop decision intelligence.17
LabOn the bench
A culture of continuous experimentation.18
- In my headMany ideas, nothing decided
A lot is going round in my head and none of it has landed yet. Up there, everything is finished.
- BuildingA walking connection that lasts
The Google side of the walking record still needs verifying, so that it can keep running without me re-approving it by hand.
- LaterNotes
Short write-ups of things that broke and what fixed them, once there are enough to be worth reading.
Left out
Radical transparency.19
- Every bullet point of every job
- This page keeps the dates, the roles and how I work. The long version is on LinkedIn, and it does that fine.
- Employer metrics, systems and partners
- Not mine to publish. The descriptions above stay at the level of how I work.
- Walking routes, times and places
- Distance answers the question I care about. Routes answer a different one: where I live.
- Heart rate, sleep and the rest of the health record
- The site never receives them.
- The full listening history
- A ranked selection is honest enough. The rest is just embarrassing.
- Where the trees are
- They are doing fine without visitors.
- Skill bars
- No one has ever been 80% good at SQL.
- A blog
- I don’t have a publishing schedule and won’t pretend to.












