DataMorph is a privacy-focused developer tool for converting and validating data formats like JSON, YAML, XML, and TOML. It runs entirely in your browser, so your data never leaves your device.
DataMorph uses a Client-Side Architecture. It downloads the necessary code once and then processes everything locally on your computer.
flowchart TD
%% Nodes
User([π€ User])
CDN[("βοΈ Vercel CDN")]
subgraph Client ["π» Client-Side Runtime"]
direction TB
Shell["π‘οΈ App Shell"]
Editor["π Monaco Editor"]
Engine["βοΈ Conversion Engine"]
end
%% Edges
CDN -.->|1. Delivers Assets| Shell
User ==>|2. Types Code| Editor
Editor <==>|3. Real-time JSON/YAML/XML| Engine
%% Styling
classDef plain fill:#1a1a1a,stroke:#fff,color:#fff;
classDef highlight fill:#22226e,stroke:#f2f0f0,stroke-width:2px,color:#fff;
classDef secondary fill:#2d2d2d,stroke:#666,color:#eee;
class User,CDN plain;
class Shell,Editor secondary;
class Engine highlight;
style Client fill:transparent,stroke:#333,color:#ccc,stroke-dasharray: 5 5
- Real-Time Conversion: Instantly convert between formats as you type.

- Privacy First: 100% client-side processing. Zero data opacity.
- Validation: Instant syntax checking for JSON, YAML, XML, and TOML.

- Modern UI: Dark mode, glassmorphism, and responsive design.
- More Formats: Support for CSV, Protobuf, and GraphQL SDL.
- File Upload: Drag-and-drop file conversion.
- API Generation: Generate TypeScript interfaces or Go structs from JSON.
- PWA Support: Install as a Progressive Web App for offline use.
- Theme Toggle: Light/Dark mode switcher.
We have professionalized the deployment pipeline using GitHub Actions and Docker, ensuring a robust CI/CD process.
Our pipeline fully automates the testing, building, and deployment process:
- Test: Runs
npm run lintto ensure code quality. - Build: Creates a optimized Docker image using a multi-stage build.
- Deploy: Automatically deploys the new container to our AWS EC2 instance upon any push to main or any tag push (vx.y.z) with a manual approval.
We use a Multi-Stage Docker Build to ensure our production images are:
- Lightweight: Only essential artifacts are copied to the final image (based on
node:20-alpine). - Secure: The app runs as a non-root user (
nextjs). - Efficient: Dependencies are cached effectively.
Official Docker Image: yashashavgoyal/datamorph
You can verify the running container on our AWS EC2 instance:

- CI/CD Pipeline: GitHub Actions for automated linting and deployment.
- Containerization: Dockerfile with multi-stage builds.
- Unit Tests: Integrate Jest/Vitest.
- E2E Tests: Integrate Playwright.
- Monitoring: Integrate Sentry and Vercel Analytics.
- Use a modern package manager like
npm,yarn, orpnpm. - Node.js: v18 or higher is recommended.
-
Clone the repository:
git clone https://github.com/YashashavGoyal/datamorph.git cd datamorph -
Install dependencies:
npm ci # or npm install
Run the development server to see changes in real-time:
npm run devOpen http://localhost:3000 with your browser to see the result.
To build the application for production usage:
-
Build the application:
npm run build
-
Start the production server:
npm start
The application is now optimized and ready for deployment.
βββ app/
β βββ (src)/ # Application Routes
β βββ components/
β β βββ shell/ # Core Editors (State Orchestration)
β β βββ editor/ # Third-party Integrations (Monaco)
β β βββ ui/ # Design System (Atomic Components)
β βββ lib/
β βββ converters.ts # Logic: Pure functions (Unit Testable)
β βββ hooks/ # Logic: React Custom HooksAuthor: Yashashav Goyal
License: MIT


