Personal Developer 2026 Completed

Ditto

Automate design personalization, dynamic data mapping, and bulk generation so repetitive edits become a thing of the past.

Scroll or use arrows — keyboard ← → when focused. Click image to view full size.

The Problem

Organizations, designers, and event hosts often spend hours manually personalizing the same design for hundreds of recipients.

Existing workflows rely on repetitive manual edits or fragmented tools that require recreating designs, making large-scale personalization slow, error-prone, and difficult to manage.

The Approach

A web-based platform that automates bulk design personalization across multiple use cases.

Users upload an existing design, import structured data, map dynamic variables, and generate hundreds of personalized outputs in bulk—all from a single workflow. Whether creating certificates, event badges, invitations, ID cards, or other personalized assets, Ditto eliminates repetitive manual edits while keeping the generation process fast, intuitive, and scalable.

Technical decisions worth noting

Designed around a simple workflow that turns one design into hundreds of personalized outputs.

The interface is intentionally minimal, allowing users to focus on personalizing designs rather than learning complex tools. Ditto follows a straightforward workflow: upload a design, import structured data, place dynamic variables, and generate personalized outputs in bulk. By centering the experience around this design-to-data pipeline, the application removes repetitive manual edits while remaining approachable for both technical and non-technical users. Built with Next.js, React, and Fabric.js, the frontend provides a real-time editing experience with live data previews, client-side rendering, and efficient bulk generation—all without requiring users to upload their data to a server.

  • NextJS
  • TailwindCSS
  • TypeScript

Outcome

  • Expanded beyond certificates into a flexible bulk design personalization platform.
  • Smarter personalization with dynamic data mapping.
  • Faster bulk workflows with minimal manual effort.
View Live Project Visit Repository