Thanks to visit codestin.com
Credit goes to github.com

Skip to content

suryanshsingh2001/devmd

DevMD

Live Demo Next.js React TypeScript Tailwind CSS shadcn/ui License: MIT

Transform your Medium and Peerlist articles into dev.to-ready Markdown with AI precision.

Live Demo · Report Bug · Request Feature · Contribute

DevMD Interface DevMD

📖 About

DevMD is an open-source tool that seamlessly converts Medium and Peerlist blog posts into dev.to-compatible Markdown format. Powered by Google Gemini Flash, DevMD ensures your content maintains its structure, readability, and context throughout the conversion process.

Whether you're cross-posting content, migrating your blog, or optimizing articles for different platforms, DevMD streamlines the entire workflow with AI-powered intelligence.


✨ Features

  • 🤖 AI-Powered Conversion – Leverages Google's Gemini Flash for intelligent content transformation
  • 🔗 URL Import Support – Paste Medium or Peerlist URLs for instant content extraction
  • 📝 Accurate Formatting – Preserves headings, paragraphs, code blocks, and styling automatically
  • Lightning Fast – Convert articles in seconds with optimized AI processing
  • 🎨 Intuitive Interface – Clean, modern design built with Next.js and shadcn/ui
  • 🛡️ Rate Limiting – Built-in Arcjet protection for fair usage and API sustainability
  • 🔓 100% Open Source – Transparent, community-driven development

🚀 Quick Start

Prerequisites

Before you begin, ensure you have:

Installation

# Clone the repository
git clone https://github.com/suryanshsingh2001/devmd.git

# Navigate to project directory
cd devmd

# Install dependencies
npm install
# or
yarn install

Environment Setup

Create a .env.local file in the root directory:

# Required: Your Gemini API key
GEMINI_API_KEY=your_gemini_api_key_here

# Optional: Arcjet for rate limiting
ARCJET_KEY=your_arcjet_key_here

# Rate limiting configuration
RATE_LIMIT_ENABLED=true  # Set to 'false' to disable in development
MAX_REQUESTS=20

# Character limit per conversion
NEXT_PUBLIC_MAX_CHARACTERS=5000

Note: Set RATE_LIMIT_ENABLED=false during local development to disable rate limiting.

Running the Application

# Start development server
npm run dev
# or
yarn dev

Open http://localhost:3000 in your browser to start using DevMD.


💡 How It Works

graph LR
    A[Paste Article/URL] --> B[AI Processing]
    B --> C[Gemini Flash Analysis]
    C --> D[Markdown Conversion]
    D --> E[dev.to Ready Output]
    E --> F[Copy & Publish]
Loading
  1. Input – Paste your Medium/Peerlist article content or URL
  2. AI Analysis – Gemini Flash parses and understands your content structure
  3. Conversion – Content is transformed into dev.to-compatible Markdown
  4. Export – Copy the formatted Markdown and publish directly to dev.to

⚠️ Current Limitations

Feature Status Workaround
🖼️ Image Support Not Available Manual upload to dev.to required
✂️ Character Limit 5,000 characters Split longer articles into parts
🎥 Embedded Content Limited May require manual formatting

🔮 Roadmap

🎯 Next Up

  • Automated image extraction and upload to dev.to
  • Increased character limit (10,000+ characters)
  • Enhanced code block preservation with syntax highlighting
  • Support for embedded tweets and YouTube videos

🚀 Future Vision

  • Browser Extension – Convert articles with one click from Medium/Peerlist
  • Multi-Platform Export – Hashnode, Ghost, WordPress support
  • SEO Optimizer – AI-powered recommendations for better reach
  • Batch Processing – Convert multiple articles simultaneously
  • Conversion History – Track and manage all your conversions
  • Custom Templates – Community-driven conversion profiles
  • Analytics Dashboard – Monitor conversion performance

Have ideas? Share them with us!


🤝 Contributing

We love contributions from developers of all skill levels! DevMD is proudly participating in Hacktoberfest 2025 🎃

Ways to Contribute

🐛 Bug Fixes

Find and fix issues labeled bug

✨ New Features

Build features labeled enhancement

📚 Documentation

Improve docs labeled documentation

🎨 UI/UX

Enhance design labeled ui/ux

Getting Started

# 1. Fork the repository on GitHub

# 2. Clone your fork
git clone https://github.com/YOUR_USERNAME/devmd.git

# 3. Create a feature branch
git checkout -b feature/amazing-feature

# 4. Make your changes and commit
git commit -m "feat: add amazing feature"

# 5. Push to your fork
git push origin feature/amazing-feature

# 6. Open a Pull Request

Contribution Guidelines

Do:

  • Write meaningful commit messages
  • Add tests for new features
  • Update documentation when needed
  • Follow the existing code style
  • Be respectful and collaborative

Don't:

  • Submit untested code
  • Make unrelated changes in one PR
  • Ignore feedback from maintainers

Read our Contributing Guidelines and Code of Conduct for more details.

📋 Issue Templates

Use our templates when creating issues:

🎃 Hacktoberfest 2025

Contributing during October? Your PRs count toward Hacktoberfest!

Ground Rules:

  1. Contributions must add real value
  2. Test thoroughly before submitting
  3. Follow project standards
  4. Be patient and respectful

Check out good first issues to get started!


❓ FAQ

What platforms does DevMD support?
DevMD currently supports converting articles from Medium and Peerlist to dev.to format. Support for additional platforms (Hashnode, Ghost, WordPress) is planned for future releases.
How many conversions can I do per day?
The default limit is 20 conversions per day (configurable via MAX_REQUESTS). This ensures fair API usage and sustainability. Rate limiting can be disabled for local development.
How do I handle images in my articles?
Currently, images must be manually uploaded to dev.to. Automated image handling is our top priority feature and is actively being developed.
Is DevMD free to use?
Yes! DevMD is completely free and open source under the MIT License. However, you'll need your own Gemini API key, which has generous free tier limits from Google.
Can I use DevMD for commercial purposes?
Absolutely! The MIT License allows commercial use. Just remember to provide attribution and comply with Google's Gemini API terms of service.
Which AI model powers DevMD?
DevMD uses Google's Gemini Flash model, optimized for fast and high-quality text understanding and transformation.
What's the character limit for conversions?
Currently 5,000 characters per conversion. For longer articles, we recommend splitting them into multiple parts. We're working on increasing this limit.
Do I need an Arcjet key?
No, Arcjet is optional and only used for rate limiting. You can set RATE_LIMIT_ENABLED=false in your .env file to run without it.

🛠️ Tech Stack

Next.js
Next.js
React
React
TypeScript
TypeScript
Tailwind
Tailwind

Additional Technologies:

  • UI Components: shadcn/ui
  • AI Processing: Google Gemini Flash
  • Rate Limiting: Arcjet
  • Icons: Lucide React

👥 Contributors

A huge thank you to all our contributors! 🎉

Want to see your face here? Start contributing today!


📄 License

This project is licensed under the MIT License. Feel free to use, modify, and distribute as you see fit.


📬 Connect & Support

Maintainer: Suryansh Singh

Website: devmd.surydev.site

Issues: GitHub Issues


🙏 Acknowledgments


Made with ❤️ by the DevMD community

⬆ back to top

About

Convert your Medium or Peerlist blog posts into dev.to-ready Markdown powered by AI

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 5