AITech · EXP #07
Markly
A client-side document-to-Markdown converter that auto-detects DOCX, TXT, JSON or Markdown input, normalizes formatting on conversion, and validates the result across errors, warnings and suggestions.
All experimentsProblems solved
- I waste time cleaning up formatting when I copy text between different places
Context
Turning a Word doc or a pasted block of inconsistent Markdown into something clean enough to commit to a repo or paste into a CMS usually means manual cleanup — fixing spacing, list markers and heading levels by hand. Markly set out to do that cleanup automatically, entirely in the browser, and to be honest about what it couldn't fix on its own.
The challenge
The product needed to auto-detect and normalize several very different input formats — DOCX, TXT, JSON, and already-written Markdown — into one consistent output, while clearly separating what got fixed automatically from what still needed a human decision.
Research
Collected inconsistently formatted Markdown from several real sources — exported docs, scraped content, hand-written notes — and used the recurring problems (double spacing, inconsistent list markers, missing blank lines) to define what 'clean' needed to mean.
Insights
The key findings that shaped the direction.
Format detection has to be automatic, not a dropdown
Making someone specify whether their input is DOCX, JSON or Markdown before converting adds a decision nobody wants to make — detecting it from the content itself removes a step entirely.
Cleaning and validating are two different jobs
Auto-fixing spacing and list markers is safe to do silently; flagging a broken link or an ambiguous heading level needs a human decision — conflating the two would make either the fixes untrustworthy or the flags noisy.
A validation list beats a single pass/fail
Splitting results into errors, warnings and suggestions gives someone a prioritized list to work through, instead of a single red flag that doesn't say what to do next.
How decisions were made
- 01
Auto-detect format from content, not a picker. Built detection around the input's own shape — a leading { or [ for JSON, a # for Markdown — so converting starts the moment something is pasted in.
- 02
Separate silent cleanup from flagged issues. Let Format Mode silently normalize headings, lists and spacing on conversion, while routing anything genuinely ambiguous into the Validation panel instead of guessing.
- 03
Categorize validation by what it means for the user. Split validation results into Errors, Warnings and Suggestions with a Fix All action, so a long list of issues still resolves down to a clear next step.
- 04
Keep every document entirely client-side. Ran conversion and validation entirely in the browser with no upload step, since the documents people convert are often internal drafts nobody wants leaving their machine.
Solution
A client-side document-to-Markdown converter that auto-detects DOCX, TXT, JSON or Markdown input, normalizes formatting on conversion, and validates the result across errors, warnings and suggestions.
- Automatic format detection across DOCX, TXT, JSON and Markdown input
- Format Mode that normalizes headings, lists and spacing as it converts
- A Validation panel categorizing issues into Errors, Warnings and Suggestions with Fix All
- One-click copy or .md download, with nothing ever uploaded to a server
Keep exploring
More experiments worth trying.
More time for what really matters.

