Solutions Engineering · Product Data Analytics · Forward Deployment

Ideas that ended up as code.

A selection of products, data systems and PoCs, with public repositories where available. Curious about a private project? Let's talk.

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.

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.

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.

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.

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.

eduardoalmazang.com

A lightweight, maintainable and secure portfolio that makes my work — and contacting me — easy to find.

What does it solve?

After years of paying for bundled hosting tools such as Hostinger, I wanted a portfolio that did one job well: present my work clearly and make it easy to contact me, without carrying a heavy platform, recurring licence costs or an unnecessary maintenance burden.

How?

I replaced the licensed platform with a static Astro site written in TypeScript and CSS, deployed on Cloudflare Pages. Bilingual content, local assets, automated checks and restrictive security headers keep the site fast, inexpensive and straightforward to maintain without adding a backend or client-side application.

  • Astro
  • TypeScript
  • CSS
  • Cloudflare Pages
  • GitHub Actions
  • Content Security Policy
Private repository +

Private repository +

Private by design.

This repository stays private to avoid publishing security-sensitive implementation details. Curious about the build? I’m happy to walk you through it — just get in touch.

Chop It!

A meal-planning application connecting recipes, nutrition, weekly menus and grocery lists.

What does it solve?

Planning meals means connecting several decisions: what to cook, which ingredients are needed and how the week fits together nutritionally. When recipes, menus and shopping lists live separately, keeping them consistent becomes repetitive manual work.

How?

A Next.js interface connects ingredients, recipes and weekly plans, calculates macro totals and turns the plan into an actionable grocery list. FastAPI models the workflow and PostgreSQL stores its data. Docker Compose runs this standalone demo, extracted from LifeHub, with fictional seed data and no account setup.

Portfolio Analytics

A spreadsheet-based application for exploring net worth, investments, property and financial goals.

What does it solve?

A personal-finance spreadsheet is flexible, but becomes harder to explore as years, assets and calculations accumulate. Comparing returns, understanding allocation or tracking goals requires a consistent view without abandoning the workbook that already holds the information.

How?

The application previews and validates an XLSX workbook before applying changes, then normalizes its records into PostgreSQL through FastAPI. Next.js and Recharts expose net worth, allocation, returns, benchmarks and goal projections. A Docker Compose demo uses synthetic financial records and keeps the analysis local.

  • Next.js
  • TypeScript
  • FastAPI
  • PostgreSQL
  • Recharts
  • Docker Compose

Portfolio Lab

A backtesting platform comparing dynamic investment contributions with a fixed DCA baseline.

What does it solve?

Investing a fixed amount at regular intervals is simple, but it leaves an open question: would adjusting contributions to market conditions improve the result? Comparing strategies fairly requires historical simulation with the same capital budget and a clear baseline.

How?

A FastAPI backend simulates dynamic DCA strategies that adjust contribution timing and size using technical indicators such as RSI and moving averages. Next.js and Recharts present results against a standard DCA baseline, with PostgreSQL for persistence and Docker for a reproducible runtime. The platform evaluates the hypothesis rather than assuming outperformance.

LifeHub

A private modular hub for personal applications, shared APIs and container orchestration.

What does it solve?

Personal tools tend to grow independently: finance, meal planning, notes and automations each bring their own interface and operating requirements. Connecting them later can become harder than building them, especially when every service follows different conventions.

How?

LifeHub builds on a shared FastAPI API and Next.js web shell, with Docker Compose coordinating independent applications and services. Common commands, documentation and automated checks make the workspace easier to extend. The architecture supports separate module development and a unified experience; its private repository is available to discuss on request.

  • Next.js
  • FastAPI
  • PostgreSQL
  • Docker Compose
  • Python
Private repository +

Private repository +

Private by design.

This repository stays private to avoid publishing security-sensitive implementation details. Curious about the build? I’m happy to walk you through it — just get in touch.

GSP

A private system for automated investment monitoring and management.

What does it solve?

Monitoring investments manually means repeatedly checking market conditions, tracking positions and keeping decisions consistent over time. As the number of assets grows, scattered scripts and spreadsheets make the workflow difficult to repeat and review.

How?

GSP combines Python workflows for market data, analysis and investment management, with notebooks used to develop and evaluate the approach. AWS forms part of the operating stack. The repository remains private; the portfolio describes its purpose and technical foundations without exposing trading records, configuration or strategy details.

  • Python
  • AWS
  • Jupyter
Private repository +

Private repository +

Private by design.

This repository stays private to avoid publishing security-sensitive implementation details. Curious about the build? I’m happy to walk you through it — just get in touch.

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