GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • dlDiego Lopesdata systems & NLP research
  • Research
  • Projects
  • Posts
  • CV
  • RSS

This view

  • Original page
  • New address

GeezerVison is showing datafromlopes.com — Diego Lopes — Lead Data Engineer & NLP Researcher

Diego Lopes
role
Lead Data Engineer
at
Ollie
msc
IME-USP
based
São Paulo, BR
tz
UTC−3

Focus

  • Natural language interfaces for databases
  • Distributed storage at production scale
  • Performance engineering, top to bottom

$ whoami

I build data systems that hold at scale, and study how models learn to query them.

I am Diego Lopes — 8 years of production data engineering, currently leading a data platform, and an MSc researcher at IME-USP working on natural language interfaces for databases.

The engineering runs at the boundary of storage engines, high-throughput pipelines and microsecond latency. The research asks a harder question: can a model read a schema it has never seen and write a query that is actually correct?

Read the researchBrowse projectsCurriculum vitae
00~/productionSource ↗
1.46B+

Writes served

47M/day sustained on Cassandra

13μs

P50 write latency

Multi-AZ cluster, RF=3

99.99%

Availability

12 months, zero data loss

75%

Cost reduction

US$6k → US$1.5k per month

Currently
01~/currently

Three things have my attention right now.

  • Feb 2026Lead Data Engineer at OllieLeading the data platform: architecture, technical direction and the engineering standards the team builds against.
  • 2023 —MSc in Computer Science, IME-USPNatural language interfaces for databases: translating Brazilian Portuguese geospatial questions into executable SQL.
  • 2026Paper published at SBBD 2026AtlasSQL-BR: A Brazilian Portuguese Geospatial Text-to-SQL Dataset with Spatial Hierarchies

Selected projects
02~/selected-projectsAll work

Work where the constraint was real — a latency budget, a cost ceiling, an SLA someone was paged for.

Geospatial Text-to-SQL for Brazilian Portuguese
01IME-USPOngoing

Geospatial Text-to-SQL for Brazilian Portuguese

A fine-tuned language model and a purpose-built Brazilian Portuguese dataset for translating geospatial questions into SQL that actually runs.

Target language
PT-BR
Execution target
PostGIS
Predicate families
3
First publication
SBBD 26
PythonPyTorchTransformersPostGIS+1
Case study
High-Throughput IoT Telemetry Platform
02PulsusJan 2025

High-Throughput IoT Telemetry Platform

Production Apache Cassandra deployment serving 1M+ connected devices at 13μs P50 write latency and 99.99% availability, at 75% lower cost than the managed alternative.

Writes served
1.46B+
P50 write latency
13μs
Availability
99.99%
Operating cost
−75%
Apache Cassandra 5.xAWS EC2 (Graviton4)Amazon S3Apache Airflow 3.x+2
Case study

Research
03~/researchAll publications

Peer-reviewed work on text-to-SQL and natural language interfaces for spatial data.

Conference paperPublished2026

AtlasSQL-BR: A Brazilian Portuguese Geospatial Text-to-SQL Dataset with Spatial Hierarchies

Diego O. Lopes, Kelly R. Braghetto

Anais do XLI Simpósio Brasileiro de Banco de Dados · SBBD 2026 · São Carlos, SP, Brazil

A real-world geospatial text-to-SQL benchmark in Brazilian Portuguese, built on school census data and official geographic boundary hierarchies.

Details PDF DOI Publisher Code Dataset
geo text-to-sqlpt-br → postgis

natural language

❯ Quais escolas estão dentro do município de Campinas?

executable sql

SELECT e.nome, e.matriculasFROM escolas AS eJOIN municipios AS m  ON ST_Within(e.geom, m.geom)WHERE m.nome = 'Campinas';
ST_Within· containment

The task in one screen: a question in Brazilian Portuguese, and the spatial SQL it has to compile to before anyone can trust the answer.

What I work on
04~/what-i-work-on

Three areas, and the places where they turn out to be the same problem.

Distributed Systems

Storage engines and pipelines that hold up when the traffic is real.

  • Distributed storage — Cassandra, PostgreSQL, Apache Iceberg
  • High-throughput ingestion — Kafka, Spark, Trino
  • Fault tolerance — multi-AZ topology, replication, exactly-once semantics
  • Latency engineering — microsecond-level read/write paths

47M writes/day · 13μs P50 · 99.99% availability

NLP Research

Making language models produce structured output you can execute.

  • Text-to-SQL — schema linking, execution accuracy, spatial predicates
  • LLM adaptation — LoRA, QLoRA, PEFT
  • Semantic parsing and constrained structured prediction
  • Dataset construction and evaluation for Brazilian Portuguese

MSc researcher @ IME-USP · SBBD 2026

Performance Engineering

Reading the machine as carefully as the code.

  • Parallel programming — OpenMP, MPI, CUDA
  • Memory hierarchy, cache blocking, SIMD vectorisation
  • Profiling — roofline analysis, perf, Nsight
  • Benchmark methodology — STREAM, NAS, HPL

10×+ speedup on dense matrix kernels

Daily tools

PythonC / C++CassandraPostgreSQLMongoDBIcebergTrinoKafkaSparkAirflowPyTorchDockerAWSGCP

Posts
05~/postsAll notes

Notes on the parts worth writing down.

13 Sep 2026

In Cassandra, DELETE is a write

Every introduction to Cassandra says it is write optimised. What it rarely says is that this applies to DELETE too, and that the bill for those writes arrives on the read path, often as a timeout nobody can explain.

5 min#distributed systems#Apache Cassandra#storage engines
25 May 2026

TF-IDF: measuring what a word is worth in a corpus

Term frequency tells you how often a word appears. Inverse document frequency tells you whether that means anything. Here is the maths, worked end to end on a corpus small enough to check by hand.

4 min#computational linguistics#NLP#information retrieval

Off duty
06~/off-duty

Flying over Brazilian airspace
Brazilian airspace

When I am not designing pipelines or fine-tuning models, I fly.

The overlap with engineering is larger than it looks. Both reward meticulous planning and punish improvisation. Both require making a decision with incomplete information, on a clock, and then living with it. Both are mostly about what you do when the plan stops working.

Aviation taught me to always have a second option ready before I need it — which turns out to be a reasonable description of designing for failure in a distributed system.

Field notes

New writing, in your inbox

Occasional notes on distributed systems, language models and the research that connects them. No cadence promises, no tracking, unsubscribe in one click.

Get in touch

Let's build what does not exist yet

I am working toward staff and principal engineering problems at the intersection of large-scale systems and language model research — the kind that do not fit neatly into one job description.

LinkedIn Academic e-mail
Ollie · 7 moPulsus · 3 yr 6 moACT Digital · 3 moCI&T · 1 yr
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.