Skip to content

epavanello/devmotion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

135 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

DevMotion

AI-Powered Animation Video Creator

Create stunning animated videos with full manual controls or AI-powered suggestions. Export professional MP4sโ€”free, no watermark, no limits.

GitHub Stars License Built with SvelteKit

Try it Live โ€ข Documentation โ€ข Report Bug โ€ข Request Feature


โœจ Features

Animation Studio

  • Timeline Editor โ€“ Full keyframe control with smooth interpolation and easing curves
  • Layer Management โ€“ Text, shapes, and images with complete customization
  • Interactive Canvas โ€“ Zoom, pan, grid controls, and real-time preview
  • Export โ€“ High-quality MP4 videos with no watermarks or file limits

AI-Powered Workflow

  • Intelligent Suggestions โ€“ Get smart animation and layer recommendations
  • Auto-Generation โ€“ Create motion sequences automatically
  • MCP Integration โ€“ Use DevMotion tools directly in Claude via Model Context Protocol

Project Management

  • Save & Load โ€“ Store projects in JSON format for future editing
  • Database Storage โ€“ Persistent project storage with PostgreSQL
  • Authentication โ€“ Secure user accounts with Better Auth

๐Ÿš€ Quick Start

Web Application

# Install dependencies
pnpm install

# Start development server
pnpm dev

# Build for production
pnpm build

Open http://localhost:5173 and start creating animations!

MCP Server Integration

Use DevMotion's animation tools directly in Claude Desktop or any MCP-compatible client:

claude mcp add --transport http devmotion devmotion.app/mcp

This enables you to create and animate videos through natural language conversations with Claude. The MCP server provides tools for:

  • Creating animation projects
  • Adding and editing layers (text, shapes, images)
  • Applying animations and keyframes
  • Configuring project settings

All projects created via MCP are stored anonymously and can be previewed at devmotion.app/p/{project-id}.

๐Ÿ“– Documentation

Comprehensive guides available in ANIMATION_EDITOR.md:

  • User guide and tutorials
  • Keyboard shortcuts reference
  • Technical architecture
  • Animation presets

๐Ÿ› ๏ธ Tech Stack

Component Technology
Framework SvelteKit + Svelte 5 (Runes)
UI Components bits-ui + Tailwind CSS v4
Canvas Rendering HTML5 Canvas API
Video Processing MediaBunny
AI Integration Vercel AI SDK + OpenRouter
MCP Server Vercel MCP Adapter
Database PostgreSQL + Drizzle ORM
Authentication Better Auth
Animation Engine Custom interpolation with bezier-easing
Internationalization Paraglide JS

โŒจ๏ธ Keyboard Shortcuts

Shortcut Action
Space Play / Pause
T Add text layer
R Add rectangle
Cmd/Ctrl + S Save project
+ / - Zoom in / out
Delete Remove selected layer

Workflow

  1. Add Layers โ€“ Text, shapes, or images
  2. Position & Style โ€“ Customize appearance and placement
  3. Animate โ€“ Set keyframes with easing curves
  4. Preview โ€“ Real-time playback
  5. Export โ€“ Generate MP4 video
  6. Save โ€“ Store for future editing

๐Ÿ“ Project Structure

src/
โ”œโ”€โ”€ lib/
โ”‚   โ”œโ”€โ”€ components/editor/
โ”‚   โ”‚   โ”œโ”€โ”€ canvas/          # Canvas viewport & interactions
โ”‚   โ”‚   โ”œโ”€โ”€ timeline/        # Timeline, playhead, keyframes
โ”‚   โ”‚   โ”œโ”€โ”€ panels/          # Layers & properties panels
โ”‚   โ”‚   โ”œโ”€โ”€ toolbar.svelte   # Main toolbar with controls
โ”‚   โ”‚   โ””โ”€โ”€ export-dialog.svelte
โ”‚   โ”œโ”€โ”€ engine/
โ”‚   โ”‚   โ”œโ”€โ”€ interpolation.ts # Animation interpolation
โ”‚   โ”‚   โ”œโ”€โ”€ presets.ts       # Built-in animation presets
โ”‚   โ”‚   โ”œโ”€โ”€ layer-factory.ts # Layer creation utilities
โ”‚   โ”‚   โ””โ”€โ”€ video-export.ts  # FFmpeg video rendering
โ”‚   โ”œโ”€โ”€ stores/
โ”‚   โ”‚   โ””โ”€โ”€ project.svelte.ts # Global reactive state
โ”‚   โ””โ”€โ”€ types/
โ”‚       โ””โ”€โ”€ animation.ts      # TypeScript interfaces
โ””โ”€โ”€ routes/
    โ””โ”€โ”€ (app)/
        โ””โ”€โ”€ +page.svelte     # Main editor interface

๐Ÿค Contributing

We welcome contributions from the community! Whether you're fixing bugs, adding features, or improving documentationโ€”every contribution helps make DevMotion better.

Ways to Contribute

  • ๐Ÿ› Report Bugs โ€“ Open an issue with detailed reproduction steps
  • ๐Ÿ’ก Suggest Features โ€“ Share your ideas for new capabilities
  • ๐Ÿ”ง Submit Pull Requests โ€“ Pick an issue or propose a new feature
  • ๐Ÿ“– Improve Docs โ€“ Help us make the documentation clearer
  • โญ Star the Project โ€“ Show your support and help others discover DevMotion

Development Setup

# Clone the repository
git clone https://github.com/epavanello/devmotion.git
cd devmotion

# Install dependencies
pnpm install

# Set up environment variables (copy .env.example to .env)
# Configure your database and API keys

# Start the database
pnpm db:start

# Push schema to database
pnpm db:push

# Start development server
pnpm dev

Contribution Guidelines

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Test thoroughly
  5. Commit with clear messages (git commit -m 'Add amazing feature')
  6. Push to your branch (git push origin feature/amazing-feature)
  7. Open a Pull Request

๐Ÿ”ฎ Roadmap

  • Enhanced AI animation suggestions
  • Advanced motion paths and bezier curves
  • Layer effects and filters (blur, shadows, etc.)
  • Audio track synchronization
  • Lottie animation export
  • Real-time collaborative editing
  • Stock media library integration
  • Mobile-optimized interface
  • Animation templates marketplace

๐Ÿ“„ License

This project is open source. Check the repository for license details.


DevMotion โ€“ Create, animate, export. Completely free.

devmotion.app

About

Create, animate, export. Completely free. ๐ŸŽฌ

Topics

Resources

Stars

Watchers

Forks

Contributors 2

  •  
  •