Skip to content
View ferreiratoni's full-sized avatar
🎯
Focusing
🎯
Focusing

Block or report ferreiratoni

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
ferreiratoni/README.md

Analytics Engineering, Public Health Supply Chains

I work at the layer between operational databases and the decisions people make from them: data models, correctness of the numbers, and the reporting surface on top.

Most of my work happens in production systems that track medicine stock, orders, and cold chain across national distribution networks. The chart is usually the easy part. The work is making sure the number underneath it survives contact with the schema.

What I work on

  • Data modeling over transactional schemas that were never meant for analytics: legacy relational systems, their modern successors, and the migration window where both run at once
  • Cross-database integration through foreign data wrappers, including the pushdown and type-mapping problems that come with them
  • Correctness work on existing reporting: grain, cardinality, join semantics, and silent row loss. A join on the wrong key raises no error and returns no empty result. It returns a plausible wrong number, which is the failure mode I spend most of my time engineering against
  • Query performance on wide operational tables: predicate placement, early aggregation, and index decisions backed by execution plans rather than intuition
  • Reporting surfaces in Grafana: variables, cascading filters, geospatial and time-series panels

How I work

The unit and meaning of a field come from the source code, not from the column name or the panel label. A DDL proves type and key. A probe proves one environment. The source proves intent across all of them.

Every new join gets measured before it ships: row count before and after, null foreign keys, and coverage of the left side. Inflation and masking are different failures and need separate tests.

Reconciliation against a known number is part of delivery.

When an assumption cannot be verified, it goes back as a question instead of a guess.

Stack

PostgreSQL Grafana Python Git SQL FDW


Most of what I build lives in client-owned private repositories, so this profile shows activity rather than code.

@ferreiratoni's activity is private