Charlie Mike Log in Get started

Charlie
Mike.

Fill military forms once.
Keep moving.

Store reusable information once, fill directly on the form, and generate a printable PDF that works everywhere.

profile β†’ links β†’ forms β†’ flat PDF

01 Β· The problem

The same information.
Different boxes. Again.

Every form asks for the facts you have already written a dozen times β€” under a different label, in a different order, in a different box. Official fillable PDFs often only work right in one app β€” which is how a “digital” form still ends up printed, handwritten, and scanned.

CM 100Personnel Data Sheet
1. Name (Last, First, MI)MURPHY, KELLY A.
2. RankSGT
CM 205Equipment Custody Record
fname / lnameKELLY  MURPHY
member_gradeSGT / E-5
CM 310Duty Status Request
member_nameKelly Murphy
organizationB CO, 2-11 IN
CM 422Statement of Charges
USER IDMURPHY.KELLY
UNITB CO, 2-11 IN

02 Β· The profile

Set up the facts once.
Reuse them everywhere.

Profile values β€” name, rank, pay grade, unit. Saved once, filled in automatically on every mapped form.

Your own values β€” anything you reuse: duty phone, MOS, weapon serial. You create them; every form can use them.

Built-for-you values β€” “MURPHY, KELLY A.” and your initials are put together from your saved name. Stored once, never out of sync.

One-time values β€” your SSN and DoD ID are typed for one printout and saved nowhere.

03 Β· The link registry

Different labels.
One value.

  • fnameβ†’First name
  • member_gradeβ†’Rank
  • organizationβ†’Unit
  • NAME (Last, First, MI)β†’full name, built for you
  • initialsβ†’initials, built for you

When Charlie Mike learns that two fields mean the same thing, the link is remembered for every future form. Links live on your profile β€” review them, remove them.

Scroll β€” the system separates into its layers. Tap a layer to inspect it.

04 Β· Filling

The form is
the interface.

No wizard, no separate questionnaire. The blank form renders in the browser and live fields sit exactly where their contents will print. Known values arrive prefilled; new answers can be typed straight into the box β€” try the empty ones.

CM 100 (fictional form)Personnel Data Sheet
10. Member signature
digital signature block β€” stays signable (CAC)
What you see is what prints.

The dashed boxes are real inputs sitting exactly where the text prints on the PDF. Flip to print preview β€” nothing moves.

New answers can be kept.

Type a duty phone, then use the β˜† chip: save it as its own reusable variable, or link the box to a profile value so it prefills on every form that maps it.

05 Β· Output

Never depend on the
form’s own fields.

Charlie Mike treats the blank form like a photo in the background. Your answers are drawn on top at saved positions, then pressed into one flat document β€” so it opens the same in every PDF app instead of depending on the form’s fragile built-in fields.

The form is just the background.

The output never uses the form’s built-in fields β€” the ones that break outside one specific app.

Values are drawn, not injected.

Text lands at saved positions, so it looks the same in the browser, in the PDF, and on paper.

Signatures stay signable.

Each mapped signature block becomes one empty digital-signature widget on the output β€” a click-to-sign target for CAC.

06 Β· Privacy

Sensitive values should not
become stored values.

Charlie Mike is built to keep less: the most sensitive numbers a form can ask for are the ones it refuses to save.

  • SSNs and DoD ID numbers are not stored. Keys containing ssn, dod_id or edipi are rejected from saved profile values.
  • One-time pii.* fields exist for one printout. They are never pre-filled, never saved, and never carried forward.
  • Finished PDFs are made in memory and sent straight to you. The document is never written to persistent server storage.
  • Your documents are yours alone. Every document is tied to the signed-in account that created it.

07 Β· Mapping

Every mapped form
expands the system.

New forms are set up in a visual editor: drag fields onto the page, snap them into the printed boxes, map tables, and let the AI suggest placements for you to review β€” it reads each page, then a second pass sweeps for anything missed.

CM 310Duty Status Request
1. member_name
2. rank_grade
3. organization
4. remarks
soldier.full_name
soldier.rank
soldier.unit
Drag, snap, align.

Fields snap into the printed boxes automatically β€” box detection reads the rules on the page and fits the field, clear of the caption.

AI proposes. You review.

The AI reads every page and suggests fields and placements. Nothing is saved without a human looking at it.

Coverage, swept.

A second pass checks the page for anything the first one missed β€” empty boxes don’t slip through.

08 Β· Versions

One shared form.
Your starting values.

A personal version keeps its own starting values β€” the packing list you always issue, the commander block, the boxes you always check β€” without making a copy of the form in the catalog. Your profile values still win; presets fill in the rest.

CM 205Equipment Custody Record
the catalog copyone form, set up once
Unit packing list preset
supply.end_item: RUCKSACK, MOLLE II Β· 24 item rows prefilled
Arms room hand receipt preset
supply.hand_receipt_number Β· commander block Β· liability statement checked
CIF turn-in preset
supply.end_item_nsn Β· condition codes preselected

09 Β· Try it

Enter it once.
Watch it travel.

A working miniature of the system. Type made-up values on the left β€” three different fictional forms fill themselves on the right, each using its own labels.

enter once

Local demonstration β€” values stay on this page and are never submitted or stored. Use made-up information.

CM 100Personnel Data Sheet
1. Name (Last, First, MI)
2. Rank
3. Initials
4. Unit
5. Remarks
CM 205Equipment Custody Record
fname
lname
member_grade
organizationunlinked β€” tap to link
station city
CM 310Duty Status Request
member_name
rank_grade
present station
poc phone

Charlie Mike.

Fill military forms once. Keep moving.

repeated paperwork→reusable structure