DEV Community

Anandh
Anandh

Posted on

I got tired of manual DTO mapping, so I built a visual tool for it 🛠️

The "Manual Mapping" Nightmare 😱

We've all been there. You’re integrating two services. Service A speaks one version of OpenAPI, Service B speaks another. The fields almost match, but not quite.

What follows is usually an afternoon of:

target.setUserId(source.getUUID()); 
Enter fullscreen mode Exit fullscreen mode
target.setCreatedAt(source.getTimestamp());
Enter fullscreen mode Exit fullscreen mode

...multiplied by 50 fields.

Before you know it, your service layer is 40% "glue code" and 60% MapStruct configurations that only three people in the company understand.

I decided I'd had enough.

Introducing EasyMap: Visual Mapping for OpenAPI🧩

I'm a senior dev, and I spent way too much time wrestling with these mappers. I wanted a way to see the mapping, not just read it in code.

I built EasyMap to turn that "boilerplate hell" into a visual drag-and-drop experience.

How it works:

  • Upload your specs: Import your source and target OpenAPI JSON/YAML.
  • The Visual Canvas: Literally drag a line from the source field to the target field.
  • Keep it Clean: All that mapping logic stays outside of your business code.

Where it stands today (and where it's going) 🚀

Right now, the tool is a lean MVP focused on Spring Boot integrations. I've been using it to streamline my own workflow, but I'm building it to be framework-agnostic.

On the roadmap:

🐍 Python support (FastAPI/Flask devs, I see you!)

🟦 TypeScript / Node.js support

Advanced transformations (for those "dirty" mappings)

Try it out & Break it! 🧪

It’s in the early stages, and I’m looking for honest peer feedback to see if I’m on the right track.

Live App: https://easymap.valorio.io

Spring Boot Sample: https://github.com/valorio-io/easymap-integration-springboot-sample

I'd love to hear from you:

  • Is "visual mapping" something you'd actually use, or do you prefer the "safety" of raw code?
  • What’s the most annoying part of your current integration workflow?
  • What’s the one feature that would make this a "must-have" for you?

Thanks for reading! Happy coding. ☕

Top comments (0)