Use Cases For SDK Consumers¶
DrawBox can be embedded into a wide variety of Compose Multiplatform products. Here are common SDK use cases where DrawBox excels:
Productivity & Annotation Tools¶
Screenshot & Image Annotation¶
Perfect for creating markup tools where users can annotate screenshots, diagrams, or images with: - Freehand pen strokes for highlighting - Arrows for pointing out specific areas - Shapes for framing important regions - Color coding for different types of annotations
Example: screenshot annotation tools, feedback workflows, design review platforms
Document Markup¶
Enable users to annotate PDFs and documents with: - Handwritten notes directly on documents - Highlighting and underlining - Drawing attention to specific sections - Exporting marked-up documents as images
Creative & Design Applications¶
Digital Drawing Surfaces¶
Embeddable drawing surfaces with: - Multiple brush modes (pen, shapes, lines, arrows) - Color palette management - Undo/redo history - SVG export for vector graphics - PNG export for raster sharing
Platforms: Android, iOS, Web, Desktop
Mind Mapping & Diagramming¶
Create mind maps and technical diagrams with: - Shape tools for creating boxes, circles, triangles - Arrow tools for connecting elements - Color coding for organization - JSON export for saving complex structures
Whiteboard & Collaboration¶
Real-time collaborative drawing with: - Multiple drawing modes - Shared canvas state via JSON - Export capabilities for documentation - Cross-platform support for various devices
Educational Applications¶
Interactive Learning Tools¶
Enhance educational products with drawing capabilities: - Math problem visualization - Geometry and shape exploration - Handwriting practice - Diagram creation for science lessons
E-Learning Platforms¶
Add drawing features for student interaction: - Quiz annotations - Homework submission with drawings - Interactive problem-solving
Business & Enterprise¶
Form & Document Applications¶
Add drawing capabilities to business workflows: - Signature capture (using pen mode) - Form annotation and approval - Technical drawing for service requests - Invoice markup for approvals
CAD & Design Software¶
Use as a canvas layer for: - Architectural sketching - Technical drawing base - Design preview and markup - UI mockup annotation
Social & Communication¶
Messaging & Collaboration Products¶
Enable users to express themselves visually: - Drawing in chat messages - Sketching ideas in real-time - Sharing creative content - Canvas-based communication
Technical Advantages for These Use Cases¶
| Use Case | Key Features | Export Format |
|---|---|---|
| Annotation Tools | Shapes, arrows, colors | PNG/SVG |
| Creative Apps | Full drawing suite, undo/redo | SVG/PNG/JSON |
| Whiteboard | Collaboration state, history | JSON/SVG |
| Education | Multiple shapes, colors | SVG/PNG |
| Business Forms | Signature capture, markup | PNG/SVG |
Integration Patterns¶
As a Modal/Dialog¶
@Composable
fun DrawingDialog(onSave: (String) -> Unit) {
val controller = rememberDrawBoxController()
Column {
DrawBox(
state = controller.state.collectAsState().value,
onIntent = controller::onIntent,
modifier = Modifier.fillMaxSize().weight(1f)
)
Button(onClick = {
val svg = controller.exportSvg()
onSave(svg)
}) {
Text("Save Drawing")
}
}
}
As a Feature in Larger App¶
@Composable
fun DocumentAnnotationScreen(document: Document) {
val controller = rememberDrawBoxController()
Box {
DocumentViewer(document = document)
DrawBox(
state = controller.state.collectAsState().value,
onIntent = controller::onIntent,
modifier = Modifier.fillMaxSize()
)
}
}
Why Choose DrawBox?¶
✅ Multiplatform - One codebase for Android, iOS, Web, Desktop
✅ Production-Ready - Fully featured with undo/redo, multiple modes
✅ Export Formats - SVG for vectors, PNG for raster, JSON for state preservation
✅ Easy Integration - Simple Compose API with comprehensive documentation
✅ Modern Stack - Built with Kotlin Multiplatform & Jetpack Compose
✅ Open Source - Apache 2.0 licensed, community-driven development
What Users Are Building¶
DrawBox is used in various applications across the ecosystem. If you're building something interesting with DrawBox, let us know!