Back to all case studies
Native Android AppOpen Source2025

PurplePrint

A fully offline Android Markdown editor with on-device PDF export.

Sole Developer Evidence-led build notes

0

network permissions

The application is designed to work without internet access.

2

adaptive layouts

Tabs on phones and split editor/preview on tablets.

1

local document engine

The parser and PDF renderer run on the device.

01 / Visual evidence

Screenshots and workflow

PurplePrint Markdown editor showing split preview

Split editor and preview

Markdown source and rendered document stay visible together on larger screens.

sanitized view

Print-ready workflow

The document moves from local parsing to Android’s native PDF and print surfaces.

02 / System design

Architecture diagram

System flow
PUBLIC VIEW
01

Editor

  • Jetpack Compose
  • Material 3
  • Adaptive phone/tablet UI
02

Document engine

  • Block parser
  • Inline parser
  • AST renderer
03

Device output

  • PdfDocument
  • PrintManager
  • Android print dialog

PurplePrint has no network dependency: Markdown is parsed into an AST and laid out into a PDF entirely on the Android device.

Evidence

Sanitized report

Offline and privacy controls from the Android build review. Document content and device identifiers are intentionally absent.

Internet permissionNot declaredPASS
Document processingOn-devicePASS
PDF outputNative PdfDocumentINFO
Backup defaultDisabledPASS
MODE: offline-first
PERMISSIONS: network access absent
REDACTION: source document and device metadata removed

03 / Verification

Testing methodology

01

Test parser coverage

Checked block and inline Markdown combinations, empty documents, long lines, and malformed syntax against the AST renderer.

02

Validate layout output

Compared preview and generated PDF across headings, lists, code, page breaks, and print dialog handoff.

03

Exercise device states

Verified phone tabs, tablet split view, theme changes, rotation, and offline launch behavior.

04 / Ownership

What I personally contributed

Clear ownership matters in security work. These are the decisions and deliverables I directly handled for this project.

  • Sole developer responsible for the native Android architecture and product decisions.
  • Wrote the custom block-level and inline Markdown parser and AST model.
  • Implemented the PDF layout engine with Android PdfDocument and PrintManager.
  • Designed the adaptive Compose UI, themes, permission posture, and offline behavior.