Skip to content

Repository files navigation

Ditto

You made one. Ditto the rest.

A web-based platform that turns one design and your data into hundreds of personalized versions. Upload a finished design, map your data to dynamic fields, and bulk-generate personalized outputs ready for download.

Use Cases

  • Certificates — Bulk-generate personalized certificates for seminars, training, and events
  • Event Badges — Name badges, speaker badges, and attendee passes
  • Invitations — Personalized invites and name cards
  • ID Cards — Employee or participant ID cards
  • Speaker Graphics — Social graphics with different names and titles
  • Any repeatable, data-driven design

Features

  • 🎨 Bring Your Design — Upload existing templates (PDF, PNG, JPG). No need to recreate inside Ditto
  • 📝 Dynamic Text Fields — Place any variable (name, serial, role, company, etc.) on your design
  • 🔄 Live Preview — See real data on the canvas, not abstract placeholders. Switch between records while editing
  • 📊 Bulk Generation — Generate hundreds of personalized outputs from pasted names, CSV, or XLSX
  • 🚀 Next.js Powered — Fast and responsive web interface
  • 🎨 Tailwind CSS + shadcn/ui — Beautiful and consistent UI components
  • 📦 Modular Architecture — Easy to extend and maintain

Prerequisites

Before you begin, ensure you have the following installed:

  • Node.js (v18 or higher)
  • npm (v9 or higher) or yarn
  • Git (for version control)

Installation

  1. Clone the repository:
git clone https://github.com/louispawaon/ditto.git
  1. Navigate to the project directory:
cd easycert
  1. Install dependencies:
npm install
  1. Start the development server:
npm run dev
  1. Open your browser and visit http://localhost:3000 for the landing page, or go directly to the workspace at http://localhost:3000/generate

Contributing

We welcome contributions! Here's how to get started:

  1. Fork the repository
  2. Create a new branch from the develop branch:
git checkout -b feature/your-feature-name
  1. Make your changes and commit them:
git commit -m 'Add some feature'
  1. Push to the branch:
git push origin feature/your-feature-name
  1. Open a pull request to the develop branch

About

a web-based bulk design personalization platform that transforms a single design into hundreds of personalized outputs using structured data. upload your design, map dynamic variables, and generate customized assets in minutes.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages