<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Dependent Media</title>
	<atom:link href="https://dependentmedia.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://dependentmedia.com/</link>
	<description>Objectively Clever Design</description>
	<lastBuildDate>Thu, 13 Aug 2026 03:22:24 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.4</generator>

<image>
	<url>https://dependentmedia.com/wp-content/uploads/2022/08/cropped-Screen-Shot-2022-08-26-at-8.50.29-AM-32x32.png</url>
	<title>Dependent Media</title>
	<link>https://dependentmedia.com/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Record the Call, Read It Back — DM Record &#038; Transcribe Is Coming to the Mac App Store</title>
		<link>https://dependentmedia.com/dm-record-transcribe-preview/</link>
					<comments>https://dependentmedia.com/dm-record-transcribe-preview/#respond</comments>
		
		<dc:creator><![CDATA[adminjosh]]></dc:creator>
		<pubDate>Thu, 13 Aug 2026 03:22:24 +0000</pubDate>
				<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">https://dependentmedia.com/dm-record-transcribe-preview/</guid>

					<description><![CDATA[<p>Every important call has a moment you wish you&#8217;d written down. The price they quoted. The date they promised. The exact wording of the thing everyone later remembers differently. DM Record &#38; Transcribe is a native Mac app built for those moments: press Record, have your call, and get back a readable transcript — with&#8230;</p>
<p>The post <a href="https://dependentmedia.com/dm-record-transcribe-preview/">Record the Call, Read It Back — DM Record &#038; Transcribe Is Coming to the Mac App Store</a> appeared first on <a href="https://dependentmedia.com">Dependent Media</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Every important call has a moment you wish you&#8217;d written down. The price they quoted. The date they promised. The exact wording of the thing everyone later remembers differently. DM Record &amp; Transcribe is a native Mac app built for those moments: press Record, have your call, and get back a readable transcript — with each side of the conversation labeled — without your audio ever leaving your Mac.</p>
<h2>One click, both sides, no plumbing</h2>
<p>Recording a call on a Mac used to mean virtual audio drivers, reboots, and rearranged sound settings. DM Record &amp; Transcribe uses macOS&#8217;s modern system-audio capture instead: click Record, approve one permission the first time, and the app captures your microphone and the other side of the call — Google Voice, Zoom, Meet, FaceTime, anything you can hear — while you keep hearing everything exactly as normal. Nothing to install, nothing to undo afterward.</p>
<h2>Transcripts that read like a script</h2>
<p>When you stop, the built-in Whisper engine — running entirely on your Mac — turns the recording into a time-synced transcript. Click any line to jump the playback there; edit any line in place. Because the app records you and the other side as separate channels, Pro can label every line <em>You:</em> or <em>Them:</em> with an accuracy cloud services can&#8217;t match, since it never has to guess who&#8217;s speaking.</p>
<h2>Private by architecture</h2>
<p>No account. No cloud. Your recordings are ordinary files in a folder you choose, and transcription happens on your machine. (An optional bring-your-own-key cloud engine is there if you want diarized transcripts of multi-speaker meetings — your key, your call, literally.)</p>
<h2>Fair pricing, familiar promise</h2>
<p>Recording and on-device transcription are free. Pro — speaker-labeled scripts, live transcription while you talk, and the cloud engine — is a one-time $19.99. Like everything we ship: not a subscription.</p>
<p><strong>DM Record &amp; Transcribe is in final testing and headed to the Mac App Store.</strong> Want in early or have a workflow it should fit? <a href="/contact/">Tell us</a> — early feedback shapes v1, and we&#8217;re not shy about shipping fixes fast.</p>
<p>The post <a href="https://dependentmedia.com/dm-record-transcribe-preview/">Record the Call, Read It Back — DM Record &#038; Transcribe Is Coming to the Mac App Store</a> appeared first on <a href="https://dependentmedia.com">Dependent Media</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dependentmedia.com/dm-record-transcribe-preview/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Describe It, Get a Flowchart — DM Flowchart Designer for Mac &#038; iPad</title>
		<link>https://dependentmedia.com/dm-flowchart-designer-launch/</link>
					<comments>https://dependentmedia.com/dm-flowchart-designer-launch/#respond</comments>
		
		<dc:creator><![CDATA[adminjosh]]></dc:creator>
		<pubDate>Thu, 13 Aug 2026 02:54:53 +0000</pubDate>
				<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">https://dependentmedia.com/dm-flowchart-designer-launch/</guid>

					<description><![CDATA[<p>Some ideas only make sense once you can see them. A process with a decision in the middle. A support flow with three escalation paths. The way your CI pipeline actually works, as opposed to the way everyone assumes it works. DM Flowchart Designer is a native app for Mac and iPad built for exactly&#8230;</p>
<p>The post <a href="https://dependentmedia.com/dm-flowchart-designer-launch/">Describe It, Get a Flowchart — DM Flowchart Designer for Mac &#038; iPad</a> appeared first on <a href="https://dependentmedia.com">Dependent Media</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Some ideas only make sense once you can see them. A process with a decision in the middle. A support flow with three escalation paths. The way your CI pipeline actually works, as opposed to the way everyone assumes it works. DM Flowchart Designer is a native app for Mac and iPad built for exactly those moments &mdash; and if drawing boxes isn&#8217;t your thing, you can just describe the diagram in plain language and let the built-in AI assistant draw it for you.</p>
<h2>Describe it, get a flowchart</h2>
<p>Type &#8220;an onboarding flow for a new hire, with an IT-equipment branch and a manager sign-off at the end&#8221; and a complete, styled, connected flowchart appears on the canvas &mdash; ready to edit like you&#8217;d made it yourself. The AI assistant is bring-your-own-key: plug in your own Anthropic, OpenAI, Google, or xAI API key, stored safely in your Keychain and sent only to the provider you chose. No subscription to us for the privilege.</p>
<h2>A real editor, not a toy</h2>
<p>Seven node shapes with number-key shortcuts, an infinite canvas with a minimap, smart connection routing that walks around obstacles, gradients, patterns, per-shape global styles, card nodes with badges, image and PDF import that keeps vector data, grouping, layers, and fifty levels of undo. Keyboard-first on the Mac, touch-friendly on iPad, and your files are plain local documents &mdash; no account, no cloud, nothing leaves your machine.</p>
<h2>Start from a template</h2>
<p>Eight built-in templates &mdash; basic flowcharts, decision trees, troubleshooting guides, CI/CD pipelines, hiring processes, and more &mdash; give you a polished starting point instead of a blank page.</p>
<h2>Free to use, fair to upgrade</h2>
<p>The free version is a complete flowchart editor with PNG export. A one-time $9.99 Pro purchase &mdash; not a subscription &mdash; adds AI generation, PDF &amp; SVG export, multiple tabs, and every template.</p>
<p><a class="button" href="https://apps.apple.com/app/dm-flowchart-designer/id6759627806">Download on the App Store</a></p>
<p>Want the full tour? The complete <a href="/dm-flowchart-designer-user-guide/">User Guide</a> is on the web (and built into the app), with a <a href="https://dependentmedia.com/wp-content/uploads/2026/08/dm-flowchart-designer-user-guide.pdf">printable PDF manual</a>. Or see the <a href="/dm-flowchart-designer/">product page</a> for screenshots and the feature rundown.</p>
<p>The post <a href="https://dependentmedia.com/dm-flowchart-designer-launch/">Describe It, Get a Flowchart — DM Flowchart Designer for Mac &#038; iPad</a> appeared first on <a href="https://dependentmedia.com">Dependent Media</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dependentmedia.com/dm-flowchart-designer-launch/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>DM Flowchart Designer — User Guide</title>
		<link>https://dependentmedia.com/dm-flowchart-designer-user-guide/</link>
					<comments>https://dependentmedia.com/dm-flowchart-designer-user-guide/#respond</comments>
		
		<dc:creator><![CDATA[]]></dc:creator>
		<pubDate>Wed, 12 Aug 2026 17:04:29 +0000</pubDate>
				<category><![CDATA[DM Flowchart Designer]]></category>
		<guid isPermaLink="false">https://dependentmedia.com/dm-flowchart-designer-user-guide/</guid>

					<description><![CDATA[<p>DM Flowchart Designer — User Guide Everything in DM Flowchart Designer, explained — the same guide that's built into the app, for Mac and iPad. On the Mac you'll find it under Help &#8594; User Guide; on iPad it's under Menu &#8594; User Guide. Download on the App Store &#160;&#183;&#160; Download the manual (PDF) &#160;&#183;&#160;&#8230;</p>
<p>The post <a href="https://dependentmedia.com/dm-flowchart-designer-user-guide/">DM Flowchart Designer — User Guide</a> appeared first on <a href="https://dependentmedia.com">Dependent Media</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="fl-builder-content fl-builder-content-2441 fl-builder-content-primary fl-builder-global-templates-locked" data-post-id="2441"><div class="fl-row fl-row-fixed-width fl-row-bg-none fl-node-e1b9f952f6032 fl-row-default-height fl-row-align-center" data-node="e1b9f952f6032">
	<div class="fl-row-content-wrap">
						<div class="fl-row-content fl-row-fixed-width fl-node-content">
		
<div class="fl-col-group fl-node-2980500a38d53" data-node="2980500a38d53">
			<div class="fl-col fl-node-fd4e68fc58ffd fl-col-bg-color" data-node="fd4e68fc58ffd">
	<div class="fl-col-content fl-node-content"><h1  class="fl-module fl-module-heading fl-heading fl-heading-text fl-node-6e7192b0dbddd" data-node="6e7192b0dbddd">
			DM Flowchart Designer — User Guide	</h1>
</div>
</div>
	</div>
		</div>
	</div>
</div>
<div class="fl-row fl-row-fixed-width fl-row-bg-none fl-node-95291721ef6ba fl-row-default-height fl-row-align-center" data-node="95291721ef6ba">
	<div class="fl-row-content-wrap">
						<div class="fl-row-content fl-row-fixed-width fl-node-content">
		
<div class="fl-col-group fl-node-f89b5adacbf7d" data-node="f89b5adacbf7d">
			<div class="fl-col fl-node-75728e3e7b435 fl-col-bg-color" data-node="75728e3e7b435">
	<div class="fl-col-content fl-node-content"><div  class="fl-module fl-module-rich-text fl-rich-text fl-node-88e064e2e0c86" data-node="88e064e2e0c86">
	<p>Everything in DM Flowchart Designer, explained — the same guide that's built into the app, for Mac and iPad. On the Mac you'll find it under <strong>Help &rarr; User Guide</strong>; on iPad it's under <strong>Menu &rarr; User Guide</strong>.</p>
<p id="pdf"><a class="fcd-btn" href="https://apps.apple.com/app/dm-flowchart-designer/id6759627806">Download on the App Store</a> &nbsp;&middot;&nbsp; <a href="https://dependentmedia.com/wp-content/uploads/2026/08/dm-flowchart-designer-user-guide.pdf">Download the manual (PDF)</a> &nbsp;&middot;&nbsp; <a href="/dm-flowchart-designer/">About DM Flowchart Designer</a></p>
<p style="text-align:center"><img decoding="async" src="https://dependentmedia.com/wp-content/uploads/2026/08/fcd-ipad-basic.png" alt="DM Flowchart Designer running on iPad — Basic Flowchart template on the canvas" style="max-width:420px;width:100%;height:auto;border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,.25)" /></p>
<p><!-- fcd-guide-img-added --></p>
<p style="text-align:center;margin-top:28px"><img decoding="async" src="https://dependentmedia.com/wp-content/uploads/2026/08/fcd-ipad-guide.png" alt="The in-app User Guide open as a sheet on iPad" loading="lazy" style="max-width:760px;width:100%;height:auto;border-radius:10px;box-shadow:0 6px 24px rgba(0,0,0,.25)" /><br /><em style="font-size:14px;opacity:.75">This guide is built into the app — shown here on iPad (Menu → User Guide).</em></p>
</div>
</div>
</div>
	</div>
		</div>
	</div>
</div>
<div class="fl-row fl-row-fixed-width fl-row-bg-none fl-node-9d52c3376249c fl-row-default-height fl-row-align-center" data-node="9d52c3376249c">
	<div class="fl-row-content-wrap">
						<div class="fl-row-content fl-row-fixed-width fl-node-content">
		
<div class="fl-col-group fl-node-ac31f1bfa3a76" data-node="ac31f1bfa3a76">
			<div class="fl-col fl-node-980f2846371ad fl-col-bg-color" data-node="980f2846371ad">
	<div class="fl-col-content fl-node-content"><div  class="fl-module fl-module-rich-text fl-rich-text fl-node-b6cacb05fe21d" data-node="b6cacb05fe21d">
	<h3>On this page</h3>
<ul class='fcd-toc'>
<li><a href='#getting-started'>Getting Started</a></li>
<li><a href='#canvas-navigation'>Canvas &amp; Navigation</a></li>
<li><a href='#node-types'>Node Types</a></li>
<li><a href='#connections'>Connections</a></li>
<li><a href='#styling'>Styling</a></li>
<li><a href='#text-formatting'>Text Formatting</a></li>
<li><a href='#card-nodes'>Card Nodes</a></li>
<li><a href='#images-pdf'>Images &amp; PDF</a></li>
<li><a href='#grouping-layers'>Grouping &amp; Layers</a></li>
<li><a href='#export-import'>Export &amp; Import</a></li>
<li><a href='#ai-assistant'>AI Assistant</a></li>
<li><a href='#settings'>Settings</a></li>
<li><a href='#tips-tricks'>Tips &amp; Tricks</a></li>
</ul>
</div>
</div>
</div>
	</div>
		</div>
	</div>
</div>
<div class="fl-row fl-row-fixed-width fl-row-bg-none fl-node-af0734c5fa147 fl-row-default-height fl-row-align-center" data-node="af0734c5fa147">
	<div class="fl-row-content-wrap">
						<div class="fl-row-content fl-row-fixed-width fl-node-content">
		
<div class="fl-col-group fl-node-63797b7951650" data-node="63797b7951650">
			<div class="fl-col fl-node-78d375c36ffb5 fl-col-bg-color" data-node="78d375c36ffb5">
	<div class="fl-col-content fl-node-content"><div  class="fl-module fl-module-rich-text fl-rich-text fl-node-cf9e6bfbfec04" data-node="cf9e6bfbfec04">
	<h2 id='getting-started'>Getting Started</h2>
<p>Flowchart Designer is a native macOS tool for creating professional flowcharts, diagrams, and visual documentation. The workspace is divided into three areas:</p>
<ul>
<li><strong>Node Palette</strong> — The left sidebar contains the available node shapes. Click a shape or drag it onto the canvas to add it.</li>
<li><strong>Canvas</strong> — The central area where you build your flowchart. Pan, zoom, and arrange nodes freely on an infinite canvas.</li>
<li><strong>Properties Panel</strong> — The right sidebar shows properties for the current selection. Edit colors, text, size, and style here.</li>
</ul>
<h3>Quick Start</h3>
<ol>
<li>Add a node by clicking a shape in the left palette, or press a number key (1–7).</li>
<li>Double-click a node to edit its label text.</li>
<li>Press <code>C</code> to switch to the Connect tool, then click a source node's port and then a target node's port to draw a connection.</li>
<li>Press <code>S</code> or <code>V</code> to return to the Select tool.</li>
<li>Use the Properties Panel on the right to customize colors, size, and text.</li>
<li>Save your work with <code>⌘S</code> or export as PNG, PDF, or SVG.</li>
</ol>
<h3>Tools</h3>
<ul>
<li><code>Select (S / V)</code> — Click to select nodes and connections. Drag to move. Shift-click for multi-select. Drag on empty canvas to marquee-select.</li>
<li><code>Connect (C)</code> — Click a source port, then click a target port to draw a connection arrow between two nodes.</li>
<li><code>Pan (H)</code> — Click and drag to pan the canvas. You can also hold Space temporarily in any tool to pan.</li>
</ul>
<p><!-- fcd-guide-img-added --></p>
<p style="text-align:center;margin-top:28px"><img decoding="async" src="https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-24-at-7.41.03-PM.jpg" alt="DM Flowchart Designer workspace on Mac showing palette, canvas, and properties panel" loading="lazy" style="max-width:760px;width:100%;height:auto;border-radius:10px;box-shadow:0 6px 24px rgba(0,0,0,.25)" /><br /><em style="font-size:14px;opacity:.75">The workspace on Mac: node palette (left), infinite canvas (center), properties panel (right).</em></p>
</div>
</div>
</div>
	</div>
		</div>
	</div>
</div>
<div class="fl-row fl-row-fixed-width fl-row-bg-none fl-node-fdb4dae8bd004 fl-row-default-height fl-row-align-center" data-node="fdb4dae8bd004">
	<div class="fl-row-content-wrap">
						<div class="fl-row-content fl-row-fixed-width fl-node-content">
		
<div class="fl-col-group fl-node-6c8bab60bc5bf" data-node="6c8bab60bc5bf">
			<div class="fl-col fl-node-a43fcbe86c1b7 fl-col-bg-color" data-node="a43fcbe86c1b7">
	<div class="fl-col-content fl-node-content"><div  class="fl-module fl-module-rich-text fl-rich-text fl-node-68eff150e7efb" data-node="68eff150e7efb">
	<h2 id='canvas-navigation'>Canvas &amp; Navigation</h2>
<p>The canvas is an infinite workspace. Use these controls to navigate:</p>
<h3>Zooming</h3>
<ul>
<li><strong><code>⌘ +</code> / <code>⌘ –</code></strong> — Zoom in and out from the menu or keyboard.</li>
<li><strong>Pinch gesture</strong> — Pinch on a trackpad to zoom centered on the gesture.</li>
<li><strong><code>⌘</code> + Scroll wheel</strong> — Scroll while holding Command to zoom at the cursor position.</li>
<li><strong>Zoom controls</strong> — Use the +/– buttons and percentage display in the toolbar.</li>
<li><strong><code>⌘ 0</code></strong> — Reset to actual size (100% zoom, centered).</li>
<li><strong><code>⌘ ⇧ 0</code> or <code>F</code></strong> — Fit all nodes into the visible viewport.</li>
</ul>
<h3>Panning</h3>
<ul>
<li><strong>Two-finger scroll</strong> — Scroll on a trackpad to pan the canvas.</li>
<li><strong><code>H</code> key</strong> — Switch to the Pan tool and drag to pan.</li>
<li><strong>Space (hold)</strong> — Hold Space in any tool to temporarily pan; release to return to your previous tool.</li>
<li><strong>Middle mouse drag</strong> — Click and drag with the middle mouse button to pan.</li>
</ul>
<h3>Selection</h3>
<ul>
<li><strong>Click</strong> — Click a node or connection to select it.</li>
<li><strong>Shift + Click</strong> — Add or remove a node from the current selection.</li>
<li><strong>Marquee</strong> — Click and drag on an empty area to draw a selection rectangle.</li>
<li><strong><code>⌘ A</code></strong> — Select all nodes on the canvas.</li>
<li><strong>Escape</strong> — Deselect all and cancel any pending operation.</li>
</ul>
<h3>Grid</h3>
<p>A dot grid is shown by default to help with alignment. Toggle it from the toolbar or in Settings → General. The canvas background color can also be customized.</p>
<h3>Minimap</h3>
<p>A minimap overlay appears in the bottom-right corner of the canvas, showing a bird's-eye view of your entire flowchart. The blue rectangle indicates the currently visible viewport.</p>
<ul>
<li><strong><code>M</code></strong> — Press M to toggle the minimap on or off.</li>
<li><strong>Toolbar</strong> — Click the map icon in the toolbar to toggle the minimap.</li>
</ul>
<p><!-- fcd-guide-img-added --></p>
<p style="text-align:center;margin-top:28px"><img decoding="async" src="https://dependentmedia.com/wp-content/uploads/2026/08/fcd-ipad-cicd.png" alt="DM Flowchart Designer on iPad with the minimap visible in the corner of the canvas" loading="lazy" style="max-width:760px;width:100%;height:auto;border-radius:10px;box-shadow:0 6px 24px rgba(0,0,0,.25)" /><br /><em style="font-size:14px;opacity:.75">Navigating a larger flowchart on iPad — the minimap (bottom right) shows the visible viewport.</em></p>
</div>
</div>
</div>
	</div>
		</div>
	</div>
</div>
<div class="fl-row fl-row-fixed-width fl-row-bg-none fl-node-d028e0641764a fl-row-default-height fl-row-align-center" data-node="d028e0641764a">
	<div class="fl-row-content-wrap">
						<div class="fl-row-content fl-row-fixed-width fl-node-content">
		
<div class="fl-col-group fl-node-3dd79fd87e6a6" data-node="3dd79fd87e6a6">
			<div class="fl-col fl-node-4566b9f5acafe fl-col-bg-color" data-node="4566b9f5acafe">
	<div class="fl-col-content fl-node-content"><div  class="fl-module fl-module-rich-text fl-rich-text fl-node-c73c9b3a392e3" data-node="c73c9b3a392e3">
	<h2 id='node-types'>Node Types</h2>
<p>Flowchart Designer includes seven node shapes, each suited to a different purpose in standard flowchart notation:</p>
<ul>
<li><code>Start / End (1)</code> — A rounded rectangle used to mark the beginning or end of a process flow.</li>
<li><code>Process (2)</code> — A standard rectangle representing an action or operation step.</li>
<li><code>Decision (3)</code> — A diamond shape for branching logic—typically Yes/No or True/False decisions.</li>
<li><code>Input / Output (4)</code> — A parallelogram indicating data input or output operations.</li>
<li><code>Connector (5)</code> — A small circle used as a junction point to simplify complex flows or connect across pages.</li>
<li><code>Card (6)</code> — A rich content card with a header, body text, and optional badges. See the Card Nodes section for details.</li>
<li><code>Image (7)</code> — An imported image or PDF. Press 7 or use File → Import Image (<code>⌘I</code>). See the Images &amp; PDF section.</li>
</ul>
<h3>Adding Nodes</h3>
<p>There are several ways to add nodes to the canvas:</p>
<ul>
<li><strong>Palette click</strong> — Click a shape in the left sidebar to place it at the center of the canvas.</li>
<li><strong>Number keys</strong> — Press 1–7 to instantly add the corresponding shape.</li>
<li><strong>Import</strong> — Use <code>⌘I</code> to import an image or PDF file as a node.</li>
</ul>
<h3>Editing Nodes</h3>
<ul>
<li><strong>Move</strong> — Click and drag a selected node to reposition it.</li>
<li><strong>Resize</strong> — Drag any of the 8 resize handles around a selected node. For images, hold Shift or enable Lock Aspect Ratio to constrain proportions.</li>
<li><strong>Edit text</strong> — Double-click a node to edit its label text inline on the canvas.</li>
<li><strong>Properties</strong> — Select a node and use the right panel to change colors, fill style, text properties, and dimensions.</li>
<li><strong>Duplicate</strong> — Press <code>⌘D</code> or click Duplicate in the Properties Panel.</li>
<li><strong>Delete</strong> — Press Delete or click the Delete button in the Properties Panel.</li>
<li><strong>Copy / Paste</strong> — Use <code>⌘C</code> and <code>⌘V</code> to copy and paste nodes (pasted at a slight offset).</li>
</ul>
<p><!-- fcd-guide-img-added --></p>
<p style="text-align:center;margin-top:28px"><img decoding="async" src="https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.21.17-AM.jpg" alt="The Add Nodes palette listing Start/End, Process, Decision, Input/Output, Connector, and Card" loading="lazy" style="max-width:760px;width:100%;height:auto;border-radius:10px;box-shadow:0 6px 24px rgba(0,0,0,.25)" /><br /><em style="font-size:14px;opacity:.75">The node palette: each shape has a number-key shortcut (1–7).</em></p>
</div>
</div>
</div>
	</div>
		</div>
	</div>
</div>
<div class="fl-row fl-row-fixed-width fl-row-bg-none fl-node-21a52eb012917 fl-row-default-height fl-row-align-center" data-node="21a52eb012917">
	<div class="fl-row-content-wrap">
						<div class="fl-row-content fl-row-fixed-width fl-node-content">
		
<div class="fl-col-group fl-node-32f5d91891bc1" data-node="32f5d91891bc1">
			<div class="fl-col fl-node-6889b0a44280b fl-col-bg-color" data-node="6889b0a44280b">
	<div class="fl-col-content fl-node-content"><div  class="fl-module fl-module-rich-text fl-rich-text fl-node-e7aee482bad46" data-node="e7aee482bad46">
	<h2 id='connections'>Connections</h2>
<p>Connections are directed lines (arrows) linking two nodes. They represent flow, data movement, or relationships.</p>
<h3>Drawing Connections</h3>
<ol>
<li>Press <code>C</code> to switch to the Connect tool.</li>
<li>Click a port (small circle) on the source node—top, bottom, left, or right.</li>
<li>Click a port on the target node to complete the connection.</li>
<li>Press Escape to cancel a pending connection.</li>
</ol>
<p>For image nodes, you can click anywhere on the node surface to create a connection from that exact point, rather than snapping to a fixed port.</p>
<h3>Labels</h3>
<p>Select a connection and type a label in the Properties Panel. Use the Position slider to move the label along the line—0 is at the source, 0.5 is the midpoint, and 1 is at the target.</p>
<h3>Waypoints</h3>
<ul>
<li><strong>Add</strong> — Double-click on a connection line to insert a waypoint. The line will bend through this point.</li>
<li><strong>Move</strong> — Drag a waypoint to reposition it.</li>
<li><strong>Delete</strong> — Select a waypoint and press Delete, or use "Clear All" in the Properties Panel.</li>
</ul>
<h3>Direction &amp; Style</h3>
<ul>
<li><strong>Flip</strong> — Click "⇄ Flip" in the Properties Panel to reverse the connection direction.</li>
<li><strong>Bidirectional</strong> — Click "⇆ Bidirectional" to add arrows on both ends.</li>
<li><strong>Ports</strong> — Change source or target ports using the segmented picker in the Properties Panel.</li>
</ul>
<h3>Arrow Styles</h3>
<p>Five arrow head styles are available for both the source and target ends:</p>
<ul>
<li><strong>None</strong> — No arrowhead—a plain line end.</li>
<li><strong>Standard</strong> — An open V-shaped arrowhead (the default for the target end).</li>
<li><strong>Filled</strong> — A solid filled triangle arrowhead.</li>
<li><strong>Open</strong> — An outlined triangle arrowhead.</li>
<li><strong>Diamond</strong> — A filled diamond shape.</li>
</ul>
<h3>Line Patterns</h3>
<p>Connection lines can be drawn in four patterns: Solid, Dashed, Dotted, or Dash-Dot. When using a non-solid pattern, adjust the Gap Spacing to control the distance between dashes or dots.</p>
<h3>Auto-routing</h3>
<p>Flowchart Designer can automatically route connections around nodes that overlap the direct path. This inserts waypoints so connections flow cleanly without crossing through other nodes.</p>
<ul>
<li><strong>Single connection</strong> — Right-click a connection and choose "Auto-route" from the context menu.</li>
<li><strong>All connections</strong> — Click the auto-route button in the toolbar (arrow.triangle.swap icon) or use Edit → Re-route Connections to route every connection at once.</li>
</ul>
<p>Auto-routing works by detecting which nodes lie in the direct path between the source and target, then adding two waypoints to detour around them. You can manually adjust the waypoints afterward if needed.</p>
<p><!-- fcd-guide-img-added --></p>
<p style="text-align:center;margin-top:28px"><img decoding="async" src="https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.20.46-AM.jpg" alt="The connection style panel with line color, label, width, and pattern controls" loading="lazy" style="max-width:760px;width:100%;height:auto;border-radius:10px;box-shadow:0 6px 24px rgba(0,0,0,.25)" /><br /><em style="font-size:14px;opacity:.75">Connection styling: line color, labels, width, and pattern.</em></p>
</div>
</div>
</div>
	</div>
		</div>
	</div>
</div>
<div class="fl-row fl-row-fixed-width fl-row-bg-none fl-node-eaa26013b55b8 fl-row-default-height fl-row-align-center" data-node="eaa26013b55b8">
	<div class="fl-row-content-wrap">
						<div class="fl-row-content fl-row-fixed-width fl-node-content">
		
<div class="fl-col-group fl-node-e50a4f175b1fb" data-node="e50a4f175b1fb">
			<div class="fl-col fl-node-1ec88d7ff7c8d fl-col-bg-color" data-node="1ec88d7ff7c8d">
	<div class="fl-col-content fl-node-content"><div  class="fl-module fl-module-rich-text fl-rich-text fl-node-2b48bbb92c920" data-node="2b48bbb92c920">
	<h2 id='styling'>Styling</h2>
<p>Flowchart Designer uses a cascading style system. Global styles set the defaults for all nodes and connections. You can then apply per-node or per-connection overrides without affecting other elements.</p>
<h3>Global vs. Per-Element Styles</h3>
<p>When nothing is selected, the Properties Panel shows the Global Connection Style and Global Node Style editors. Changes here set the default appearance for all new elements and any existing ones that haven't been individually customized.</p>
<p>When you change a color or style on a selected node or connection, it becomes a per-element override. Overridden properties show an orange dot (●) next to their label. Click the reset arrow (↩) to remove the override and revert to the global default.</p>
<h3>Node Styling</h3>
<ul>
<li><strong>Fill Color</strong> — The background color of the node.</li>
<li><strong>Text Color</strong> — The color of the node's label text.</li>
<li><strong>Border Color</strong> — The color of the node's outline.</li>
<li><strong>Quick Colors</strong> — Click a color swatch for fast fill color changes. Use Custom for the full color picker.</li>
<li><strong>Reset All to Global</strong> — Remove all overrides on a node at once, reverting to global defaults.</li>
</ul>
<h3>Fill Styles</h3>
<p>Nodes support three fill types:</p>
<ul>
<li><strong>Solid</strong> — A single flat color (the default).</li>
<li><strong>Linear Gradient</strong> — A two-color gradient with an adjustable angle.</li>
<li><strong>Radial Gradient</strong> — A two-color gradient radiating from the center outward.</li>
</ul>
<p>Additionally, you can add a pattern overlay on top of any fill type:</p>
<ul>
<li><strong>Stripes</strong> — Diagonal lines across the node.</li>
<li><strong>Dots</strong> — A repeating dot pattern.</li>
<li><strong>Grid</strong> — A grid of horizontal and vertical lines.</li>
<li><strong>Crosshatch</strong> — Diagonal lines in both directions.</li>
</ul>
<p>Patterns have adjustable color, spacing, line width, and opacity.</p>
<h3>Connection Styling</h3>
<ul>
<li><strong>Line Color</strong> — The color of the connection line and arrowheads.</li>
<li><strong>Line Width</strong> — Thickness of the line (1–8 points).</li>
<li><strong>Line Pattern</strong> — Solid, Dashed, Dotted, or Dash-Dot.</li>
<li><strong>Arrow Size</strong> — The size of arrowheads (4–24 points).</li>
<li><strong>Label Colors</strong> — Customize the label text color and background color independently.</li>
</ul>
<h3>Typography</h3>
<p>Flowchart Designer offers full text formatting controls including font family, size, weight, italic, underline, alignment, and letter spacing. These can be set per-node or as global defaults. See the Text Formatting section for complete details.</p>
<p><!-- fcd-guide-img-added --></p>
<p style="text-align:center;margin-top:28px"><img decoding="async" src="https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-24-at-7.41.36-PM.jpg" alt="A decision node selected on the canvas with the node styling panel open" loading="lazy" style="max-width:760px;width:100%;height:auto;border-radius:10px;box-shadow:0 6px 24px rgba(0,0,0,.25)" /><br /><em style="font-size:14px;opacity:.75">Per-node styling in the properties panel: fill, border, and quick colors.</em></p>
</div>
</div>
</div>
	</div>
		</div>
	</div>
</div>
<div class="fl-row fl-row-fixed-width fl-row-bg-none fl-node-1b6939070339d fl-row-default-height fl-row-align-center" data-node="1b6939070339d">
	<div class="fl-row-content-wrap">
						<div class="fl-row-content fl-row-fixed-width fl-node-content">
		
<div class="fl-col-group fl-node-61b2b022109b0" data-node="61b2b022109b0">
			<div class="fl-col fl-node-8e1661f59b000 fl-col-bg-color" data-node="8e1661f59b000">
	<div class="fl-col-content fl-node-content"><div  class="fl-module fl-module-rich-text fl-rich-text fl-node-406efe629e1b5" data-node="406efe629e1b5">
	<h2 id='text-formatting'>Text Formatting</h2>
<p>Every node supports detailed text formatting controls. You can customize the font family, size, weight, style, alignment, and letter spacing on a per-node basis, or set global defaults that apply to all nodes of a given shape.</p>
<h3>Per-Node Overrides</h3>
<p>Select a node and look for the Text Formatting section in the Properties Panel (below the color controls). Each property can be overridden independently. Overridden properties show an orange dot (●) next to their label, and you can click the reset arrow (↩) to revert to the global default.</p>
<h3>Font Family</h3>
<p>Choose from the system font (the default) or any font installed on your Mac. The font picker lists all available font families alphabetically. Selecting "System" reverts to the standard macOS system font.</p>
<h3>Font Size &amp; Weight</h3>
<ul>
<li><strong>Size</strong> — Adjust from 6 to 48 points using the slider or by typing an exact value.</li>
<li><strong>Weight</strong> — Choose from Light, Regular, Medium, Semibold, or Bold.</li>
</ul>
<h3>Style Toggles</h3>
<ul>
<li><strong>Italic (I)</strong> — Toggle italic rendering. The button highlights when active.</li>
<li><strong>Underline (U)</strong> — Toggle an underline beneath the text. The button highlights when active.</li>
</ul>
<h3>Text Alignment</h3>
<p>Choose Left, Center, or Right alignment using the segmented picker. This controls how the text is positioned within the node's bounds.</p>
<h3>Letter Spacing</h3>
<p>Adjust the spacing between characters from –2 to 10 points. A value of 0 uses normal spacing. Positive values spread characters apart; negative values tighten them.</p>
<h3>Card Nodes</h3>
<p>Card nodes have two independent sets of text formatting controls:</p>
<ul>
<li><strong>Heading text</strong> — Font, size, weight, style, alignment, and spacing for the card's header title.</li>
<li><strong>Body text</strong> — A separate set of the same controls for the card's body content, plus a Line Spacing slider to adjust the distance between lines of body text.</li>
</ul>
<h3>Global Text Defaults</h3>
<p>When nothing is selected, the Properties Panel shows the Global Node Style editor. Under each shape's settings, you'll find Text Defaults with the same font controls. Changes here set the default text formatting for all new nodes of that shape and any existing nodes that haven't been individually customized. Card shapes also show a Body Text Defaults section.</p>
<h3>Export Support</h3>
<p>All text formatting is preserved when exporting. SVG exports include font-family, font-weight, font-style, text-decoration, and letter-spacing attributes. PDF and PNG exports render text using the exact fonts installed on your system.</p>
</div>
</div>
</div>
	</div>
		</div>
	</div>
</div>
<div class="fl-row fl-row-fixed-width fl-row-bg-none fl-node-d2dc5f642eb83 fl-row-default-height fl-row-align-center" data-node="d2dc5f642eb83">
	<div class="fl-row-content-wrap">
						<div class="fl-row-content fl-row-fixed-width fl-node-content">
		
<div class="fl-col-group fl-node-a6a135408ef21" data-node="a6a135408ef21">
			<div class="fl-col fl-node-9470d1ffc8116 fl-col-bg-color" data-node="9470d1ffc8116">
	<div class="fl-col-content fl-node-content"><div  class="fl-module fl-module-rich-text fl-rich-text fl-node-7c488e2792446" data-node="7c488e2792446">
	<h2 id='card-nodes'>Card Nodes</h2>
<p>Card nodes are rich-content containers ideal for detailed information, documentation blocks, or data summaries. They feature a colored header, scrollable body text, and optional badges.</p>
<h3>Structure</h3>
<ul>
<li><strong>Header</strong> — A colored banner at the top displaying the card's title. Edit the heading text and header colors in the Properties Panel.</li>
<li><strong>Body</strong> — A multi-line text area below the header. Supports bullet points (•) and bold text (**text**).</li>
<li><strong>Badges</strong> — Small colored tags at the bottom of the card. Use them for status indicators, categories, or callouts.</li>
</ul>
<h3>Editing Body Text</h3>
<p>The body text editor in the Properties Panel includes a formatting toolbar with Bold (B) and Bullet (•) buttons. Drag the resize handle below the editor to make it taller or shorter.</p>
<p>Formatting uses a simple text convention:</p>
<ul>
<li><strong>Bold</strong> — Wrap text in double asterisks: **bold text**</li>
<li><strong>Bullets</strong> — Start a line with • (the bullet character, inserted by the toolbar button).</li>
</ul>
<h3>Badges</h3>
<p>Add badges by clicking "Add Badge" in the Properties Panel. Each badge has:</p>
<ul>
<li><strong>Text</strong> — The badge label (e.g., "In Progress", "v2.0").</li>
<li><strong>Background Color</strong> — The badge's fill color.</li>
<li><strong>Text Color</strong> — The badge's label color.</li>
</ul>
<p>Click the ✕ button next to a badge to remove it. Badges are displayed as rounded pills at the bottom of the card.</p>
<h3>Card Colors</h3>
<ul>
<li><strong>Header Color</strong> — The background color of the header banner.</li>
<li><strong>Header Text Color</strong> — The heading text color.</li>
<li><strong>Body Color</strong> — The background color of the body area (uses Fill Color).</li>
<li><strong>Body Text Color</strong> — The color of the body text (uses Text Color).</li>
<li><strong>Border Color</strong> — The card's outer border color.</li>
</ul>
</div>
</div>
</div>
	</div>
		</div>
	</div>
</div>
<div class="fl-row fl-row-fixed-width fl-row-bg-none fl-node-fa412cdbe4b46 fl-row-default-height fl-row-align-center" data-node="fa412cdbe4b46">
	<div class="fl-row-content-wrap">
						<div class="fl-row-content fl-row-fixed-width fl-node-content">
		
<div class="fl-col-group fl-node-30bd06788a486" data-node="30bd06788a486">
			<div class="fl-col fl-node-2a7b88610609f fl-col-bg-color" data-node="2a7b88610609f">
	<div class="fl-col-content fl-node-content"><div  class="fl-module fl-module-rich-text fl-rich-text fl-node-3428b6536b228" data-node="3428b6536b228">
	<h2 id='images-pdf'>Images &amp; PDF</h2>
<p>Import external images and PDF files as nodes on your canvas. Image nodes participate in connections and can be styled like any other node.</p>
<h3>Importing Images</h3>
<p>Use File → Import Image (<code>⌘I</code>) or press 7 to open the file picker. Supported formats:</p>
<ul>
<li><strong>Raster images</strong> — PNG, JPEG, GIF, TIFF</li>
<li><strong>Vector documents</strong> — PDF (first page is imported)</li>
</ul>
<h3>PDF Import</h3>
<p>When you import a PDF file, Flowchart Designer stores both a high-resolution rasterized preview (for fast canvas display) and the original PDF data. This gives you the best of both worlds:</p>
<ul>
<li><strong>Canvas display</strong> — A crisp 2× DPI rasterized image for smooth interaction.</li>
<li><strong>PDF export</strong> — When you export your flowchart as PDF, imported PDF nodes are rendered as true vector graphics—no quality loss at any zoom level.</li>
<li><strong>PNG / SVG export</strong> — Uses the high-resolution rasterized image.</li>
</ul>
<h3>Aspect Ratio</h3>
<p>Image nodes default to a locked aspect ratio. When resizing:</p>
<ul>
<li><strong>Shift + drag</strong> — Hold Shift while dragging a resize handle to constrain the aspect ratio (works on all nodes).</li>
<li><strong>Lock toggle</strong> — For image nodes, a "Lock Aspect Ratio" checkbox appears in the Properties Panel. When enabled, all resize operations maintain the original proportions.</li>
</ul>
<h3>Connections on Images</h3>
<p>Unlike standard nodes with four fixed ports, image nodes support click-anywhere connections. In the Connect tool, click any point on the image surface and the connection will originate from or terminate at that exact position. The connection's curve direction is automatically determined based on the nearest edge.</p>
</div>
</div>
</div>
	</div>
		</div>
	</div>
</div>
<div class="fl-row fl-row-fixed-width fl-row-bg-none fl-node-e128d82f7a18e fl-row-default-height fl-row-align-center" data-node="e128d82f7a18e">
	<div class="fl-row-content-wrap">
						<div class="fl-row-content fl-row-fixed-width fl-node-content">
		
<div class="fl-col-group fl-node-33a5cdb279af9" data-node="33a5cdb279af9">
			<div class="fl-col fl-node-aecb55071e215 fl-col-bg-color" data-node="aecb55071e215">
	<div class="fl-col-content fl-node-content"><div  class="fl-module fl-module-rich-text fl-rich-text fl-node-fa30d85a8f8dd" data-node="fa30d85a8f8dd">
	<h2 id='grouping-layers'>Grouping &amp; Layers</h2>
<h3>Grouping Nodes</h3>
<p>Select multiple nodes and press <code>⌘G</code> to group them. Grouped nodes move together as a unit when you drag any member of the group. Press <code>⌘⇧G</code> to ungroup.</p>
<p>To select multiple nodes: Shift-click individual nodes, drag a marquee selection on empty canvas, or press <code>⌘A</code> to select all.</p>
<h3>Multi-Select Operations</h3>
<p>When multiple nodes are selected, the Properties Panel shows:</p>
<ul>
<li><strong>Alignment tools</strong> — Align nodes by their left, center, right, top, middle, or bottom edges.</li>
<li><strong>Distribution</strong> — Distribute H and Distribute V evenly space three or more nodes.</li>
<li><strong>Quick Colors</strong> — Apply a fill color to all selected nodes at once.</li>
<li><strong>Duplicate / Delete</strong> — Operate on the entire selection.</li>
</ul>
<h3>Auto-layout (Tidy Up)</h3>
<p>When your flowchart gets messy, use the Tidy Up feature to automatically arrange selected nodes in a clean tree layout based on their connections.</p>
<ul>
<li><strong>Properties Panel</strong> — Select 2 or more nodes and click the "Tidy Up" button in the Layout section of the Properties Panel.</li>
<li><strong>Menu</strong> — Edit → Tidy Up Selection.</li>
<li><code>⌃⌘ T</code> — Tidy Up Selection — Arrange selected nodes in a tree layout centered on the current selection.</li>
</ul>
<p>The layout algorithm follows the direction of your connections to determine parent-child relationships, placing root nodes at the top and arranging children in layers below.</p>
<h3>Z-Order (Layering)</h3>
<p>Nodes are drawn in the order they were created. Use these commands to change the stacking order:</p>
<ul>
<li><code>⌘ ]</code> — Bring to Front — Move the selected node(s) to the top of the stack.</li>
<li><code>⌘ [</code> — Send to Back — Move the selected node(s) to the bottom of the stack.</li>
<li><code>⌘ ⌥ ]</code> — Bring Forward — Move up one layer.</li>
<li><code>⌘ ⌥ [</code> — Send Backward — Move down one layer.</li>
</ul>
</div>
</div>
</div>
	</div>
		</div>
	</div>
</div>
<div class="fl-row fl-row-fixed-width fl-row-bg-none fl-node-77c003bf17926 fl-row-default-height fl-row-align-center" data-node="77c003bf17926">
	<div class="fl-row-content-wrap">
						<div class="fl-row-content fl-row-fixed-width fl-node-content">
		
<div class="fl-col-group fl-node-34d6a5785aa7f" data-node="34d6a5785aa7f">
			<div class="fl-col fl-node-7d0cee90d3d80 fl-col-bg-color" data-node="7d0cee90d3d80">
	<div class="fl-col-content fl-node-content"><div  class="fl-module fl-module-rich-text fl-rich-text fl-node-57bce7f0d7313" data-node="57bce7f0d7313">
	<h2 id='export-import'>Export &amp; Import</h2>
<h3>Saving &amp; Opening Projects</h3>
<p>Flowchart Designer saves projects as JSON files. This format preserves all nodes, connections, styles, waypoints, and image data.</p>
<ul>
<li><code>⌘ S</code> — Save Project — Choose a location and save as a .json file.</li>
<li><code>⌘ O</code> — Open Project — Load a previously saved .json project file.</li>
</ul>
<p>When you close the app with unsaved changes, you'll be prompted to save first.</p>
<h3>Exporting Images</h3>
<ul>
<li><code>⌘ E</code> — Export as PNG — A high-resolution raster image suitable for presentations and documents.</li>
<li><code>⌘ ⇧ E</code> — Export as PDF — A vector-quality document. Imported PDF images retain full vector fidelity.</li>
<li><code>⌘ ⇧ S</code> — Export as SVG — A scalable vector graphic for web use or further editing in vector editors.</li>
</ul>
<p>All export formats render the full canvas content with a small margin around the bounding box of your nodes and connections. Custom text formatting (fonts, italic, underline, letter spacing) is fully preserved in all export formats.</p>
<h3>Importing Images</h3>
<ul>
<li><code>⌘ I</code> — Import Image — Bring in a PNG, JPEG, GIF, TIFF, or PDF file as an image node on the canvas.</li>
</ul>
<h3>Clear Canvas</h3>
<p>File → Clear Canvas removes all nodes and connections, giving you a fresh starting point. This action can be undone with <code>⌘Z</code>.</p>
</div>
</div>
</div>
	</div>
		</div>
	</div>
</div>
<div class="fl-row fl-row-fixed-width fl-row-bg-none fl-node-d4858bc7ee525 fl-row-default-height fl-row-align-center" data-node="d4858bc7ee525">
	<div class="fl-row-content-wrap">
						<div class="fl-row-content fl-row-fixed-width fl-node-content">
		
<div class="fl-col-group fl-node-78fb088a29b5f" data-node="78fb088a29b5f">
			<div class="fl-col fl-node-147f1dab0e7ec fl-col-bg-color" data-node="147f1dab0e7ec">
	<div class="fl-col-content fl-node-content"><div  class="fl-module fl-module-rich-text fl-rich-text fl-node-f1d3c703d1b8a" data-node="f1d3c703d1b8a">
	<h2 id='ai-assistant'>AI Assistant</h2>
<p>Flowchart Designer includes an AI-powered assistant that can help you plan and generate flowcharts from natural language descriptions. Chat with the AI to refine your ideas, then generate a complete flowchart with one click.</p>
<h3>Opening the AI Panel</h3>
<p>There are several ways to open the AI Assistant:</p>
<ul>
<li><strong>Toolbar</strong> — Click the sparkles (✨) icon in the toolbar.</li>
<li><strong>View menu</strong> — View → AI Assistant (<code>⌘</code>).</li>
<li><strong>File menu</strong> — File → Generate with AI… (<code>⌘⌥G</code>).</li>
</ul>
<p>The AI panel appears at the bottom of the workspace. Use the same controls to toggle it closed, or click the ✕ button in the panel header.</p>
<h3>Setting Up API Keys</h3>
<p>The AI Assistant uses a Bring Your Own Key (BYOK) model—you provide your own API key from the AI provider of your choice. Your keys are stored securely in the macOS Keychain and are never transmitted anywhere except to their respective provider.</p>
<p>To add an API key, open Settings (<code>⌘,</code>) and go to the AI tab. You'll see a section for each supported provider:</p>
<ul>
<li><strong>Anthropic (Claude)</strong> — Get a key from console.anthropic.com. Provides Claude Sonnet and Claude Haiku models.</li>
<li><strong>OpenAI (GPT)</strong> — Get a key from platform.openai.com. Provides GPT-4o and GPT-4o Mini models.</li>
<li><strong>Google (Gemini)</strong> — Get a key from aistudio.google.com. Provides Gemini 2.5 Pro and Gemini 2.5 Flash models.</li>
<li><strong>xAI (Grok)</strong> — Get a key from console.x.ai. Provides Grok 3 and Grok 3 Mini models.</li>
</ul>
<p>Each provider section includes a direct link to their API key console. Paste your key and click Save Key. You only need to set up the providers you want to use.</p>
<h3>Chatting with the AI</h3>
<p>The AI panel has a chat interface on the left where you can have a conversation before generating:</p>
<ol>
<li>Type a message describing what you want to create and press Return to send.</li>
<li>The AI will respond with suggestions, clarifying questions, and recommendations for your flowchart.</li>
<li>Continue the conversation to refine the scope, structure, and details.</li>
<li>When you're satisfied with the plan, click Generate (<code>⌘↩</code>).</li>
</ol>
<p>The full conversation is used as context when generating, so the AI produces a flowchart that matches everything you discussed.</p>
<h3>Generating a Flowchart</h3>
<p>Click the Generate button on the right side of the panel. The AI will produce a complete flowchart with nodes, connections, colors, and layout based on your conversation or prompt.</p>
<ul>
<li><strong>Single-shot</strong> — If you skip the chat and just type a prompt, click Generate to create a flowchart directly.</li>
<li><strong>With context</strong> — If you've been chatting, the entire conversation informs the generation.</li>
<li><strong>Regenerate</strong> — After a flowchart is created, click Regenerate to produce a new version. Add instructions in the text field to guide changes.</li>
<li><strong>New Chat</strong> — Click the reset (↺) button in the header to clear the conversation and start fresh.</li>
</ul>
<h3>Choosing a Provider &amp; Model</h3>
<p>The right side of the AI panel has Provider and Model pickers. Switch between providers at any time—only providers with a saved API key will be functional. Each provider offers two models: a more capable option and a faster/cheaper option.</p>
<h3>Tips</h3>
<ul>
<li><strong>Be specific</strong> — The more detail you provide about your flowchart's structure, the better the result. Mention node types, branching logic, and edge cases.</li>
<li><strong>Iterate</strong> — Generate once, review the result, then chat about adjustments and regenerate.</li>
<li><strong>Try different models</strong> — If one model's output isn't quite right, try another provider or model for a different interpretation.</li>
</ul>
</div>
</div>
</div>
	</div>
		</div>
	</div>
</div>
<div class="fl-row fl-row-fixed-width fl-row-bg-none fl-node-174d86c5395b7 fl-row-default-height fl-row-align-center" data-node="174d86c5395b7">
	<div class="fl-row-content-wrap">
						<div class="fl-row-content fl-row-fixed-width fl-node-content">
		
<div class="fl-col-group fl-node-096a14d41ce1f" data-node="096a14d41ce1f">
			<div class="fl-col fl-node-83997d5099e73 fl-col-bg-color" data-node="83997d5099e73">
	<div class="fl-col-content fl-node-content"><div  class="fl-module fl-module-rich-text fl-rich-text fl-node-f3aeb277e517f" data-node="f3aeb277e517f">
	<h2 id='settings'>Settings</h2>
<p>Open Settings with <code>⌘,</code> (comma) or from the app menu. The Settings window has four tabs:</p>
<h3>General</h3>
<ul>
<li><strong>GPU Rendering</strong> — Enable Metal-based compositing for potentially better performance on large documents.</li>
<li><strong>Show Grid</strong> — Toggle the dot grid background on the canvas.</li>
<li><strong>Canvas Background</strong> — Set the default background color for new documents.</li>
</ul>
<h3>Node Styles</h3>
<p>Configure default appearance for each node shape. Select a shape from the segmented picker, then adjust:</p>
<ul>
<li><strong>Colors</strong> — Fill, text, and border colors. Card nodes also have header and header text colors.</li>
<li><strong>Fill Style</strong> — Solid, linear gradient, or radial gradient. Plus optional pattern overlays.</li>
<li><strong>Text Defaults</strong> — Font family, size, weight, italic, underline, alignment, and letter spacing. Card nodes have separate heading and body text defaults.</li>
</ul>
<p>Click "Reset [Shape] to Factory" to restore the original defaults for a specific shape.</p>
<h3>Connections</h3>
<p>Set default connection appearance: line color, label colors, line width, dash pattern, arrow styles, and arrow size. These defaults apply to all new connections and any existing ones without per-connection overrides.</p>
<h3>Import / Export</h3>
<ul>
<li><strong>Export Settings</strong> — Save all your default styles to a JSON file for backup or sharing.</li>
<li><strong>Import Settings</strong> — Load styles from a previously exported settings file.</li>
<li><strong>Reset All</strong> — Restore every setting to its original factory value.</li>
</ul>
<p><!-- fcd-guide-img-added --></p>
<p style="text-align:center;margin-top:28px"><img decoding="async" src="https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.30.34-AM.jpg" alt="The Settings window on the General tab" loading="lazy" style="max-width:760px;width:100%;height:auto;border-radius:10px;box-shadow:0 6px 24px rgba(0,0,0,.25)" /><br /><em style="font-size:14px;opacity:.75">Settings → General: GPU rendering, grid, and canvas background.</em></p>
</div>
</div>
</div>
	</div>
		</div>
	</div>
</div>
<div class="fl-row fl-row-fixed-width fl-row-bg-none fl-node-9a8eae2244385 fl-row-default-height fl-row-align-center" data-node="9a8eae2244385">
	<div class="fl-row-content-wrap">
						<div class="fl-row-content fl-row-fixed-width fl-node-content">
		
<div class="fl-col-group fl-node-7faf195b15197" data-node="7faf195b15197">
			<div class="fl-col fl-node-021bcb377a018 fl-col-bg-color" data-node="021bcb377a018">
	<div class="fl-col-content fl-node-content"><div  class="fl-module fl-module-rich-text fl-rich-text fl-node-1d6a3712069f9" data-node="1d6a3712069f9">
	<h2 id='tips-tricks'>Tips &amp; Tricks</h2>
<h3>Workflow Tips</h3>
<ul>
<li><strong>Quick tool switching</strong> — Press <code>S</code> for Select, <code>C</code> for Connect, <code>H</code> for Pan. Hold Space for a temporary pan from any tool.</li>
<li><strong>Fast node creation</strong> — Use number keys 1–7 to add nodes without touching the palette.</li>
<li><strong>Inline editing</strong> — Double-click any node to edit its text directly on the canvas.</li>
<li><strong>Undo everything</strong> — Nearly every action supports Undo (<code>⌘Z</code>) with up to 50 levels of history.</li>
</ul>
<h3>Alignment &amp; Layout</h3>
<ul>
<li><strong>Precise alignment</strong> — Select 2+ nodes and use the alignment buttons in the Properties Panel to align edges or centers.</li>
<li><strong>Even distribution</strong> — Select 3+ nodes and use Distribute H or Distribute V to space them evenly.</li>
<li><strong>Size fields</strong> — Type exact pixel dimensions in the Size fields in the Properties Panel for precise control.</li>
</ul>
<h3>Connection Tips</h3>
<ul>
<li><strong>Route connections</strong> — Double-click a connection line to add waypoints. Drag waypoints to create clean routing around other nodes.</li>
<li><strong>Label positioning</strong> — Use the Position slider to place connection labels exactly where you want them along the line.</li>
<li><strong>Quick direction</strong> — Use the Flip and Bidirectional buttons in the Properties Panel for fast direction changes.</li>
</ul>
<h3>Style Efficiency</h3>
<ul>
<li><strong>Design globally first</strong> — Set up your global node and connection styles—including text formatting—before building your flowchart. All new elements will inherit these defaults.</li>
<li><strong>Override indicator</strong> — Look for the orange dot (●) next to property labels to see which properties have been customized on a specific element.</li>
<li><strong>Batch reset</strong> — Use "Apply to All" in the global style editor to strip all per-element overrides and enforce a uniform look.</li>
<li><strong>Settings portability</strong> — Export your style presets from Settings → Import/Export and share them with teammates or across machines.</li>
</ul>
<h3>Layout &amp; Navigation</h3>
<ul>
<li><strong>Auto-layout</strong> — Select a group of connected nodes and press <code>⌃⌘T</code> (Tidy Up) to automatically arrange them in a clean tree layout.</li>
<li><strong>Auto-route</strong> — If connections cross through other nodes, use the auto-route toolbar button to automatically add waypoints that route around obstacles.</li>
<li><strong>Minimap</strong> — Press <code>M</code> to toggle the minimap—a bird's-eye overview of your entire flowchart that helps you navigate large diagrams.</li>
<li><strong>Inline font matching</strong> — When you double-click a node to edit its text, the inline editor matches the node's font settings so you see exactly what the final text will look like.</li>
</ul>
<h3>Keyboard Shortcuts Reference</h3>
<p>For a complete list of keyboard shortcuts, go to Help → Keyboard Shortcuts.</p>
</div>
</div>
</div>
	</div>
		</div>
	</div>
</div>
<div class="fl-row fl-row-fixed-width fl-row-bg-none fl-node-9f83036ef3a8f fl-row-default-height fl-row-align-center" data-node="9f83036ef3a8f">
	<div class="fl-row-content-wrap">
						<div class="fl-row-content fl-row-fixed-width fl-node-content">
		
<div class="fl-col-group fl-node-0b74568dfe123" data-node="0b74568dfe123">
			<div class="fl-col fl-node-b603e50a8429d fl-col-bg-color" data-node="b603e50a8429d">
	<div class="fl-col-content fl-node-content"><div  class="fl-module fl-module-rich-text fl-rich-text fl-node-f9ad21f0e20a5" data-node="f9ad21f0e20a5">
	<p><strong>Still have a question?</strong> See the <a href="/dm-flowchart-designer/">product page</a> for a quick Q&amp;A, or <a href="/contact/">get in touch</a> — a real person answers.</p>
<p><a class="fcd-btn" href="https://apps.apple.com/app/dm-flowchart-designer/id6759627806">Download DM Flowchart Designer on the App Store</a></p>
</div>
</div>
</div>
	</div>
		</div>
	</div>
</div>
</div><p>The post <a href="https://dependentmedia.com/dm-flowchart-designer-user-guide/">DM Flowchart Designer — User Guide</a> appeared first on <a href="https://dependentmedia.com">Dependent Media</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dependentmedia.com/dm-flowchart-designer-user-guide/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Empty Alt Text? Let Claude Write It — AI Image Metadata for WordPress</title>
		<link>https://dependentmedia.com/empty-alt-text-let-claude-write-it-ai-image-metadata-for-wordpress/</link>
					<comments>https://dependentmedia.com/empty-alt-text-let-claude-write-it-ai-image-metadata-for-wordpress/#respond</comments>
		
		<dc:creator><![CDATA[adminjosh]]></dc:creator>
		<pubDate>Mon, 01 Jun 2026 03:19:58 +0000</pubDate>
				<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">https://dependentmedia.com/?p=2350</guid>

					<description><![CDATA[<p>Every image you upload to WordPress has four empty text fields. Most of them never get filled in. Alt text, title, caption, description — WordPress stores all four for every attachment, and they matter. Alt text is what screen readers announce and what Google reads to understand your images. Good captions and descriptions help both.&#8230;</p>
<p>The post <a href="https://dependentmedia.com/empty-alt-text-let-claude-write-it-ai-image-metadata-for-wordpress/">Empty Alt Text? Let Claude Write It — AI Image Metadata for WordPress</a> appeared first on <a href="https://dependentmedia.com">Dependent Media</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="fl-builder-content fl-builder-content-2350 fl-builder-content-primary fl-builder-global-templates-locked" data-post-id="2350"><div class="fl-row fl-row-fixed-width fl-row-bg-none fl-node-ci3lt81jwpak fl-row-default-height fl-row-align-center" data-node="ci3lt81jwpak">
	<div class="fl-row-content-wrap">
						<div class="fl-row-content fl-row-fixed-width fl-node-content">
		
<div class="fl-col-group fl-node-vt2zde4c3o6b" data-node="vt2zde4c3o6b">
			<div class="fl-col fl-node-642oqd8sncak fl-col-bg-color" data-node="642oqd8sncak">
	<div class="fl-col-content fl-node-content"><div  class="fl-module fl-module-rich-text fl-rich-text fl-node-ae6o53np8cmr" data-node="ae6o53np8cmr">
	<p><strong>Every image you upload to WordPress has four empty text fields. Most of them never get filled in.</strong></p>
<p>Alt text, title, caption, description — WordPress stores all four for every attachment, and they matter. Alt text is what screen readers announce and what Google reads to understand your images. Good captions and descriptions help both. But writing them by hand, one image at a time, across a library of hundreds? That's the job nobody ever gets to.</p>
<p><strong>AI Image Metadata by Dependent Media</strong> does it for you. It looks at each image with Claude (Anthropic) vision and writes all four fields — accurate, concise, and tuned for accessibility and SEO.</p>
<h3>One image, or your entire library</h3>
<p>Open any attachment and generate metadata on the spot — you review the suggestions and save only what you like. Or select hundreds of images at once and run a background batch with a live progress bar, a timer, and an estimated finish time. Nothing is written until you choose to apply it.</p>
<h3>You're in control of the voice — and the cost</h3>
<ul>
<li><strong>Pick a voice:</strong> SEO-descriptive, Editorial, or Minimal.</li>
<li><strong>Choose your model</strong> to balance quality and price.</li>
<li><strong>Protect what you've written:</strong> leave "only fill empty fields" on and the plugin skips anything you've already filled in. Turn it off to refresh everything.</li>
<li><strong>Write in your language:</strong> an output-language option means metadata comes back in the language your audience reads.</li>
</ul>
<h3>No middleman. No monthly fee.</h3>
<p>This is the part that makes it different: <strong>you bring your own Anthropic API key.</strong> There's no subscription to Dependent Media for usage and no service sitting between you and the AI. You pay Anthropic directly for exactly what you use — typically just a few cents to a dollar for a whole library, because images are downscaled before they're sent. Your key is stored encrypted in your database, and your original files are never touched.</p>
<h3>Built for people who manage a lot of sites</h3>
<p>If you run more than one WordPress site, the little things add up. AI Image Metadata adds an <strong>"AI Metadata" status column</strong> to your Media list so you can see at a glance what still needs work, a <strong>"Test connection"</strong> button with a cost estimate before you commit, and a <strong>WP-CLI command</strong> (<code>wp dm-aim generate</code>) for scripting bulk runs across a fleet. Rate limits are handled automatically with retry-and-backoff, so big jobs just finish.</p>
<p>Supports JPEG, PNG, WebP, and GIF.</p>
<h3>Get it</h3>
<p><a class="text-[var(--accent)] hover:underline underline-offset-[1px] outline-none hide-focus-ring ring-focus rounded-r2" href="https://dependentmedia.com/hosting/index.php?rp=/store/software/ai-image-metadata-by-dependent-media" target="_blank" rel="noopener noreferrer"><strong>View AI Image Metadata in the store →</strong></a></p>
<p>Licensed sites get automatic updates delivered straight to the WordPress dashboard. <em>(Add your price / license terms here.)</em></p>
<hr />
<p><em>AI Image Metadata by Dependent Media is not affiliated with or endorsed by Anthropic. "Claude" and "Anthropic" are trademarks of Anthropic, used here only to describe the service the plugin integrates with. The plugin sends a downscaled copy of the images you choose to process to the Anthropic API only when you trigger generation.</em></p>
</div>
</div>
</div>
	</div>
		</div>
	</div>
</div>
</div><p>The post <a href="https://dependentmedia.com/empty-alt-text-let-claude-write-it-ai-image-metadata-for-wordpress/">Empty Alt Text? Let Claude Write It — AI Image Metadata for WordPress</a> appeared first on <a href="https://dependentmedia.com">Dependent Media</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dependentmedia.com/empty-alt-text-let-claude-write-it-ai-image-metadata-for-wordpress/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Live USPS Shipping Rates for WooCommerce, Direct from USPS</title>
		<link>https://dependentmedia.com/live-usps-shipping-rates-for-woocommerce-direct-from-usps/</link>
					<comments>https://dependentmedia.com/live-usps-shipping-rates-for-woocommerce-direct-from-usps/#respond</comments>
		
		<dc:creator><![CDATA[adminjosh]]></dc:creator>
		<pubDate>Thu, 30 Apr 2026 19:54:28 +0000</pubDate>
				<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">https://dependentmedia.com/?p=2342</guid>

					<description><![CDATA[<p>Get Live USPS Shipping Rates for WooCommerce, Direct from USPS for free, I am not charging you, nor is USPS, not WooCommerce. This is free, like a gift on your birthday. If you run a WooCommerce store that ships physical goods, you&#8217;ve probably tried to get accurate USPS rates into checkout and discovered three things:&#8230;</p>
<p>The post <a href="https://dependentmedia.com/live-usps-shipping-rates-for-woocommerce-direct-from-usps/">Live USPS Shipping Rates for WooCommerce, Direct from USPS</a> appeared first on <a href="https://dependentmedia.com">Dependent Media</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Get Live USPS Shipping Rates for WooCommerce, Direct from USPS for free, I am not charging you, nor is USPS, not WooCommerce. This is free, like a gift on your birthday.</h2>



<p class="wp-block-paragraph">If you run a WooCommerce store that ships physical goods, you&#8217;ve probably tried to get accurate USPS rates into checkout and discovered three things:</p>



<ol class="wp-block-list">
<li>The shipping methods built into WooCommerce only do flat or weight-based rates. Your customer in Maine and your customer in California pay the same number, even though USPS charges very different prices for the same package.</li>



<li>Most &#8220;live rates&#8221; plugins on the market either charge a monthly subscription, route every rate request through a proprietary proxy server, or both.</li>



<li>The older USPS Web Tools API that a lot of plugins still depend on is being shut down. The current REST API is what production stores need to be on, and the migration story has been quiet.</li>
</ol>



<p class="wp-block-paragraph">We built&nbsp;<strong>Dependent Media Live Rates for USPS</strong>&nbsp;to address all three at once. It&#8217;s a free, open-source WordPress plugin that talks directly to the current USPS REST API at&nbsp;<code>apis.usps.com</code>&nbsp;using your own developer credentials — no middleman, no monthly fee, no per-request charge.</p>



<p class="wp-block-paragraph">It&#8217;s now available in the WordPress Plugin Directory:&nbsp;<strong><a href="https://wordpress.org/plugins/dependent-media-live-rates-for-usps/" target="_blank" rel="noreferrer noopener">wordpress.org/plugins/dependent-media-live-rates-for-usps</a></strong></p>



<h2 class="wp-block-heading">What it does</h2>



<p class="wp-block-paragraph">When a customer reaches checkout, the plugin sends each package&#8217;s weight, dimensions, origin ZIP, and destination postal code straight to USPS. USPS returns the actual rates, and your customer sees real shipping costs at the moment of purchase.</p>



<p class="wp-block-paragraph">Supported services:</p>



<p class="wp-block-paragraph"><strong>Domestic US</strong></p>



<ul class="wp-block-list">
<li>USPS Ground Advantage</li>



<li>USPS Priority Mail</li>



<li>USPS Priority Mail Express</li>
</ul>



<p class="wp-block-paragraph"><strong>International</strong></p>



<ul class="wp-block-list">
<li>USPS First-Class Package International</li>



<li>USPS Priority Mail International</li>



<li>USPS Priority Mail Express International</li>
</ul>



<h2 class="wp-block-heading">What&#8217;s different about it</h2>



<p class="wp-block-paragraph">A few design decisions worth calling out:</p>



<p class="wp-block-paragraph"><strong>Bring your own USPS credentials.</strong>&nbsp;You register your store as a USPS Developer Portal application once (it&#8217;s free), paste the Consumer Key and Consumer Secret into the plugin settings, and rate requests go directly from your site to USPS. Nothing passes through Dependent Media or any other third party. There&#8217;s no monthly fee because there&#8217;s nothing for us to charge for — you&#8217;re talking to a free public API.</p>



<p class="wp-block-paragraph"><strong>No personal data is sent to USPS.</strong>&nbsp;The plugin transmits only what&#8217;s needed to calculate a quote: package geometry, the origin ZIP, and the destination postal code. No customer name, email address, or IP. OAuth tokens are cached locally in a WordPress transient.</p>



<p class="wp-block-paragraph"><strong>Multi-box packing by default.</strong>&nbsp;Most &#8220;live rates&#8221; plugins lump every cart item into one virtual box, which produces wrong totals as soon as a customer orders more than one heavy item. We rate each cart line as its own package, sum the costs, and automatically split lines that exceed USPS&#8217;s per-package weight caps. There&#8217;s a &#8220;combined&#8221; mode too, for stores that genuinely ship everything in a single box.</p>



<p class="wp-block-paragraph"><strong>Only services that price every box are offered.</strong>&nbsp;If a customer&#8217;s cart triggers a service that USPS only quotes for some of the packages (e.g. Express isn&#8217;t valid for one of the lines), we hide the service rather than show a partial total. A misleading number is worse than a missing option.</p>



<p class="wp-block-paragraph"><strong>Optional fallback flat rate.</strong>&nbsp;If the USPS API is unreachable at the moment of checkout, you can configure a flat rate that kicks in instead of failing the cart.</p>



<p class="wp-block-paragraph"><strong>Debug logging through WooCommerce → Status → Logs.</strong>&nbsp;Every request and response can be inspected when something looks off.</p>



<h2 class="wp-block-heading">How to install</h2>



<ol class="wp-block-list">
<li>In WordPress admin, go to <strong>Plugins → Add New</strong> and search for <em>Dependent Media Live Rates for USPS</em></li>



<li>Click Install, then Activate</li>



<li>Register a USPS Developer Portal application at <strong><a href="https://developers.usps.com/" target="_blank" rel="noreferrer noopener">developers.usps.com</a></strong> (free)</li>



<li>Go to <strong>WooCommerce → Settings → Shipping</strong>, open a shipping zone, and add <strong>USPS Live Rates (DM)</strong> as a method</li>



<li>Paste your Consumer Key and Consumer Secret, choose which services to offer, save</li>



<li>Test with a real cart to confirm rates come back</li>
</ol>



<h2 class="wp-block-heading">Open source, contributions welcome</h2>



<p class="wp-block-paragraph">The plugin is GPL-licensed and developed in the open. Issues, feature requests, and pull requests are welcome on GitHub:</p>



<ul class="wp-block-list">
<li><strong>WordPress Plugin Directory:</strong> <a href="https://wordpress.org/plugins/dependent-media-live-rates-for-usps/" target="_blank" rel="noreferrer noopener">wordpress.org/plugins/dependent-media-live-rates-for-usps</a></li>



<li><strong>Source on GitHub:</strong> <a href="https://github.com/Dependent-Media/dm-usps-shipping" target="_blank" rel="noreferrer noopener">github.com/Dependent-Media/dm-usps-shipping</a></li>
</ul>



<p class="wp-block-paragraph">If you ship USPS through WooCommerce and you&#8217;re tired of paying a subscription fee for a plugin that&#8217;s basically wrapping a free public API, give it a try.</p>
<p>The post <a href="https://dependentmedia.com/live-usps-shipping-rates-for-woocommerce-direct-from-usps/">Live USPS Shipping Rates for WooCommerce, Direct from USPS</a> appeared first on <a href="https://dependentmedia.com">Dependent Media</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dependentmedia.com/live-usps-shipping-rates-for-woocommerce-direct-from-usps/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Beaver Builder mp3 player</title>
		<link>https://dependentmedia.com/beaver-builder-mp3-player/</link>
					<comments>https://dependentmedia.com/beaver-builder-mp3-player/#respond</comments>
		
		<dc:creator><![CDATA[adminjosh]]></dc:creator>
		<pubDate>Wed, 08 Apr 2026 03:51:02 +0000</pubDate>
				<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">https://dependentmedia.com/?p=2297</guid>

					<description><![CDATA[<p>&#8212; 1 0:00 0:00 1 01 Darlene Skip Gillette 2 04 Some Kids Never Grow Up (Cover) (Edit) Skip Gillette 3 09 Raindrops Falling On My Heart Skip Gillette Beaver Builder mp3 player BB MP3 Player — Audio Player Module for Beaver Builder A drag-and-drop MP3 player module built specifically for Beaver Builder. Add a&#8230;</p>
<p>The post <a href="https://dependentmedia.com/beaver-builder-mp3-player/">Beaver Builder mp3 player</a> appeared first on <a href="https://dependentmedia.com">Dependent Media</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="fl-builder-content fl-builder-content-2297 fl-builder-content-primary fl-builder-global-templates-locked" data-post-id="2297"><div class="fl-row fl-row-fixed-width fl-row-bg-none fl-node-ehlcvm4u1rqp fl-row-default-height fl-row-align-center" data-node="ehlcvm4u1rqp">
	<div class="fl-row-content-wrap">
						<div class="fl-row-content fl-row-fixed-width fl-node-content">
		
<div class="fl-col-group fl-node-egxz0bfmah9v" data-node="egxz0bfmah9v">
			<div class="fl-col fl-node-7tsbh4n1yo20 fl-col-bg-color" data-node="7tsbh4n1yo20">
	<div class="fl-col-content fl-node-content"><div class="fl-module fl-module-mp3-player fl-node-mkvl8icy1d4g" data-node="mkvl8icy1d4g">
	<div class="fl-module-content fl-node-content">
		<div class="dmap-player"
	id="dmap-mkvl8icy1d4g"
	style="--dmap-bg:#1a1a2e;--dmap-text:#ffffff;--dmap-accent:#e94560;--dmap-prog-bg:#333333;--dmap-hover:#16213e;--dmap-radius:8px;--dmap-max-w:600px;"
	data-initial-volume="80"
	data-autoplay="false"
	data-lightbox="true">

	<div class="dmap-now-playing">
								<button type="button"
				class="dmap-artwork-placeholder dmap-now-art-wrap"
				aria-label="View larger artwork"
				disabled>
				<svg width="32" height="32" viewBox="0 0 24 24" fill="currentColor"><path d="M12 3v10.55c-.59-.34-1.27-.55-2-.55C7.79 13 6 14.79 6 17s1.79 4 4 4 4-1.79 4-4V7h4V3h-6z"/></svg>
			</button>
				<div class="dmap-track-info">
			<div class="dmap-track-title">&mdash;</div>
			<div class="dmap-track-artist"></div>
		</div>
	</div>

	<div class="dmap-controls">
		<button class="dmap-btn dmap-shuffle" title="Shuffle" aria-label="Shuffle">
			<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
				<polyline points="16 3 21 3 21 8"/><line x1="4" y1="20" x2="21" y2="3"/>
				<polyline points="21 16 21 21 16 21"/><line x1="15" y1="15" x2="21" y2="21"/>
				<line x1="4" y1="4" x2="9" y2="9"/>
			</svg>
		</button>
		<button class="dmap-btn dmap-prev" title="Previous" aria-label="Previous">
			<svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
				<path d="M6 6h2v12H6zm3.5 6l8.5 6V6z"/>
			</svg>
		</button>
		<button class="dmap-btn dmap-play" title="Play" aria-label="Play">
			<svg class="dmap-icon-play" width="24" height="24" viewBox="0 0 24 24" fill="currentColor">
				<path d="M8 5v14l11-7z"/>
			</svg>
			<svg class="dmap-icon-pause" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" style="display:none;">
				<path d="M6 19h4V5H6v14zm8-14v14h4V5h-4z"/>
			</svg>
		</button>
		<button class="dmap-btn dmap-next" title="Next" aria-label="Next">
			<svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
				<path d="M6 18l8.5-6L6 6v12zM16 6v12h2V6h-2z"/>
			</svg>
		</button>
		<button class="dmap-btn dmap-repeat" title="Repeat" aria-label="Repeat">
			<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
				<polyline points="17 1 21 5 17 9"/><path d="M3 11V9a4 4 0 0 1 4-4h14"/>
				<polyline points="7 23 3 19 7 15"/><path d="M21 13v2a4 4 0 0 1-4 4H3"/>
			</svg>
			<span class="dmap-repeat-badge" style="display:none;">1</span>
		</button>
	</div>

	<div class="dmap-progress-wrap">
		<span class="dmap-time-current">0:00</span>
		<div class="dmap-progress-bar">
			<div class="dmap-progress-fill"></div>
		</div>
		<span class="dmap-time-duration">0:00</span>
	</div>

	<div class="dmap-volume-wrap">
		<svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor">
			<path d="M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02z"/>
		</svg>
		<input type="range" class="dmap-volume" min="0" max="1" step="0.05" value="0.8" aria-label="Volume">
	</div>

	<ul class="dmap-tracklist">
					<li class="dmap-track"
				data-src="https://dependentmedia.com/wp-content/uploads/2026/04/Darlene.mp3"
				data-title="01 Darlene"
				data-artist="Skip Gillette"
				data-artwork="https://dependentmedia.com/wp-content/uploads/2026/04/Darlene-mp3-image-300x300.jpg"
				data-artwork-full="https://dependentmedia.com/wp-content/uploads/2026/04/Darlene-mp3-image.jpg">
															<img decoding="async" class="dmap-track-thumb" src="https://dependentmedia.com/wp-content/uploads/2026/04/Darlene-mp3-image-300x300.jpg" alt="" loading="lazy">
													<span class="dmap-track-num">1</span>
				<span class="dmap-track-playing-icon">
					<svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><path d="M3 9v6h4l5 5V4L7 9H3z"/></svg>
				</span>
				<span class="dmap-track-details">
					<span class="dmap-track-name">01 Darlene</span>
											<span class="dmap-track-artist-name">Skip Gillette</span>
									</span>
			</li>
					<li class="dmap-track"
				data-src="https://dependentmedia.com/wp-content/uploads/2026/04/Some-Kids-Never-Grow-Up.mp3"
				data-title="04 Some Kids Never Grow Up (Cover) (Edit)"
				data-artist="Skip Gillette"
				data-artwork="https://dependentmedia.com/wp-content/uploads/2026/04/Some-Kids-Never-Grow-Up-mp3-image-300x300.jpg"
				data-artwork-full="https://dependentmedia.com/wp-content/uploads/2026/04/Some-Kids-Never-Grow-Up-mp3-image.jpg">
															<img decoding="async" class="dmap-track-thumb" src="https://dependentmedia.com/wp-content/uploads/2026/04/Some-Kids-Never-Grow-Up-mp3-image-300x300.jpg" alt="" loading="lazy">
													<span class="dmap-track-num">2</span>
				<span class="dmap-track-playing-icon">
					<svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><path d="M3 9v6h4l5 5V4L7 9H3z"/></svg>
				</span>
				<span class="dmap-track-details">
					<span class="dmap-track-name">04 Some Kids Never Grow Up (Cover) (Edit)</span>
											<span class="dmap-track-artist-name">Skip Gillette</span>
									</span>
			</li>
					<li class="dmap-track"
				data-src="https://dependentmedia.com/wp-content/uploads/2026/04/Raindrops-Falling-On-My-Heart-1.mp3"
				data-title="09 Raindrops Falling On My Heart"
				data-artist="Skip Gillette"
				data-artwork="https://dependentmedia.com/wp-content/uploads/2026/04/Raindrops-Falling-On-My-Heart-1-mp3-image-300x300.jpg"
				data-artwork-full="https://dependentmedia.com/wp-content/uploads/2026/04/Raindrops-Falling-On-My-Heart-1-mp3-image.jpg">
															<img decoding="async" class="dmap-track-thumb" src="https://dependentmedia.com/wp-content/uploads/2026/04/Raindrops-Falling-On-My-Heart-1-mp3-image-300x300.jpg" alt="" loading="lazy">
													<span class="dmap-track-num">3</span>
				<span class="dmap-track-playing-icon">
					<svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><path d="M3 9v6h4l5 5V4L7 9H3z"/></svg>
				</span>
				<span class="dmap-track-details">
					<span class="dmap-track-name">09 Raindrops Falling On My Heart</span>
											<span class="dmap-track-artist-name">Skip Gillette</span>
									</span>
			</li>
			</ul>

	<audio class="dmap-audio" preload="metadata"></audio>
</div>
	</div>
</div>
</div>
</div>
	</div>
		</div>
	</div>
</div>
<div class="fl-row fl-row-fixed-width fl-row-bg-none fl-node-c2brg8tz7aon fl-row-default-height fl-row-align-center" data-node="c2brg8tz7aon">
	<div class="fl-row-content-wrap">
						<div class="fl-row-content fl-row-fixed-width fl-node-content">
		
<div class="fl-col-group fl-node-27l5wzt681aj" data-node="27l5wzt681aj">
			<div class="fl-col fl-node-k1zwa0vj358t fl-col-bg-color" data-node="k1zwa0vj358t">
	<div class="fl-col-content fl-node-content"><h1  class="fl-module fl-module-heading fl-heading fl-heading-text fl-node-rnok1u9aj648" data-node="rnok1u9aj648">
			Beaver Builder mp3 player	</h1>
<div  class="fl-module fl-module-rich-text fl-rich-text fl-node-cpr512vamxqt" data-node="cpr512vamxqt">
	<h2>BB MP3 Player — Audio Player Module for Beaver Builder</h2>
<p>A drag-and-drop MP3 player module built specifically for Beaver Builder. Add a fully customizable audio player with playlist support to any page — no shortcodes, no plugin conflicts, no hassle.</p>
<h3>Built for Musicians, Podcasters &amp; Creators</h3>
<p>Whether you're a musician sharing tracks, a podcaster hosting episodes, a voice-over artist showcasing demos, or a wellness site streaming guided meditations — BB MP3 Player gives you a professional audio experience inside the page builder you already use.</p>
<h2>Features</h2>
<ul>
<li><strong>Native Beaver Builder Module</strong> — Drag it from the module panel, configure in the sidebar. No shortcodes, no separate settings pages. Works with BB's live preview.</li>
<li><strong>Playlist Support</strong> — Add unlimited tracks with title, artist, and album artwork. Tracks auto-advance to the next song when playback ends.</li>
<li><strong>Shuffle &amp; Repeat</strong> — Shuffle your tracklist, repeat all tracks, or loop a single song. Your listeners stay in control.</li>
<li><strong>Album Art</strong> — Display cover artwork in the now-playing area and as thumbnails in the tracklist. Upload directly from the WordPress Media Library.</li>
<li><strong>Full Playback Controls</strong> — Play/pause, previous/next, clickable progress bar with elapsed and total time, and a volume slider.</li>
<li><strong>Fully Customizable Styling</strong> — Set background color, text color, accent color, progress bar color, track hover color, border radius, and max width — all from the BB Style tab with live color pickers.</li>
<li><strong>Responsive &amp; Mobile-Ready</strong> — Scales cleanly on phones, tablets, and desktops. Touch-friendly controls for mobile listeners.</li>
<li><strong>Lightweight &amp; Fast</strong> — Pure vanilla JavaScript with zero jQuery dependency. Uses the native HTML5 audio element. No bloated libraries, no render-blocking scripts.</li>
<li><strong>Multiple Players Per Page</strong> — Each instance runs independently. Place separate playlists for different albums or categories on the same page.</li>
<li><strong>Secure</strong> — All output is escaped and sanitized. Color values are regex-validated, URLs are sanitized with WordPress core functions, and editor scripts require proper user capabilities.</li>
<li><strong>Media Library Integration</strong> — Browse and select audio files and artwork images directly from the WordPress Media Library without leaving the Beaver Builder editor.</li>
</ul>
<h2>Why Not Use the WordPress Playlist Shortcode?</h2>
<p>The built-in <code></code> shortcode causes a known JavaScript conflict inside the Beaver Builder editor, preventing pages from saving. BB MP3 Player was built from the ground up as a native BB module to avoid this entirely. No template conflicts, no save errors — it just works.</p>
<h2>Installation</h2>
<ol>
<li>Upload the plugin zip via <strong>Plugins &gt; Add New &gt; Upload Plugin</strong></li>
<li>Activate the plugin</li>
<li>Open any page in Beaver Builder</li>
<li>Find <strong>MP3 Player</strong> in the module list under <em>Media</em></li>
<li>Add tracks, customize colors, and publish</li>
</ol>
<h2>Requirements</h2>
<ul>
<li>WordPress 5.0 or later</li>
<li>Beaver Builder Plugin (Lite or Pro)</li>
<li>PHP 7.4 or later</li>
</ul>
<h2>Get Started</h2>
<p>Download BB MP3 Player and add a professional audio player to your Beaver Builder site in under a minute.</p>
</div>
<div  class="fl-module fl-module-button fl-button-wrap fl-button-width-auto fl-button-left fl-button-has-icon fl-node-3uy2vpx4ecf8" data-node="3uy2vpx4ecf8">
			<a href="https://dependentmedia.com/wp-content/uploads/2026/08/bb-mp3-player-v2.1.1.zip"  target="_self"  download class="fl-button"  >
					<i class="fl-button-icon fl-button-icon-before fas fa-arrow-down" aria-hidden="true"></i>
						<span class="fl-button-text">Download</span>
					</a>
	</div>
<div class="fl-module fl-module-pp-gallery fl-node-t0jiz2dnr6ws" data-node="t0jiz2dnr6ws">
	<div class="fl-module-content fl-node-content">
		
<div class="pp-photo-gallery" data-items-count="7" itemscope="itemscope" itemtype="https://schema.org/ImageGallery">
	<div class="pp-photo-gallery-item pp-gallery-masonry-item" data-item-id="2306" itemprop="associatedMedia" itemscope="itemscope" itemtype="http://schema.org/ImageObject">
	<div class="pp-photo-gallery-content">
				<a
			href="https://dependentmedia.com/wp-content/uploads/2026/04/Screenshot-2026-04-07-at-8.44.52-PM-623x1024.jpeg"
			 
						data-fancybox="images" 
			 
			title="Screenshot 2026-04-07 at 8.44.52 PM" 
						data-caption=""
						data-description="" 
			itemprop="contentUrl"
		>
		
		
			<img loading="lazy" decoding="async" class="pp-gallery-img no-lazyload skip-lazy" src="https://dependentmedia.com/wp-content/uploads/2026/04/Screenshot-2026-04-07-at-8.44.52-PM.jpeg" alt="" data-no-lazy="1" itemprop="thumbnail" width="634" height="1042" />

			<!-- Overlay Wrapper -->
			<div class="pp-gallery-overlay">
				<div class="pp-overlay-inner">

					
					
				</div>
			</div> <!-- Overlay Wrapper Closed -->

				</a>
							<meta itemprop="width" content="634" />
			<meta itemprop="height" content="1042" />
			</div>
	</div><div class="pp-photo-gallery-item pp-gallery-masonry-item" data-item-id="2305" itemprop="associatedMedia" itemscope="itemscope" itemtype="http://schema.org/ImageObject">
	<div class="pp-photo-gallery-content">
				<a
			href="https://dependentmedia.com/wp-content/uploads/2026/04/Screenshot-2026-04-07-at-8.44.17-PM.jpeg"
			 
						data-fancybox="images" 
			 
			title="Screenshot 2026-04-07 at 8.44.17 PM" 
						data-caption=""
						data-description="" 
			itemprop="contentUrl"
		>
		
		
			<img loading="lazy" decoding="async" class="pp-gallery-img no-lazyload skip-lazy" src="https://dependentmedia.com/wp-content/uploads/2026/04/Screenshot-2026-04-07-at-8.44.17-PM.jpeg" alt="" data-no-lazy="1" itemprop="thumbnail" width="638" height="752" />

			<!-- Overlay Wrapper -->
			<div class="pp-gallery-overlay">
				<div class="pp-overlay-inner">

					
					
				</div>
			</div> <!-- Overlay Wrapper Closed -->

				</a>
							<meta itemprop="width" content="638" />
			<meta itemprop="height" content="752" />
			</div>
	</div><div class="pp-photo-gallery-item pp-gallery-masonry-item" data-item-id="2304" itemprop="associatedMedia" itemscope="itemscope" itemtype="http://schema.org/ImageObject">
	<div class="pp-photo-gallery-content">
				<a
			href="https://dependentmedia.com/wp-content/uploads/2026/04/Screenshot-2026-04-07-at-8.44.10-PM-1024x412.jpeg"
			 
						data-fancybox="images" 
			 
			title="Screenshot 2026-04-07 at 8.44.10 PM" 
						data-caption=""
						data-description="" 
			itemprop="contentUrl"
		>
		
		
			<img loading="lazy" decoding="async" class="pp-gallery-img no-lazyload skip-lazy" src="https://dependentmedia.com/wp-content/uploads/2026/04/Screenshot-2026-04-07-at-8.44.10-PM.jpeg" alt="" data-no-lazy="1" itemprop="thumbnail" width="1982" height="798" />

			<!-- Overlay Wrapper -->
			<div class="pp-gallery-overlay">
				<div class="pp-overlay-inner">

					
					
				</div>
			</div> <!-- Overlay Wrapper Closed -->

				</a>
							<meta itemprop="width" content="1982" />
			<meta itemprop="height" content="798" />
			</div>
	</div><div class="pp-photo-gallery-item pp-gallery-masonry-item" data-item-id="2303" itemprop="associatedMedia" itemscope="itemscope" itemtype="http://schema.org/ImageObject">
	<div class="pp-photo-gallery-content">
				<a
			href="https://dependentmedia.com/wp-content/uploads/2026/04/Screenshot-2026-04-07-at-8.43.56-PM-383x1024.jpeg"
			 
						data-fancybox="images" 
			 
			title="Screenshot 2026-04-07 at 8.43.56 PM" 
						data-caption=""
						data-description="" 
			itemprop="contentUrl"
		>
		
		
			<img loading="lazy" decoding="async" class="pp-gallery-img no-lazyload skip-lazy" src="https://dependentmedia.com/wp-content/uploads/2026/04/Screenshot-2026-04-07-at-8.43.56-PM.jpeg" alt="" data-no-lazy="1" itemprop="thumbnail" width="642" height="1718" />

			<!-- Overlay Wrapper -->
			<div class="pp-gallery-overlay">
				<div class="pp-overlay-inner">

					
					
				</div>
			</div> <!-- Overlay Wrapper Closed -->

				</a>
							<meta itemprop="width" content="642" />
			<meta itemprop="height" content="1718" />
			</div>
	</div><div class="pp-photo-gallery-item pp-gallery-masonry-item" data-item-id="2302" itemprop="associatedMedia" itemscope="itemscope" itemtype="http://schema.org/ImageObject">
	<div class="pp-photo-gallery-content">
				<a
			href="https://dependentmedia.com/wp-content/uploads/2026/04/Screenshot-2026-04-07-at-8.43.44-PM.jpeg"
			 
						data-fancybox="images" 
			 
			title="Screenshot 2026-04-07 at 8.43.44 PM" 
						data-caption=""
						data-description="" 
			itemprop="contentUrl"
		>
		
		
			<img loading="lazy" decoding="async" class="pp-gallery-img no-lazyload skip-lazy" src="https://dependentmedia.com/wp-content/uploads/2026/04/Screenshot-2026-04-07-at-8.43.44-PM.jpeg" alt="" data-no-lazy="1" itemprop="thumbnail" width="646" height="596" />

			<!-- Overlay Wrapper -->
			<div class="pp-gallery-overlay">
				<div class="pp-overlay-inner">

					
					
				</div>
			</div> <!-- Overlay Wrapper Closed -->

				</a>
							<meta itemprop="width" content="646" />
			<meta itemprop="height" content="596" />
			</div>
	</div><div class="pp-photo-gallery-item pp-gallery-masonry-item" data-item-id="2301" itemprop="associatedMedia" itemscope="itemscope" itemtype="http://schema.org/ImageObject">
	<div class="pp-photo-gallery-content">
				<a
			href="https://dependentmedia.com/wp-content/uploads/2026/04/Screenshot-2026-04-07-at-8.40.37-PM-1-1024x674.jpeg"
			 
						data-fancybox="images" 
			 
			title="Screenshot 2026-04-07 at 8.40.37 PM" 
						data-caption=""
						data-description="" 
			itemprop="contentUrl"
		>
		
		
			<img loading="lazy" decoding="async" class="pp-gallery-img no-lazyload skip-lazy" src="https://dependentmedia.com/wp-content/uploads/2026/04/Screenshot-2026-04-07-at-8.40.37-PM-1.jpeg" alt="" data-no-lazy="1" itemprop="thumbnail" width="1248" height="822" />

			<!-- Overlay Wrapper -->
			<div class="pp-gallery-overlay">
				<div class="pp-overlay-inner">

					
					
				</div>
			</div> <!-- Overlay Wrapper Closed -->

				</a>
							<meta itemprop="width" content="1248" />
			<meta itemprop="height" content="822" />
			</div>
	</div><div class="pp-photo-gallery-item pp-gallery-masonry-item" data-item-id="2307" itemprop="associatedMedia" itemscope="itemscope" itemtype="http://schema.org/ImageObject">
	<div class="pp-photo-gallery-content">
				<a
			href="https://dependentmedia.com/wp-content/uploads/2026/04/Screenshot-2026-04-07-at-8.46.48-PM-1024x844.jpeg"
			 
						data-fancybox="images" 
			 
			title="Screenshot 2026-04-07 at 8.46.48 PM" 
						data-caption=""
						data-description="" 
			itemprop="contentUrl"
		>
		
		
			<img loading="lazy" decoding="async" class="pp-gallery-img no-lazyload skip-lazy" src="https://dependentmedia.com/wp-content/uploads/2026/04/Screenshot-2026-04-07-at-8.46.48-PM.jpeg" alt="" data-no-lazy="1" itemprop="thumbnail" width="1220" height="1006" />

			<!-- Overlay Wrapper -->
			<div class="pp-gallery-overlay">
				<div class="pp-overlay-inner">

					
					
				</div>
			</div> <!-- Overlay Wrapper Closed -->

				</a>
							<meta itemprop="width" content="1220" />
			<meta itemprop="height" content="1006" />
			</div>
	</div>
			<div class="pp-photo-space"></div>
	</div>

		</div>
</div>
</div>
</div>
	</div>
		</div>
	</div>
</div>
</div><p>The post <a href="https://dependentmedia.com/beaver-builder-mp3-player/">Beaver Builder mp3 player</a> appeared first on <a href="https://dependentmedia.com">Dependent Media</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dependentmedia.com/beaver-builder-mp3-player/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		<enclosure url="https://dependentmedia.com/wp-content/uploads/2026/04/Darlene.mp3" length="4289926" type="audio/mpeg" />
<enclosure url="https://dependentmedia.com/wp-content/uploads/2026/04/Some-Kids-Never-Grow-Up.mp3" length="4767951" type="audio/mpeg" />
<enclosure url="https://dependentmedia.com/wp-content/uploads/2026/04/Raindrops-Falling-On-My-Heart-1.mp3" length="5555507" type="audio/mpeg" />

			</item>
		<item>
		<title>DM Flowchart Designer</title>
		<link>https://dependentmedia.com/dm-flowchart-designer/</link>
					<comments>https://dependentmedia.com/dm-flowchart-designer/#respond</comments>
		
		<dc:creator><![CDATA[adminjosh]]></dc:creator>
		<pubDate>Sat, 28 Feb 2026 03:48:00 +0000</pubDate>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://dependentmedia.com/?p=2232</guid>

					<description><![CDATA[<p>Built for Mac &#38; iPad Flowcharts made beautiful A native app for Mac and iPad for creating professional flowcharts, process maps, and decision trees. Powerful styling. Intuitive canvas. Zero learning curve. Download on the App Store Read the User Guide Everything you need Professional diagramming tools without the complexity Six Node Types Start/End, Process, Decision,&#8230;</p>
<p>The post <a href="https://dependentmedia.com/dm-flowchart-designer/">DM Flowchart Designer</a> appeared first on <a href="https://dependentmedia.com">Dependent Media</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="fl-builder-content fl-builder-content-2232 fl-builder-content-primary fl-builder-global-templates-locked" data-post-id="2232"><div  class="fl-module fl-module-box fl-node-r7s1vbj2xi8d" data-node="r7s1vbj2xi8d">
	<div  class="fl-module fl-module-box fl-node-hbgelj4wtvfo" data-node="hbgelj4wtvfo">
	<div  class="fl-module fl-module-box fl-node-2zrxcsblgqf6" data-node="2zrxcsblgqf6">
	<div  class="fl-module fl-module-rich-text fl-rich-text fl-node-qwzkx05db2ly" data-node="qwzkx05db2ly">
	<p>Built for Mac &amp; iPad</p>
</div>
</div>
<h1  class="fl-module fl-module-heading fl-heading fl-heading-text fl-node-mnyszp8bk3l2" data-node="mnyszp8bk3l2">
			Flowcharts made beautiful	</h1>
<div  class="fl-module fl-module-rich-text fl-rich-text fl-node-ixkfq098c63z" data-node="ixkfq098c63z">
	<p>A native app for Mac and iPad for creating professional flowcharts, process maps, and decision trees. Powerful styling. Intuitive canvas. Zero learning curve.</p>
</div>
<div  class="fl-module fl-module-box fl-node-tlokgbuz9isa" data-node="tlokgbuz9isa">
	<div  class="fl-module fl-module-button fl-button-wrap fl-button-width-custom fl-button-left fl-button-has-icon fl-node-6jchuregwm8t" data-node="6jchuregwm8t">
			<a href="https://apps.apple.com/app/dm-flowchart-designer/id6759627806"  target="_self"  class="fl-button"  >
					<i class="fl-button-icon fl-button-icon-before fab fa-apple" aria-hidden="true"></i>
						<span class="fl-button-text">Download on the App Store</span>
					</a>
	</div>
<div  class="fl-module fl-module-button fl-button-wrap fl-button-width-custom fl-button-left fl-button-has-icon fl-node-3113c8ae3f6c8" data-node="3113c8ae3f6c8">
			<a href="/dm-flowchart-designer-user-guide/"  target="_self"  class="fl-button"  >
					<i class="fl-button-icon fl-button-icon-before fab fa-apple" aria-hidden="true"></i>
						<span class="fl-button-text">Read the User Guide</span>
					</a>
	</div>
</div>
</div>
</div>
<div class="fl-row fl-row-fixed-width fl-row-bg-none fl-node-lbpy1x273ack fl-row-default-height fl-row-align-center" data-node="lbpy1x273ack">
	<div class="fl-row-content-wrap">
						<div class="fl-row-content fl-row-fixed-width fl-node-content">
		
<div class="fl-col-group fl-node-zbx41702qyen" data-node="zbx41702qyen">
			<div class="fl-col fl-node-tio38wkr7y6u fl-col-bg-color" data-node="tio38wkr7y6u">
	<div class="fl-col-content fl-node-content"><h2  class="fl-module fl-module-heading fl-heading fl-heading-text fl-node-6dkcoyfqpnls" data-node="6dkcoyfqpnls">
			Everything you need	</h2>
<h3  class="fl-module fl-module-heading fl-heading fl-heading-text fl-node-7xre8w3bakl5" data-node="7xre8w3bakl5">
			Professional diagramming tools without the complexity	</h3>
</div>
</div>
	</div>
		</div>
	</div>
</div>
<div  class="fl-module fl-module-box fl-node-qrpzd5xf8aiw" data-node="qrpzd5xf8aiw">
	<div  class="fl-module fl-module-box fl-node-6ofyw59euja1" data-node="6ofyw59euja1">
	<div class="fl-module fl-module-callout fl-node-042edo3mxkt8" data-node="042edo3mxkt8">
	<div class="fl-module-content fl-node-content">
		<div class="fl-callout fl-callout-has-icon fl-callout-icon-left-title">
		<div class="fl-callout-content">
		<h3 class="fl-callout-title">	<span class="fl-icon">
				<i class="fas fa-flag-checkered" aria-hidden="true"></i>
					</span>
	<span class="fl-callout-title-text">Six Node Types</span></h3><div class="fl-callout-text-wrap"><div class="fl-callout-text"><div class="feature-card">
<p>Start/End, Process, Decision, Input/Output, Connector, and Card nodes. Each with its own shape and purpose, following standard flowchart conventions.</p>
</div>
</div></div>	</div>
	</div>
	</div>
</div>
</div>
<div  class="fl-module fl-module-box fl-node-ohn0fwikr4l3" data-node="ohn0fwikr4l3">
	<div class="fl-module fl-module-callout fl-node-qvgd5o7wpztx" data-node="qvgd5o7wpztx">
	<div class="fl-module-content fl-node-content">
		<div class="fl-callout fl-callout-has-icon fl-callout-icon-left-title">
		<div class="fl-callout-content">
		<h3 class="fl-callout-title">	<span class="fl-icon">
				<i class="fas fa-paint-brush" aria-hidden="true"></i>
					</span>
	<span class="fl-callout-title-text">Rich Styling</span></h3><div class="fl-callout-text-wrap"><div class="fl-callout-text"><div class="feature-card">
<div class="feature-card">
<p>Solid fills, linear and radial gradients, pattern overlays with stripes, dots, crosshatch, and grid. Customize colors, borders, fonts, and alignment for every element.</p>
</div>
</div>
</div></div>	</div>
	</div>
	</div>
</div>
</div>
<div  class="fl-module fl-module-box fl-node-wu4srtzj0cid" data-node="wu4srtzj0cid">
	<div class="fl-module fl-module-callout fl-node-dx0l4sqirt9o" data-node="dx0l4sqirt9o">
	<div class="fl-module-content fl-node-content">
		<div class="fl-callout fl-callout-has-icon fl-callout-icon-left-title">
		<div class="fl-callout-content">
		<h3 class="fl-callout-title">	<span class="fl-icon">
				<i class="fas fa-code-branch" aria-hidden="true"></i>
					</span>
	<span class="fl-callout-title-text">Smart Connections</span></h3><div class="fl-callout-text-wrap"><div class="fl-callout-text"><div class="feature-card">
<div class="feature-card">
<p>Draw connections from any port edge. Add waypoints for custom routing. Five arrow styles, four dash patterns, and adjustable line width. Attach labels with styled backgrounds.</p>
</div>
</div>
</div></div>	</div>
	</div>
	</div>
</div>
</div>
<div  class="fl-module fl-module-box fl-node-4q7pusdjhflv" data-node="4q7pusdjhflv">
	<div class="fl-module fl-module-callout fl-node-p2o0vzc6mgf1" data-node="p2o0vzc6mgf1">
	<div class="fl-module-content fl-node-content">
		<div class="fl-callout fl-callout-has-icon fl-callout-icon-left-title">
		<div class="fl-callout-content">
		<h3 class="fl-callout-title">	<span class="fl-icon">
				<i class="fas fa-paint-roller" aria-hidden="true"></i>
					</span>
	<span class="fl-callout-title-text">Global Style System</span></h3><div class="fl-callout-text-wrap"><div class="fl-callout-text"><div class="feature-card">
<div class="feature-card">
<div class="feature-card">
<p>Set default styles per node shape in Preferences. New documents inherit your defaults. Export and import your presets to share with your team.</p>
</div>
</div>
</div>
</div></div>	</div>
	</div>
	</div>
</div>
</div>
<div  class="fl-module fl-module-box fl-node-8d0acy5zs6nm" data-node="8d0acy5zs6nm">
	<div class="fl-module fl-module-callout fl-node-n5u7zfa86dx3" data-node="n5u7zfa86dx3">
	<div class="fl-module-content fl-node-content">
		<div class="fl-callout fl-callout-has-icon fl-callout-icon-left-title">
		<div class="fl-callout-content">
		<h3 class="fl-callout-title">	<span class="fl-icon">
				<i class="fas fa-align-center" aria-hidden="true"></i>
					</span>
	<span class="fl-callout-title-text">Alignment Tools</span></h3><div class="fl-callout-text-wrap"><div class="fl-callout-text"><div class="feature-card">
<div class="feature-card">
<p>Select multiple nodes and align or distribute them precisely. Left, center, right, top, middle, and bottom alignment with horizontal and vertical distribution.</p>
</div>
<div class="feature-card"></div>
</div>
</div></div>	</div>
	</div>
	</div>
</div>
</div>
<div  class="fl-module fl-module-box fl-node-k2bft0lu8xw7" data-node="k2bft0lu8xw7">
	<div class="fl-module fl-module-callout fl-node-gi14wzlp3cqo" data-node="gi14wzlp3cqo">
	<div class="fl-module-content fl-node-content">
		<div class="fl-callout fl-callout-has-icon fl-callout-icon-left-title">
		<div class="fl-callout-content">
		<h3 class="fl-callout-title">	<span class="fl-icon">
				<i class="fab fa-telegram-plane" aria-hidden="true"></i>
					</span>
	<span class="fl-callout-title-text">Export Anywhere</span></h3><div class="fl-callout-text-wrap"><div class="fl-callout-text"><div class="feature-card">
<div class="feature-card">
<section id="features" class="features">
<div class="features-grid">
<div class="feature-card">
<p>High-resolution PNG for presentations. Vector PDF for print. JSON project files for continued editing. Your diagrams, your format.</p>
</div>
</div>
</section>
</div>
</div>
</div></div>	</div>
	</div>
	</div>
</div>
</div>
</div>
<div class="fl-row fl-row-full-width fl-row-bg-none fl-node-oh3csr6iqgz2 fl-row-default-height fl-row-align-center" data-node="oh3csr6iqgz2">
	<div class="fl-row-content-wrap">
						<div class="fl-row-content fl-row-full-width fl-node-content">
		
<div class="fl-col-group fl-node-g3birjt42pkc" data-node="g3birjt42pkc">
			<div class="fl-col fl-node-4dr8vzc2s7ye fl-col-bg-color" data-node="4dr8vzc2s7ye">
	<div class="fl-col-content fl-node-content"><div class="fl-module fl-module-pp-image-carousel fl-node-ji8mulow7pyq" data-node="ji8mulow7pyq">
	<div class="fl-module-content fl-node-content">
		<div class="pp-image-carousel-wrapper">
		<div class="pp-image-carousel swiper swiper-container slider-type-slideshow" role="region" aria-label="Slider">
		<div class="swiper-wrapper">
							<div class="pp-image-carousel-item pp-image-carousel-link swiper-slide" role="group" aria-label="Slide 1">
																	<a href="https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-24-at-7.41.10-PM.jpg" target="_self" data-caption="" aria-label="">
					
					<div class="pp-carousel-image-container">
						<figure class="swiper-slide-inner">
														
							<img loading="lazy" decoding="async" class="swiper-slide-image" src="https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-24-at-7.41.10-PM.jpg" alt="" srcset="https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-24-at-7.41.10-PM.jpg 1440w, https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-24-at-7.41.10-PM-300x188.jpg 300w, https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-24-at-7.41.10-PM-1024x640.jpg 1024w, https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-24-at-7.41.10-PM-768x480.jpg 768w" width="1440" height="900" />
							
							
													</figure>
											</div>

										</a>
									</div>
								<div class="pp-image-carousel-item pp-image-carousel-link swiper-slide" role="group" aria-label="Slide 2">
																	<a href="https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-24-at-7.41.03-PM.jpg" target="_self" data-caption="" aria-label="">
					
					<div class="pp-carousel-image-container">
						<figure class="swiper-slide-inner">
														
							<img loading="lazy" decoding="async" class="swiper-slide-image" src="https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-24-at-7.41.03-PM.jpg" alt="" srcset="https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-24-at-7.41.03-PM.jpg 1440w, https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-24-at-7.41.03-PM-300x188.jpg 300w, https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-24-at-7.41.03-PM-1024x640.jpg 1024w, https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-24-at-7.41.03-PM-768x480.jpg 768w" width="1440" height="900" />
							
							
													</figure>
											</div>

										</a>
									</div>
								<div class="pp-image-carousel-item pp-image-carousel-link swiper-slide" role="group" aria-label="Slide 3">
																	<a href="https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-24-at-7.41.36-PM.jpg" target="_self" data-caption="" aria-label="">
					
					<div class="pp-carousel-image-container">
						<figure class="swiper-slide-inner">
														
							<img loading="lazy" decoding="async" class="swiper-slide-image" src="https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-24-at-7.41.36-PM.jpg" alt="" srcset="https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-24-at-7.41.36-PM.jpg 1440w, https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-24-at-7.41.36-PM-300x188.jpg 300w, https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-24-at-7.41.36-PM-1024x640.jpg 1024w, https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-24-at-7.41.36-PM-768x480.jpg 768w" width="1440" height="900" />
							
							
													</figure>
											</div>

										</a>
									</div>
								<div class="pp-image-carousel-item pp-image-carousel-link swiper-slide" role="group" aria-label="Slide 4">
																	<a href="https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.21.01-AM.jpg" target="_self" data-caption="" aria-label="">
					
					<div class="pp-carousel-image-container">
						<figure class="swiper-slide-inner">
														
							<img loading="lazy" decoding="async" class="swiper-slide-image" src="https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.21.01-AM.jpg" alt="" srcset="https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.21.01-AM.jpg 770w, https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.21.01-AM-300x225.jpg 300w, https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.21.01-AM-768x576.jpg 768w" width="770" height="578" />
							
							
													</figure>
											</div>

										</a>
									</div>
								<div class="pp-image-carousel-item pp-image-carousel-link swiper-slide" role="group" aria-label="Slide 5">
																	<a href="https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.21.09-AM.jpg" target="_self" data-caption="" aria-label="">
					
					<div class="pp-carousel-image-container">
						<figure class="swiper-slide-inner">
														
							<img loading="lazy" decoding="async" class="swiper-slide-image" src="https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.21.09-AM.jpg" alt="" srcset="https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.21.09-AM.jpg 782w, https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.21.09-AM-247x300.jpg 247w, https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.21.09-AM-768x933.jpg 768w" width="782" height="950" />
							
							
													</figure>
											</div>

										</a>
									</div>
								<div class="pp-image-carousel-item pp-image-carousel-link swiper-slide" role="group" aria-label="Slide 6">
																	<a href="https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.21.17-AM.jpg" target="_self" data-caption="" aria-label="">
					
					<div class="pp-carousel-image-container">
						<figure class="swiper-slide-inner">
														
							<img loading="lazy" decoding="async" class="swiper-slide-image" src="https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.21.17-AM.jpg" alt="" srcset="https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.21.17-AM.jpg 356w, https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.21.17-AM-98x300.jpg 98w, https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.21.17-AM-333x1024.jpg 333w" width="356" height="1094" />
							
							
													</figure>
											</div>

										</a>
									</div>
								<div class="pp-image-carousel-item pp-image-carousel-link swiper-slide" role="group" aria-label="Slide 7">
																	<a href="https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.30.34-AM.jpg" target="_self" data-caption="" aria-label="">
					
					<div class="pp-carousel-image-container">
						<figure class="swiper-slide-inner">
														
							<img loading="lazy" decoding="async" class="swiper-slide-image" src="https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.30.34-AM.jpg" alt="" srcset="https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.30.34-AM.jpg 1242w, https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.30.34-AM-284x300.jpg 284w, https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.30.34-AM-971x1024.jpg 971w, https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.30.34-AM-768x810.jpg 768w" width="1242" height="1310" />
							
							
													</figure>
											</div>

										</a>
									</div>
								<div class="pp-image-carousel-item pp-image-carousel-link swiper-slide" role="group" aria-label="Slide 8">
																	<a href="https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.30.42-AM.jpg" target="_self" data-caption="" aria-label="">
					
					<div class="pp-carousel-image-container">
						<figure class="swiper-slide-inner">
														
							<img loading="lazy" decoding="async" class="swiper-slide-image" src="https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.30.42-AM.jpg" alt="" srcset="https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.30.42-AM.jpg 1226w, https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.30.42-AM-284x300.jpg 284w, https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.30.42-AM-970x1024.jpg 970w, https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.30.42-AM-768x811.jpg 768w" width="1226" height="1294" />
							
							
													</figure>
											</div>

										</a>
									</div>
								<div class="pp-image-carousel-item pp-image-carousel-link swiper-slide" role="group" aria-label="Slide 9">
																	<a href="https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.30.49-AM.jpg" target="_self" data-caption="" aria-label="">
					
					<div class="pp-carousel-image-container">
						<figure class="swiper-slide-inner">
														
							<img loading="lazy" decoding="async" class="swiper-slide-image" src="https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.30.49-AM.jpg" alt="" srcset="https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.30.49-AM.jpg 1226w, https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.30.49-AM-283x300.jpg 283w, https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.30.49-AM-966x1024.jpg 966w, https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.30.49-AM-768x814.jpg 768w" width="1226" height="1300" />
							
							
													</figure>
											</div>

										</a>
									</div>
								<div class="pp-image-carousel-item pp-image-carousel-link swiper-slide" role="group" aria-label="Slide 10">
																	<a href="https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.30.56-AM.jpg" target="_self" data-caption="" aria-label="">
					
					<div class="pp-carousel-image-container">
						<figure class="swiper-slide-inner">
														
							<img loading="lazy" decoding="async" class="swiper-slide-image" src="https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.30.56-AM.jpg" alt="" srcset="https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.30.56-AM.jpg 1220w, https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.30.56-AM-281x300.jpg 281w, https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.30.56-AM-960x1024.jpg 960w, https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.30.56-AM-768x820.jpg 768w" width="1220" height="1302" />
							
							
													</figure>
											</div>

										</a>
									</div>
						</div>
								<!-- navigation arrows -->
			<button class="pp-swiper-button swiper-button-prev" aria-label="Previous slide" role="button" tabindex="0">
				<span aria-hidden="true"><svg role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><path fill="currentColor" d="M25.1 247.5l117.8-116c4.7-4.7 12.3-4.7 17 0l7.1 7.1c4.7 4.7 4.7 12.3 0 17L64.7 256l102.2 100.4c4.7 4.7 4.7 12.3 0 17l-7.1 7.1c-4.7 4.7-12.3 4.7-17 0L25 264.5c-4.6-4.7-4.6-12.3.1-17z"></path></svg></span>			</button>
			<button class="pp-swiper-button swiper-button-next" aria-label="Next slide" role="button" tabindex="0">
				<span aria-hidden="true"><svg role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><path fill="currentColor" d="M166.9 264.5l-117.8 116c-4.7 4.7-12.3 4.7-17 0l-7.1-7.1c-4.7-4.7-4.7-12.3 0-17L127.3 256 25.1 155.6c-4.7-4.7-4.7-12.3 0-17l7.1-7.1c4.7-4.7 12.3-4.7 17 0l117.8 116c4.6 4.7 4.6 12.3-.1 17z"></path></svg></span>			</button>
									<div class="swiper-pagination" data-captions="[&quot;Slide 1&quot;,&quot;Slide 2&quot;,&quot;Slide 3&quot;,&quot;Slide 4&quot;,&quot;Slide 5&quot;,&quot;Slide 6&quot;,&quot;Slide 7&quot;,&quot;Slide 8&quot;,&quot;Slide 9&quot;,&quot;Slide 10&quot;]"></div>
						</div>
					<div class="pp-thumbnails-swiper swiper swiper-container pp-thumbs-ratio-43">
	<div class="swiper-wrapper">
								<div class="swiper-slide">
									<div class="pp-image-carousel-thumb" role="img" aria-label="" style="background-image:url(https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-24-at-7.41.10-PM-150x150.jpg)"></div>
							</div>
								<div class="swiper-slide">
									<div class="pp-image-carousel-thumb" role="img" aria-label="" style="background-image:url(https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-24-at-7.41.03-PM-150x150.jpg)"></div>
							</div>
								<div class="swiper-slide">
									<div class="pp-image-carousel-thumb" role="img" aria-label="" style="background-image:url(https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-24-at-7.41.36-PM-150x150.jpg)"></div>
							</div>
								<div class="swiper-slide">
									<div class="pp-image-carousel-thumb" role="img" aria-label="" style="background-image:url(https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.21.01-AM-150x150.jpg)"></div>
							</div>
								<div class="swiper-slide">
									<div class="pp-image-carousel-thumb" role="img" aria-label="" style="background-image:url(https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.21.09-AM-150x150.jpg)"></div>
							</div>
								<div class="swiper-slide">
									<div class="pp-image-carousel-thumb" role="img" aria-label="" style="background-image:url(https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.21.17-AM-150x150.jpg)"></div>
							</div>
								<div class="swiper-slide">
									<div class="pp-image-carousel-thumb" role="img" aria-label="" style="background-image:url(https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.30.34-AM-150x150.jpg)"></div>
							</div>
								<div class="swiper-slide">
									<div class="pp-image-carousel-thumb" role="img" aria-label="" style="background-image:url(https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.30.42-AM-150x150.jpg)"></div>
							</div>
								<div class="swiper-slide">
									<div class="pp-image-carousel-thumb" role="img" aria-label="" style="background-image:url(https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.30.49-AM-150x150.jpg)"></div>
							</div>
								<div class="swiper-slide">
									<div class="pp-image-carousel-thumb" role="img" aria-label="" style="background-image:url(https://dependentmedia.com/wp-content/uploads/2026/02/Screenshot-2026-02-25-at-11.30.56-AM-150x150.jpg)"></div>
							</div>
			</div>
</div>
</div>	</div>
</div>
</div>
</div>
	</div>
		</div>
	</div>
</div>
<div class="fl-row fl-row-full-width fl-row-bg-color fl-node-binlj7d2av6x fl-row-default-height fl-row-align-center" data-node="binlj7d2av6x">
	<div class="fl-row-content-wrap">
						<div class="fl-row-content fl-row-fixed-width fl-node-content">
		
<div class="fl-col-group fl-node-240o3l9hrmbc" data-node="240o3l9hrmbc">
			<div class="fl-col fl-node-4tecn02mpaqv fl-col-bg-color" data-node="4tecn02mpaqv">
	<div class="fl-col-content fl-node-content"><h2  class="fl-module fl-module-heading fl-heading fl-heading-text fl-node-c9r8gqapusln" data-node="c9r8gqapusln">
			Designed for the way you work	</h2>
<div  class="fl-module fl-module-rich-text fl-rich-text fl-node-fw34dcvneq5z" data-node="fw34dcvneq5z">
	<div>
<p>DM Flowchart Designer is built around a keyboard-driven workflow inspired by professional design tools. Hold spacebar to pan like Adobe apps, press number keys to add nodes instantly, and use single-key shortcuts for every tool.</p>
<p>An infinite canvas with smooth zoom from 15% to 400% means your diagrams are never constrained. Snap-to-grid keeps everything aligned without the fuss.</p>
</div>
</div>
</div>
</div>
			<div class="fl-col fl-node-onudk4hi5p01 fl-col-bg-color fl-col-small" data-node="onudk4hi5p01">
	<div class="fl-col-content fl-node-content"><div class="fl-module fl-module-list fl-node-1riwyg9udp5m" data-node="1riwyg9udp5m"><div class="fl-list fl-list-regular" role="list">	<div role="listitem" class="fl-list-item fl-list-item-0">
		<div class="fl-list-item-wrapper">
			<div class="fl-list-item-content"><span class="fl-list-item-content-icon"><i class="fl-list-item-icon fas fa-check" aria-hidden="true"></i></span> <div class="fl-list-item-content-text"><p>Adobe-style spacebar hold to pan</p></div></div>		</div>
	</div>
		<div role="listitem" class="fl-list-item fl-list-item-1">
		<div class="fl-list-item-wrapper">
			<div class="fl-list-item-content"><span class="fl-list-item-content-icon"><i class="fl-list-item-icon fas fa-check" aria-hidden="true"></i></span> <div class="fl-list-item-content-text"><p>Number keys 1-6 for instant node creation</p></div></div>		</div>
	</div>
		<div role="listitem" class="fl-list-item fl-list-item-2">
		<div class="fl-list-item-wrapper">
			<div class="fl-list-item-content"><span class="fl-list-item-content-icon"><i class="fl-list-item-icon fas fa-check" aria-hidden="true"></i></span> <div class="fl-list-item-content-text"><p>Infinite canvas with 15%-400% zoom</p></div></div>		</div>
	</div>
		<div role="listitem" class="fl-list-item fl-list-item-3">
		<div class="fl-list-item-wrapper">
			<div class="fl-list-item-content"><span class="fl-list-item-content-icon"><i class="fl-list-item-icon fas fa-check" aria-hidden="true"></i></span> <div class="fl-list-item-content-text"><p>Grid snapping for precise layouts</p></div></div>		</div>
	</div>
		<div role="listitem" class="fl-list-item fl-list-item-4">
		<div class="fl-list-item-wrapper">
			<div class="fl-list-item-content"><span class="fl-list-item-content-icon"><i class="fl-list-item-icon fas fa-check" aria-hidden="true"></i></span> <div class="fl-list-item-content-text"><p>Full undo/redo history</p></div></div>		</div>
	</div>
		<div role="listitem" class="fl-list-item fl-list-item-5">
		<div class="fl-list-item-wrapper">
			<div class="fl-list-item-content"><span class="fl-list-item-content-icon"><i class="fl-list-item-icon fas fa-check" aria-hidden="true"></i></span> <div class="fl-list-item-content-text"><p>Double-click to edit text inline</p></div></div>		</div>
	</div>
		<div role="listitem" class="fl-list-item fl-list-item-6">
		<div class="fl-list-item-wrapper">
			<div class="fl-list-item-content"><span class="fl-list-item-content-icon"><i class="fl-list-item-icon fas fa-check" aria-hidden="true"></i></span> <div class="fl-list-item-content-text"><p>Optional GPU rendering via Metal</p></div></div>		</div>
	</div>
		<div role="listitem" class="fl-list-item fl-list-item-7">
		<div class="fl-list-item-wrapper">
			<div class="fl-list-item-content"><span class="fl-list-item-content-icon"><i class="fl-list-item-icon fas fa-check" aria-hidden="true"></i></span> <div class="fl-list-item-content-text"><section id="workflow" class="highlight"><div class="highlight-inner"><p>Native macOS document support</p></div></section></div></div>		</div>
	</div>
	</div></div></div>
</div>
	</div>
		</div>
	</div>
</div>
<div class="fl-row fl-row-fixed-width fl-row-bg-none fl-node-8lk96i45oumj fl-row-default-height fl-row-align-center" data-node="8lk96i45oumj">
	<div class="fl-row-content-wrap">
						<div class="fl-row-content fl-row-fixed-width fl-node-content">
		
<div class="fl-col-group fl-node-wicgmq0nlb6e" data-node="wicgmq0nlb6e">
			<div class="fl-col fl-node-mn9s3phygle7 fl-col-bg-color" data-node="mn9s3phygle7">
	<div class="fl-col-content fl-node-content"><h2  class="fl-module fl-module-heading fl-heading fl-heading-text fl-node-l97do3uafcib" data-node="l97do3uafcib">
			Keyboard first	</h2>
<div  class="fl-module fl-module-rich-text fl-rich-text fl-node-hpzsnrjg5mix" data-node="hpzsnrjg5mix">
	<div class="section-header">
<p>Every action at your fingertips</p>
</div>
<div class="shortcut-grid">
<div class="shortcut-item"></div>
</div>
</div>
</div>
</div>
	</div>
		</div>
	</div>
</div>
<div  class="fl-module fl-module-box fl-node-82axpi4c9myg" data-node="82axpi4c9myg">
	<div  class="fl-module fl-module-box fl-node-73eqgly4ks8j" data-node="73eqgly4ks8j">
	<div  class="fl-module fl-module-box fl-node-ty8r0qmowzu2" data-node="ty8r0qmowzu2">
	<div  class="fl-module fl-module-rich-text fl-rich-text fl-node-3rf0bunvcei9" data-node="3rf0bunvcei9">
	<p><strong><span class="shortcut-key">1-6</span></strong></p>
</div>
</div>
<div  class="fl-module fl-module-rich-text fl-rich-text fl-node-ge2o63zupw94" data-node="ge2o63zupw94">
	<p>Add node by type</p>
</div>
</div>
<div  class="fl-module fl-module-box fl-node-cgf12ya3irkp" data-node="cgf12ya3irkp">
	<div  class="fl-module fl-module-box fl-node-q5cg0uslyko8" data-node="q5cg0uslyko8">
	<div  class="fl-module fl-module-rich-text fl-rich-text fl-node-ryj7n4zt09ho" data-node="ryj7n4zt09ho">
	<p><strong><span class="shortcut-key">S</span></strong></p>
</div>
</div>
<div  class="fl-module fl-module-rich-text fl-rich-text fl-node-coks0gpqdayf" data-node="coks0gpqdayf">
	<p>Select tool</p>
</div>
</div>
<div  class="fl-module fl-module-box fl-node-bnweur512lvs" data-node="bnweur512lvs">
	<div  class="fl-module fl-module-box fl-node-3uaoyh2ebixt" data-node="3uaoyh2ebixt">
	<div  class="fl-module fl-module-rich-text fl-rich-text fl-node-3n0o9g2kwb1i" data-node="3n0o9g2kwb1i">
	<p><strong><span class="shortcut-key">C</span></strong></p>
</div>
</div>
<div  class="fl-module fl-module-rich-text fl-rich-text fl-node-n7p2l09sztmx" data-node="n7p2l09sztmx">
	<p>Connect tool</p>
</div>
</div>
<div  class="fl-module fl-module-box fl-node-6qtdekhsrb8y" data-node="6qtdekhsrb8y">
	<div  class="fl-module fl-module-box fl-node-nti4z1wasj39" data-node="nti4z1wasj39">
	<div  class="fl-module fl-module-rich-text fl-rich-text fl-node-48nhdoe17lmf" data-node="48nhdoe17lmf">
	<p><strong><span class="shortcut-key">H</span></strong></p>
</div>
</div>
<div  class="fl-module fl-module-rich-text fl-rich-text fl-node-r8wkzsifv36u" data-node="r8wkzsifv36u">
	<p>Pan tool</p>
</div>
</div>
<div  class="fl-module fl-module-box fl-node-xd91i6wcau0k" data-node="xd91i6wcau0k">
	<div  class="fl-module fl-module-box fl-node-rdnzwh7xgolq" data-node="rdnzwh7xgolq">
	<div  class="fl-module fl-module-rich-text fl-rich-text fl-node-do0gpsrb83k9" data-node="do0gpsrb83k9">
	<p><strong><span class="shortcut-key">Space</span></strong></p>
</div>
</div>
<div  class="fl-module fl-module-rich-text fl-rich-text fl-node-1ds2cl039utj" data-node="1ds2cl039utj">
	<p>Duplicate selection</p>
</div>
</div>
<div  class="fl-module fl-module-box fl-node-zkm4psnljy56" data-node="zkm4psnljy56">
	<div  class="fl-module fl-module-box fl-node-pefdlzo7nhcv" data-node="pefdlzo7nhcv">
	<div  class="fl-module fl-module-rich-text fl-rich-text fl-node-x9rha3zvwjql" data-node="x9rha3zvwjql">
	<p><strong><span class="shortcut-key">F</span></strong></p>
</div>
</div>
<div  class="fl-module fl-module-rich-text fl-rich-text fl-node-4v0h87edxpoc" data-node="4v0h87edxpoc">
	<p>Fit all nodes to view</p>
</div>
</div>
<div  class="fl-module fl-module-box fl-node-lpefrsq57gvh" data-node="lpefrsq57gvh">
	<div  class="fl-module fl-module-box fl-node-qwzaxpi0rl85" data-node="qwzaxpi0rl85">
	<div  class="fl-module fl-module-rich-text fl-rich-text fl-node-3rsvemlnjax6" data-node="3rsvemlnjax6">
	<p>⌘ <strong>D</strong></p>
</div>
</div>
<div  class="fl-module fl-module-rich-text fl-rich-text fl-node-hk24nagvzijb" data-node="hk24nagvzijb">
	<p>Duplicate selection</p>
</div>
</div>
<div  class="fl-module fl-module-box fl-node-3iz0a742ejxq" data-node="3iz0a742ejxq">
	<div  class="fl-module fl-module-box fl-node-cmdro3lkx0it" data-node="cmdro3lkx0it">
	<div  class="fl-module fl-module-rich-text fl-rich-text fl-node-xjk8n1t9b3yv" data-node="xjk8n1t9b3yv">
	<p>⌘ <strong>E</strong></p>
</div>
</div>
<div  class="fl-module fl-module-rich-text fl-rich-text fl-node-hlst1xcvz0dn" data-node="hlst1xcvz0dn">
	<p>Export as PNG</p>
</div>
</div>
<div  class="fl-module fl-module-box fl-node-k6lqyhpmj8c9" data-node="k6lqyhpmj8c9">
	<div  class="fl-module fl-module-box fl-node-4lp7nc69uwjz" data-node="4lp7nc69uwjz">
	<div  class="fl-module fl-module-rich-text fl-rich-text fl-node-fhw98mulcqn0" data-node="fhw98mulcqn0">
	<p>⌘ &#8679; <strong>Z</strong></p>
</div>
</div>
<div  class="fl-module fl-module-rich-text fl-rich-text fl-node-jg5r0qcxu64h" data-node="jg5r0qcxu64h">
	<p>Export as PDF</p>
</div>
</div>
<div  class="fl-module fl-module-box fl-node-zqtejk178x9i" data-node="zqtejk178x9i">
	<div  class="fl-module fl-module-box fl-node-ami4k8jfphqz" data-node="ami4k8jfphqz">
	<div  class="fl-module fl-module-rich-text fl-rich-text fl-node-nrtjou4c29vb" data-node="nrtjou4c29vb">
	<p>⌘ <strong>Z</strong></p>
</div>
</div>
<div  class="fl-module fl-module-rich-text fl-rich-text fl-node-e1sc2ur637xo" data-node="e1sc2ur637xo">
	<section id="shortcuts" class="shortcuts">
<div class="shortcut-grid">
<div class="shortcut-item"><span class="shortcut-label">Undo / Redo</span></div>
</div>
</section>
<section class="cta"></section>
</div>
</div>
</div>
<div class="fl-row fl-row-fixed-width fl-row-bg-none fl-node-3f31453aaeb3a fl-row-default-height fl-row-align-center" data-node="3f31453aaeb3a">
	<div class="fl-row-content-wrap">
						<div class="fl-row-content fl-row-fixed-width fl-node-content">
		
<div class="fl-col-group fl-node-cc2c158f096b2" data-node="cc2c158f096b2">
			<div class="fl-col fl-node-95503a4813fb8 fl-col-bg-color" data-node="95503a4813fb8">
	<div class="fl-col-content fl-node-content"><h2  class="fl-module fl-module-heading fl-heading fl-heading-text fl-node-c9a575b56be9d" data-node="c9a575b56be9d">
			Questions &amp; answers	</h2>
</div>
</div>
	</div>
		</div>
	</div>
</div>
<div class="fl-row fl-row-fixed-width fl-row-bg-none fl-node-c79c3081d3646 fl-row-default-height fl-row-align-center" data-node="c79c3081d3646">
	<div class="fl-row-content-wrap">
						<div class="fl-row-content fl-row-fixed-width fl-node-content">
		
<div class="fl-col-group fl-node-d700731b09498" data-node="d700731b09498">
			<div class="fl-col fl-node-e54299026ad9e fl-col-bg-color" data-node="e54299026ad9e">
	<div class="fl-col-content fl-node-content"><div  class="fl-module fl-module-rich-text fl-rich-text fl-node-a81562b5272a8" data-node="a81562b5272a8">
	<style>
.fcd-faq details{border-bottom:1px solid rgba(0,0,0,.12);padding:14px 0}
.fcd-faq summary{cursor:pointer;font-weight:600;font-size:18px;list-style-position:outside}
.fcd-faq details p{margin:10px 0 4px}
</style>
<div class="fcd-faq">
<details>
<summary>Does it work on iPad?</summary>
<p>Yes. DM Flowchart Designer runs natively on Mac (macOS 14 or later) and iPad (iPadOS 17 or later) — one app, one download from the App Store. The full User Guide is built into both versions.</p>
</details>
<details>
<summary>Is Pro a subscription?</summary>
<p>No. Pro is a one-time $9.99 in-app purchase — no subscription, no recurring fees. It unlocks AI flowchart generation, PDF &amp; SVG export, multiple tabs, and all templates. Restore Purchases brings it to your other devices.</p>
</details>
<details>
<summary>What can I do with the free version?</summary>
<p>All the core drawing: unlimited flowcharts on the infinite canvas, all seven node shapes, full styling and text formatting, 7 of the 8 built-in templates, and PNG export.</p>
</details>
<details>
<summary>Where are my files stored?</summary>
<p>Your flowcharts are plain .json files saved wherever you choose on your device. There's no account, no sign-up, and no cloud — your work never leaves your machine unless you share it.</p>
</details>
<details>
<summary>What can I export and import?</summary>
<p>Export PNG for free, or PDF and SVG with Pro — every export renders the full canvas and preserves your text formatting. Import PNG, JPEG, GIF, and TIFF images, or a PDF page; imported PDFs keep their original vector data when you export back to PDF.</p>
</details>
<details>
<summary>How does the AI assistant work?</summary>
<p>Describe the flowchart you need in plain language and the AI builds it on the canvas, styled and connected. It's bring-your-own-key: use your own Anthropic, OpenAI, Google, or xAI API key — stored in your Keychain and sent only to the provider you chose. (Pro feature.)</p>
</details>
<details>
<summary>Is there a manual or tutorial?</summary>
<p>Yes — three ways: the User Guide built into the app (Help &rarr; User Guide on Mac, Menu &rarr; User Guide on iPad), the <a href="/dm-flowchart-designer-user-guide/">full guide on the web</a>, and a <a href="/dm-flowchart-designer-user-guide/#pdf">downloadable PDF manual</a>.</p>
</details>
<details>
<summary>Where do I get help?</summary>
<p>Use the <a href="/contact/">contact form</a> — a real person answers, usually within a business day.</p>
</details>
</div>
</div>
</div>
</div>
	</div>
		</div>
	</div>
</div>
<div class="fl-row fl-row-full-width fl-row-bg-color fl-node-cu2fl03tgrvn fl-row-default-height fl-row-align-center" data-node="cu2fl03tgrvn">
	<div class="fl-row-content-wrap">
						<div class="fl-row-content fl-row-fixed-width fl-node-content">
		
<div class="fl-col-group fl-node-jr9lt7oan53h" data-node="jr9lt7oan53h">
			<div class="fl-col fl-node-2rt9o45hxy0p fl-col-bg-color" data-node="2rt9o45hxy0p">
	<div class="fl-col-content fl-node-content"><h3  class="fl-module fl-module-heading fl-heading fl-heading-text fl-node-u52cqxoverz9" data-node="u52cqxoverz9">
			Ready to start designing?	</h3>
<div  class="fl-module fl-module-button fl-button-wrap fl-button-width-auto fl-button-left fl-button-has-icon fl-node-3j051rpkgaxf" data-node="3j051rpkgaxf">
			<a href="https://apps.apple.com/app/dm-flowchart-designer/id6759627806"  target="_self"  class="fl-button"  >
					<i class="fl-button-icon fl-button-icon-before fab fa-apple" aria-hidden="true"></i>
						<span class="fl-button-text">Download on the App Store</span>
					</a>
	</div>
<div  class="fl-module fl-module-rich-text fl-rich-text fl-node-jcupi4a1evrt" data-node="jcupi4a1evrt">
	<p>Free and Pro versions ($9.99, one-time) · Requires macOS 14 or iPadOS 17</p>
</div>
<div  class="fl-module fl-module-rich-text fl-rich-text fl-node-agmh2xs5nutp" data-node="agmh2xs5nutp">
	<p><a href="https://dependentmedia.com/dm-flowchart-designer-privacy-policy/">Privacy Policy</a></p>
</div>
</div>
</div>
	</div>
		</div>
	</div>
</div>
</div><p>The post <a href="https://dependentmedia.com/dm-flowchart-designer/">DM Flowchart Designer</a> appeared first on <a href="https://dependentmedia.com">Dependent Media</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dependentmedia.com/dm-flowchart-designer/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>DM Flowchart Designer Privacy Policy</title>
		<link>https://dependentmedia.com/dm-flowchart-designer-privacy-policy/</link>
					<comments>https://dependentmedia.com/dm-flowchart-designer-privacy-policy/#respond</comments>
		
		<dc:creator><![CDATA[adminjosh]]></dc:creator>
		<pubDate>Wed, 25 Feb 2026 04:00:10 +0000</pubDate>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://dependentmedia.com/?p=2237</guid>

					<description><![CDATA[<p>Privacy Policy Last updated: February 24, 2026 DM Flowchart Designer (&#8220;the App&#8221;) is developed by Joshua Jordan (&#8220;we,&#8221; &#8220;us,&#8221; or &#8220;our&#8221;). We are committed to protecting your privacy. This Privacy Policy explains how the App handles your information. Data Collection DM Flowchart Designer does&#160;not&#160;collect, store, transmit, or share any personal data or usage information. The&#8230;</p>
<p>The post <a href="https://dependentmedia.com/dm-flowchart-designer-privacy-policy/">DM Flowchart Designer Privacy Policy</a> appeared first on <a href="https://dependentmedia.com">Dependent Media</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading">Privacy Policy</h1>



<p class="wp-block-paragraph">Last updated: February 24, 2026</p>



<p class="wp-block-paragraph">DM Flowchart Designer (&#8220;the App&#8221;) is developed by Joshua Jordan (&#8220;we,&#8221; &#8220;us,&#8221; or &#8220;our&#8221;). We are committed to protecting your privacy. This Privacy Policy explains how the App handles your information.</p>



<h2 class="wp-block-heading">Data Collection</h2>



<p class="wp-block-paragraph">DM Flowchart Designer does&nbsp;<strong>not</strong>&nbsp;collect, store, transmit, or share any personal data or usage information. The App operates entirely offline on your Mac.</p>



<h2 class="wp-block-heading">Local Data Only</h2>



<p class="wp-block-paragraph">All documents, settings, and preferences you create within the App are stored locally on your device. Specifically:</p>



<ul class="wp-block-list">
<li>Flowchart documents are saved as JSON files to locations you choose on your Mac.</li>



<li>Exported images (PNG) and documents (PDF) are saved to locations you choose.</li>



<li>App preferences are stored locally using macOS UserDefaults on your device.</li>
</ul>



<p class="wp-block-paragraph">None of this data is transmitted to us or any third party.</p>



<h2 class="wp-block-heading">No Analytics or Tracking</h2>



<p class="wp-block-paragraph">The App does not include any analytics frameworks, advertising SDKs, or tracking technologies. We do not track your usage, behavior, or any other activity within the App.</p>



<h2 class="wp-block-heading">No Network Access</h2>



<p class="wp-block-paragraph">DM Flowchart Designer does not require or use an internet connection. The App does not make any network requests.</p>



<h2 class="wp-block-heading">No Accounts</h2>



<p class="wp-block-paragraph">The App does not require you to create an account or provide any personal information to use it.</p>



<h2 class="wp-block-heading">Third-Party Services</h2>



<p class="wp-block-paragraph">The App does not integrate with any third-party services that could collect your data.</p>



<h2 class="wp-block-heading">Children&#8217;s Privacy</h2>



<p class="wp-block-paragraph">The App does not collect any personal information from anyone, including children under the age of 13.</p>



<h2 class="wp-block-heading">Changes to This Policy</h2>



<p class="wp-block-paragraph">We may update this Privacy Policy from time to time. Any changes will be posted on this page with an updated revision date.</p>



<h2 class="wp-block-heading">Contact Us</h2>



<p class="wp-block-paragraph">If you have questions about this Privacy Policy, please contact us at:</p>



<p class="wp-block-paragraph"><a href="mailto:joshuacjordan@gmail.com">support@dependentmedia.com</a></p>
<p>The post <a href="https://dependentmedia.com/dm-flowchart-designer-privacy-policy/">DM Flowchart Designer Privacy Policy</a> appeared first on <a href="https://dependentmedia.com">Dependent Media</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dependentmedia.com/dm-flowchart-designer-privacy-policy/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>DM Mobile Location, Privacy Policy</title>
		<link>https://dependentmedia.com/dm-mobile-location-privacy-policy/</link>
					<comments>https://dependentmedia.com/dm-mobile-location-privacy-policy/#respond</comments>
		
		<dc:creator><![CDATA[adminjosh]]></dc:creator>
		<pubDate>Wed, 04 Feb 2026 09:56:47 +0000</pubDate>
				<category><![CDATA[DM Mobile Location]]></category>
		<guid isPermaLink="false">https://dependentmedia.com/?p=2182</guid>

					<description><![CDATA[<p>Overview DM Mobile Location ("the App") is developed by Dependent Media. This privacy policy explains how we collect, use, and protect your information when you use our App. Information We Collect Location Data The App collects your device's geographic location (latitude and longitude) only when you explicitly choose to: Tap on the map to set&#8230;</p>
<p>The post <a href="https://dependentmedia.com/dm-mobile-location-privacy-policy/">DM Mobile Location, Privacy Policy</a> appeared first on <a href="https://dependentmedia.com">Dependent Media</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="fl-builder-content fl-builder-content-2182 fl-builder-content-primary fl-builder-global-templates-locked" data-post-id="2182"><div class="fl-row fl-row-fixed-width fl-row-bg-none fl-node-sn0dirkvtb34 fl-row-default-height fl-row-align-center" data-node="sn0dirkvtb34">
	<div class="fl-row-content-wrap">
						<div class="fl-row-content fl-row-fixed-width fl-node-content">
		
<div class="fl-col-group fl-node-7ykzmo29w46l" data-node="7ykzmo29w46l">
			<div class="fl-col fl-node-nwkesa8iz7xd fl-col-bg-color" data-node="nwkesa8iz7xd">
	<div class="fl-col-content fl-node-content"><div  class="fl-module fl-module-rich-text fl-rich-text fl-node-c9uphyrmwjn0" data-node="c9uphyrmwjn0">
	<h2>Overview</h2>
<p>DM Mobile Location ("the App") is developed by Dependent Media. This privacy policy explains how we collect, use, and protect your information when you use our App.</p>
<h2>Information We Collect</h2>
<h3>Location Data</h3>
<p>The App collects your device's geographic location (latitude and longitude) only when you explicitly choose to:</p>
<ul>
<li>Tap on the map to set a location manually,</li>
<li>Enable GPS mode to use your current location, or</li>
<li>Enable "Auto-Update" in Settings, which sends your location to your website at a chosen interval — including when the App is in the background.</li>
</ul>
<p>Auto-Update is <strong>off by default</strong> and only requests "Always" location permission after you explicitly enable it. When it is active, iOS displays a blue status bar indicator and the App shows a persistent green banner.</p>
<h3>Address Information</h3>
<p>When you set a location, the App uses Apple's geocoding service to look up the street address corresponding to that location.</p>
<h3>Photos</h3>
<p>You can optionally attach a photo to a location update. Photos can be chosen from your photo library or captured with the camera. Before upload, the photo is downscaled on your device and its EXIF metadata (including any GPS coordinates embedded by the camera at capture time) is <strong>stripped</strong>. The camera is only used when you explicitly tap "Take Photo"; the photo library is only accessed when you tap "Choose from Library." Neither is ever accessed in the background.</p>
<h3>Information You Provide</h3>
<ul>
<li><strong>Truck / Location Name</strong>: The name identifying your truck or location on the map (e.g., "Taco Express")</li>
<li><strong>Labels</strong>: Optional text descriptions for a location (e.g., "Parked at Main &amp; 5th")</li>
<li><strong>Custom Message</strong>: Optional text shown when your truck is marked "Closed"</li>
<li><strong>Share Template &amp; Public Page URL</strong>: Optional text and URL used when you tap the in-app Share button</li>
<li><strong>API Credentials</strong>: Your WordPress website URL and API key, stored locally on your device</li>
</ul>
<h2>How We Use Your Information</h2>
<p>Your data is used solely to:</p>
<ul>
<li>Display your position on the map within the App</li>
<li>Send your location (and optional photo) to <strong>your own WordPress website</strong> when you tap "Update Location," or at your chosen interval if Auto-Update is enabled</li>
</ul>
<div class="highlight"><strong>We do not:</strong></p>
<ul>
<li>Collect or store your location, photos, or any other data on Dependent Media servers</li>
<li>Share your data with any third parties</li>
<li>Use your data for advertising or tracking</li>
<li>Sell any of your personal information</li>
<li>Include any analytics, advertising, or tracking SDKs in the App</li>
</ul>
</div>
<h2>Data Transmission</h2>
<p>When you update your location, the following information is sent directly to the WordPress website URL you configured:</p>
<ul>
<li>Latitude and longitude coordinates</li>
<li>Street address (if available)</li>
<li>Truck / location name</li>
<li>Your custom label (if provided)</li>
<li>The photo you attached (if any), after downscale and EXIF stripping</li>
<li>A stable per-device truck identifier, generated on first launch so the same phone always updates the same map pin</li>
</ul>
<p>This data is transmitted using HTTPS encryption (when your endpoint URL uses <code>https://</code>) and is sent only to the server you specify. No third-party servers are involved.</p>
<h3>Sharing From the App</h3>
<p>When you tap the in-app Share button, iOS presents its native share sheet. Any data passed to the destination app (Messages, Mail, Facebook, Instagram, etc.) is controlled by iOS and that destination app. The App does not send this data to Dependent Media or to any other server on your behalf.</p>
<h2>Data Storage</h2>
<h3>On Your Device</h3>
<ul>
<li>Your API credentials, truck name, auto-update preferences, share template, and per-device truck identifier are stored locally on your device</li>
<li>No location history is stored on your device</li>
<li>Photos exist only in memory while you are composing an update; they are not saved to app storage</li>
</ul>
<h3>On Your Website</h3>
<ul>
<li>Location data and photos are stored on your WordPress website</li>
<li>Photos are saved to your WordPress Media Library</li>
<li>You control this data through your WordPress admin panel</li>
<li>Data retention is managed by you through your website</li>
</ul>
<h3>Beyond Your Website</h3>
<p>If you configure the DM Mobile Location WordPress plugin to forward location updates to an outbound webhook (for example, to automatically post to Facebook via Zapier), those forwarded events flow from your WordPress site to the destination you choose. This processing happens on your infrastructure and is under your control; Dependent Media does not receive, store, or inspect that traffic.</p>
<h2>Third-Party Services</h2>
<p>The App uses the following Apple frameworks:</p>
<ul>
<li><strong>MapKit</strong>: To display maps (Apple's privacy policy applies)</li>
<li><strong>Core Location</strong>: To access GPS when you enable GPS mode or Auto-Update</li>
<li><strong>CLGeocoder</strong>: To convert coordinates to street addresses</li>
<li><strong>PhotosUI</strong>: To let you pick a photo from your photo library</li>
<li><strong>UIImagePickerController</strong>: To let you capture a photo with the camera</li>
</ul>
<p>We do not integrate any third-party analytics, advertising, or tracking services.</p>
<h2>Your Rights</h2>
<p>You have the right to:</p>
<ul>
<li><strong>Access</strong>: View the location and photos you've sent through your WordPress admin panel</li>
<li><strong>Delete</strong>: Remove locations and photos through your WordPress admin panel</li>
<li><strong>Revoke</strong>: Disable location, camera, or photo library permissions in iOS Settings at any time</li>
<li><strong>Clear</strong>: Tap "Clear Settings" in the App to remove your stored credentials and preferences</li>
</ul>
<h2>Children's Privacy</h2>
<p>The App is not directed at children under 13. We do not knowingly collect information from children under 13.</p>
<h2>Changes to This Policy</h2>
<p>We may update this privacy policy from time to time. We will notify you of any changes by posting the new policy within the App or on our website.</p>
<h2>Contact Us</h2>
<p>If you have questions about this privacy policy, please contact us at: support@dependentmedia.com</p>
</div>
</div>
</div>
	</div>
		</div>
	</div>
</div>
</div><p>The post <a href="https://dependentmedia.com/dm-mobile-location-privacy-policy/">DM Mobile Location, Privacy Policy</a> appeared first on <a href="https://dependentmedia.com">Dependent Media</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dependentmedia.com/dm-mobile-location-privacy-policy/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>DM Mobile Location Help Center</title>
		<link>https://dependentmedia.com/dm-mobile-location-help-center/</link>
					<comments>https://dependentmedia.com/dm-mobile-location-help-center/#respond</comments>
		
		<dc:creator><![CDATA[adminjosh]]></dc:creator>
		<pubDate>Wed, 04 Feb 2026 09:54:30 +0000</pubDate>
				<category><![CDATA[DM Mobile Location]]></category>
		<guid isPermaLink="false">https://dependentmedia.com/?p=2178</guid>

					<description><![CDATA[<p>🚀 Quick Start Guide WordPress Plugin Upload dm-mobile-location.zip via Plugins → Add New → Upload Activate the plugin Go to Mobile Location → Security and copy your API key Add [dm_mobile_location] to any page iPhone App Open the app and go to Settings Enter your API Endpoint: https://yoursite.com/wp-json/dm-mobile-location/v1/location Enter the API key from your WordPress admin Tap "Test Connection" to verify 🔧&#8230;</p>
<p>The post <a href="https://dependentmedia.com/dm-mobile-location-help-center/">DM Mobile Location Help Center</a> appeared first on <a href="https://dependentmedia.com">Dependent Media</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="fl-builder-content fl-builder-content-2178 fl-builder-content-primary fl-builder-global-templates-locked" data-post-id="2178"><div class="fl-row fl-row-fixed-width fl-row-bg-none fl-node-njy1wb7esp9c fl-row-default-height fl-row-align-center" data-node="njy1wb7esp9c">
	<div class="fl-row-content-wrap">
						<div class="fl-row-content fl-row-fixed-width fl-node-content">
		
<div class="fl-col-group fl-node-l6ehwb2x05ay" data-node="l6ehwb2x05ay">
			<div class="fl-col fl-node-cn3avfdy47ig fl-col-bg-color" data-node="cn3avfdy47ig">
	<div class="fl-col-content fl-node-content"><div  class="fl-module fl-module-rich-text fl-rich-text fl-node-irvy0azmb2td" data-node="irvy0azmb2td">
	<div class="card">
<h2>🚀 Quick Start Guide</h2>
<h3>WordPress Plugin</h3>
<ol>
<li>Upload <code>dm-mobile-location.zip</code> via Plugins → Add New → Upload</li>
<li>Activate the plugin</li>
<li>Go to <strong>Mobile Location → Security</strong> and copy your API key</li>
<li>Add <code>[dm_mobile_location]</code> to any page</li>
</ol>
<h3>iPhone App</h3>
<ol>
<li>Open the app and go to Settings</li>
<li>Enter your API Endpoint: <code>https://yoursite.com/wp-json/dm-mobile-location/v1/location</code></li>
<li>Enter the API key from your WordPress admin</li>
<li>Tap "Test Connection" to verify</li>
</ol>
</div>
<div class="card"></div>
</div>
<div  class="fl-module fl-module-separator fl-node-25wjlvoctz8f" data-node="25wjlvoctz8f">
	<div class="fl-separator"></div>
</div>
</div>
</div>
	</div>
		</div>
	</div>
</div>
<div class="fl-row fl-row-fixed-width fl-row-bg-none fl-node-y0pm5as81d9e fl-row-default-height fl-row-align-center" data-node="y0pm5as81d9e">
	<div class="fl-row-content-wrap">
						<div class="fl-row-content fl-row-fixed-width fl-node-content">
		
<div class="fl-col-group fl-node-ainpmb94gxcd" data-node="ainpmb94gxcd">
			<div class="fl-col fl-node-5resz0ckmdvo fl-col-bg-color" data-node="5resz0ckmdvo">
	<div class="fl-col-content fl-node-content"><div  class="fl-module fl-module-rich-text fl-rich-text fl-node-b8td6ns40zew" data-node="b8td6ns40zew">
	<h2>🔧 Troubleshooting</h2>
<h3>"Invalid API key" error</h3>
<ul>
<li>Make sure the API key matches exactly (no extra spaces)</li>
<li>Check that the plugin is activated</li>
<li>Try regenerating the API key in WordPress: Mobile Location → Security</li>
</ul>
<h3>"Connection failed" error</h3>
<ul>
<li>Verify your website URL is correct</li>
<li>Make sure your site uses HTTPS</li>
<li>Check that WordPress REST API is enabled</li>
</ul>
<h3>Map not showing on website</h3>
<ul>
<li>Verify the shortcode is correct: <code>[dm_mobile_location]</code></li>
<li>Make sure you've set at least one location from the app</li>
<li>Clear any caching plugins</li>
</ul>
<h3>Location not updating</h3>
<ul>
<li>Check that "Location updated" message appears in the app</li>
<li>Clear your website cache</li>
<li>Check the Security Log for any blocked requests</li>
</ul>
</div>
<div  class="fl-module fl-module-separator fl-node-l712swhtk06u" data-node="l712swhtk06u">
	<div class="fl-separator"></div>
</div>
</div>
</div>
	</div>
		</div>
	</div>
</div>
<div class="fl-row fl-row-fixed-width fl-row-bg-none fl-node-nl8f2dbz1rty fl-row-default-height fl-row-align-center" data-node="nl8f2dbz1rty">
	<div class="fl-row-content-wrap">
						<div class="fl-row-content fl-row-fixed-width fl-node-content">
		
<div class="fl-col-group fl-node-6j7kapf013nv" data-node="6j7kapf013nv">
			<div class="fl-col fl-node-hg0w36cjk58r fl-col-bg-color" data-node="hg0w36cjk58r">
	<div class="fl-col-content fl-node-content"><div  class="fl-module fl-module-rich-text fl-rich-text fl-node-k4p6filnvw5m" data-node="k4p6filnvw5m">
	<h2>📝 Shortcode Reference</h2>
<p>Basic usage:</p>
<p><code>[dm_mobile_location]</code></p>
<h3>Options</h3>
<ul>
<li><code>height="500px"</code> - Map height</li>
<li><code>width="100%"</code> - Map width</li>
<li><code>zoom="15"</code> - Zoom level (1-18)</li>
<li><code>show="all"</code> - Show all locations</li>
<li><code>id="loc_xxx"</code> - Show specific location</li>
</ul>
<p>Example with options:</p>
<p><code>[dm_mobile_location height="400px" zoom="14" show="all"]</code></p>
</div>
</div>
</div>
	</div>
		</div>
	</div>
</div>
</div><p>The post <a href="https://dependentmedia.com/dm-mobile-location-help-center/">DM Mobile Location Help Center</a> appeared first on <a href="https://dependentmedia.com">Dependent Media</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dependentmedia.com/dm-mobile-location-help-center/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
