Ideas that ended up as code.

A selection of products, data systems and PoCs. Some solve problems; others exist to understand them better. Every one links to its repository.

Talktor

An English tutor for short voice or text conversations with structured feedback.

What does it solve?

Practising a language alone is easy; knowing what to correct is not. Most tools either interrupt the conversation constantly or return feedback too vague to help with the next attempt.

How?

A Next.js interface keeps voice and text practice simple, while FastAPI and WebSockets manage the realtime conversation. OpenAI handles speech and analysis, and PostgreSQL stores sessions so feedback has context and practice can be repeated.

Material stack

  • FastAPI
  • Next.js
  • PostgreSQL
  • OpenAI Realtime
  • WebSockets
  • Docker

Agentic PoC Framework

A reusable full-stack base for building PoCs with coding agents.

What does it solve?

A PoC can be built quickly and still become impossible to continue a week later. Commands live in someone's terminal history, decisions are undocumented and coding agents lack the context needed to change the project safely.

How?

A reusable FastAPI and Next.js base packages the application with Docker and exposes predictable commands through Make. Tests and CI protect changes, while ADRs, runbooks and scoped agent instructions explain how the system works and where an agent should — and should not — make changes.

Material stack

  • Python
  • FastAPI
  • Next.js
  • Docker
  • CI
  • Agent workflows

Batch, streaming and dbt on GCP

A simple, scalable data warehouse built from scratch to start with data analytics, batch and streaming.

What does it solve?

Companies receive some data continuously and other data in scheduled files. When both paths are built separately, the same information can arrive late, be counted twice or produce different answers depending on the dashboard.

How?

Pub/Sub and Dataflow handle events as they arrive, while Cloud Storage covers batch inputs. Both paths converge in BigQuery, where dbt creates consistent models; Composer orchestrates the flow and Looker Studio consumes the resulting reporting layer. Managed GCP services keep the platform reproducible without operating unnecessary infrastructure.

E2E Shop PipeDash

A commerce pipeline from source data to dashboards for sales, customers and inventory.

What does it solve?

Sales, customer and inventory data often arrive from different systems and at different times. Without one reliable path, reports disagree and teams spend more time reconciling numbers than deciding what to do with them.

How?

AWS Lambda and S3 receive and store source data, Glue and Airflow prepare and coordinate processing, and Snowflake provides the analytical layer. Validation jobs stop incomplete data before it reaches a Tableau dashboard designed around sales, customers and stock.

A conversational layer for dbt

A retrieval system that gives LLM agents context from a real dbt project.

What does it solve?

A large dbt project contains useful knowledge, but it is spread across models, dependencies, configuration and documentation. A generic assistant cannot answer reliably if it does not understand those relationships and may confidently suggest changes that break the project.

How?

The system parses the repository and extracts model relationships and project conventions into ChromaDB. A RAG flow retrieves only the relevant context for a team of specialised agents, while Streamlit provides a simple interface for asking questions without giving the model the entire codebase on every request.

Customer review analysis

An application for analysing sentiment, topics and patterns in customer reviews.

What does it solve?

Customer reviews contain repeated complaints, requests and positive signals, but reading them one by one does not scale. Different writing styles also make a simple keyword count misleading, so useful patterns remain hidden in free text.

How?

A cleaning pipeline standardises the text before combining sentiment, topic analysis and embeddings to group related opinions. Optional LLM summaries turn those groups into readable findings, and a Streamlit application lets a non-technical user explore the evidence behind them.

Material stack

  • Python
  • NLP
  • scikit-learn
  • Embeddings
  • OpenAI
  • Streamlit

A/B testing framework

A reusable workflow for experiment design, validation and analysis.

What does it solve?

An A/B test can show a convincing uplift and still lead to the wrong decision. Small samples, uneven groups or an unsuitable statistical test can make ordinary variation look like a real product improvement.

How?

The Python workflow checks sample design and data quality before selecting the appropriate test. It then reports confidence intervals and segment results alongside the headline metric, so the conclusion includes both uncertainty and the groups driving the change.

Material stack

  • Python
  • pandas
  • SciPy
  • statsmodels
  • Experimentation
  • Jupyter

Forecasting workflow

A workflow that compares baselines, statistical models and machine learning.

What does it solve?

A complex forecast is not automatically a useful one. If it is compared against past data incorrectly, it can appear accurate while failing on the next period — and cost far more to maintain than a simple baseline.

How?

The workflow checks the time series, establishes simple baselines and compares them with statistical and machine-learning models. Walk-forward validation recreates how each forecast would have behaved in practice, and stacking is considered only when the measurable improvement justifies the extra complexity.

Material stack

  • Python
  • Time series
  • statsmodels
  • XGBoost
  • Validation
  • Jupyter

Shall we talk?

A problem, a proposal or just the urge to talk about data: any of the three is a good reason to write to me.

eduardoalmazang@gmail.com