← Back to projects

Case study · Master's thesis

Metawave Labs: from a research model to a platform in production

A platform that designs metamaterials to absorb vibrations: you ask for the frequency band to block and it proposes, verifies and exports the geometry. My part was turning the models into a working product on the Azure free tier.

OngoingMaster's thesis, Big Data, Data Science & AI · Complutense University of Madrid · graded 10/102025 – 2026
Metawave Labs sign-in screen: “Design the geometry, not the material”.

By the numbers

thesis grade
10/10
geometries generated → verified by simulation
210 → 5
to propose the candidates
~80 s
validation requests with a candidate in the requested band
187 / 224
per physical verification in the cloud
≈ $0.003
API contract tests passing
21/21 · 32/32

The problem

Designing a metamaterial that blocks vibrations in a specific frequency band is usually trial and error: propose a geometry, simulate it, tweak it, simulate again. Each finite element simulation takes minutes and needs expert knowledge to interpret.

The solution

Metawave Labs turns the process around: you choose the behaviour and the platform proposes the geometry.

  1. Request. You enter the frequency band you want to block and the cell size.
  2. Candidates. A generative model (cVAE) proposes 210 geometries. A second model predicts how each one will behave and ranks them, and a filter discards those that could not be manufactured or simulated. In just over a minute, the best five remain.
  3. Physical verification. The five are simulated with finite elements on a machine that only switches on for that, in about fifteen minutes.
  4. Export to CAD. The chosen geometry downloads ready to open in CAD software, with its data sheet.

Every request is saved in its user’s history and can be reopened without recomputing anything.

My role: from model to product

My teammates designed the models. My job was turning them into a platform the team could actually use, with no budget: everything runs on the Azure for Students free tier.

  • Near-zero-cost infrastructure. Both sets of models did not fit in the memory of a free machine at the same time. I split generation from simulation: the simulation runs on a second machine that starts when a request arrives and shuts itself down when done. Each verification costs about $0.003.
  • An API with a contract. I integrated the models behind a FastAPI API with two versions frozen by automated tests (21/21 and 32/32 cases). If anything changes behaviour by accident, the tests fail before it reaches anyone.
  • A deployment that protects itself. A git push is all it takes: GitHub Actions ships the new version, checks it responds as it should and, if anything fails, rolls back on its own. The model weights are verified on every start and, if damaged, downloaded again before anything is served.
  • Accounts, history and security. Individual accounts, expiring sessions, usage limits so nobody can run up the bill, and a history stored in PostgreSQL.
  • End-to-end testing. Browser tests with Playwright, including a real fifteen-minute verification with a page reload halfway through.
  • Open release. The model weights are published under the Apache 2.0 licence so anyone can reproduce the generation.

Honesty as a feature

The interface shows what the system does not promise: that the model estimate only ranks, that touching the requested band is not covering all of it, or that the geometry is not yet a manufactured part. A result that states what it doesn’t know is a result you can trust.

Status

In production for the team and still evolving. The next phase adds manufacturing parameters (material, technology and minimum feature size) so the geometry comes out ready to produce.

Got a model that needs to leave the lab?

I turn machine learning models into products people can use: deployed, tested and with costs under control. Tell me about your case.