Mapscript – From Markdown to Mindmaps
Inspiration
The idea for Mapscript was born from a simple frustration:
Every time I wanted to visualize a roadmap, process, or learning guide, I had to design it from scratch — even when I already had the content written as markdown or plain text.
As someone passionate about accessibility, education, and rapid communication, I asked:
“What if we could turn structured text like markdown — or even a simple user prompt — into a styled, connected roadmap inside Adobe Express?”
This idea aligns with the mission of my broader initiative Coders Beyond Borders: to empower creators, educators, and nonprofits through inclusive, open, and human-centered technology.
What I Learned
This was my first time developing for Adobe Express Add-ons, and here’s what I learned:
- How to build and package Express Add-ons using
@adobe/ccweb-add-on-scripts - How to interact with the Express Document SDK to create nodes, style text, and manipulate document structure
- How to parse Markdown into an AST and extract structured roadmap steps
- How to dynamically render Express components like rectangles, text, and connectors with layout logic
- The nuances of working inside the sandboxed Adobe Express environment, including limits and powerful styling capabilities
How I Built It
The project is built using the Adobe Express Add-ons platform. Here's how everything works step-by-step:
User uploads a markdown file
or writes a prompt to describe what they want (like "How to ride a bicycle").The markdown is parsed
We use a custommarkdown-parser.jsfile to break it into parts like headings, steps, and bullet points.We extract the roadmap steps
A function reads the markdown and finds the title and the steps under a "Steps" section.We format the content for Adobe Express
Usingadobe-express-formatter.js, we style the text and plan the layout of each step box and bullet list.We send the steps to the Express document
The add-on usessandboxProxy.renderRoadmapFromParsedMarkdown()to create:- A big title at the top
- Rectangle boxes for each step
- Bullet points under each step
- Lines connecting the steps
The roadmap is created visually inside Adobe Express!
Everything is dynamic — box sizes adjust automatically, and the layout stays neat and centered.
Key Tools & Tech:
- Adobe Express Add-ons SDK
express-document-sdkfor node creation & stylingmarkdown-to-astto extract structured information- Spectrum Web Components (
sp-button,sp-dropzone,sp-textfield) - Vanilla JavaScript for file handling & UI events
- Custom dynamic layout logic for auto-box sizing & alignment
Challenges I Faced
Limited documentation & evolving APIs:
Many properties and methods likesetPositionInParent()orapplyCharacterStyles()required trial and error, since docs weren’t always up to date.Dynamic layout calculation:
Dynamically sizing and aligning text inside boxes — while keeping connectors clean — required careful offset math and experimentation.Sandbox constraints:
Understanding what works insidedocument-sandboxvs the regular web runtime took time, especially when dealing with assets, events, and cross-context APIs.AI integration (next phase):
While the prompt-input is ready, integrating a proper backend for AI markdown generation is planned for the post-hackathon roadmap.
What’s Next?
- Integrate AI using OpenAI or Claude API to generate markdown from natural prompts
- Support branching mindmaps, alternate layouts, and templates
- Publish on Adobe Express Add-ons marketplace
- Collaborate with nonprofits and educators to co-create public templates
Closing Thought
Mapscript is more than a hackathon project.
It’s a small step toward helping everyone tell stories, teach concepts, and build structured visual thinking — effortlessly.
Let’s go beyond borders, one roadmap at a time.
Built With
- adobe-express-add-ons-sdk
- ccweb-add-on-scripts
- document-sandbox
- express-document-sdk
- javascript
- markdown
- openai-gpt-api-(planned)
- spectrum-web-components
- typescript
Log in or sign up for Devpost to join the conversation.