/CHARACTER
/VERSION 1.0 VERSION/
/NAME Joe Knight NAME/ /LEVEL 1 LEVEL/ /CALLING knight CALLING/ /SPECIES Human SPECIES/ /VISION VISION/ /FATE positive FATE/
/DESCRIPTION Big dumb guy in a tin can. DESCRIPTION/ /SIZE SIZE/
/ATTRIBUTES
/STRENGTH Strong STRENGTH/
/CONSTITUTION Above Average CONSTITUTION/
/DEXTERITY Average DEXTERITY/
/INTELLIGENCE Average INTELLIGENCE/
/WISDOM Average WISDOM/
/CHARISMA Average CHARISMA/
ATTRIBUTES/
/KNACKS
/ACROBATICS ACROBATICS/
/ARCANA ARCANA/
/ATHLETICS checked ATHLETICS/
/BLUFF BLUFF/
/DIPLOMACY DIPLOMACY/
/ENGINEERING ENGINEERING/
/HEALING HEALING/
/HISTORY checked HISTORY/
/INSIGHT INSIGHT/
/INTIMIDATION INTIMIDATION/
/LEADERSHIP checked LEADERSHIP/
/NATURE NATURE/
/PERCEPTION PERCEPTION/
/RELIGION RELIGION/
/STEALTH STEALTH/
/STREETWISE STREETWISE/
/SURVIVAL checked SURVIVAL/
/THIEVERY THIEVERY/
KNACKS/
/PASSIVEPERCEPTION PASSIVEPERCEPTION/ /HITPOINTS HITPOINTS/ /MAXHITPOINTS MAXHITPOINTS/ /SPEED SPEED/
/PASSIVEINSIGHT PASSIVEINSIGHT/ /HEALINGVALUE HEALINGVALUE/ /ENCUMBRANCE ENCUMBRANCE/
/INITIATIVE INITIATIVE/ /POWER POWER/ /MAXPOWER MAXPOWER/ /LOAD LOAD/ /MAXLOAD MAXLOAD/
/DAMAGEREDUCTION DAMAGEREDUCTION/ /WEALTH Above Average WEALTH/ /WEALTHBONUS WEALTHBONUS/
/PERSONALITY
/ATTRIBUTE /ATTRIBUTENAME Strength: ATTRIBUTENAME/ /ATTRIBUTEVALUE I never doubt or question myself. ATTRIBUTEVALUE/ ATTRIBUTE/
/ATTRIBUTE /ATTRIBUTENAME Weakness: ATTRIBUTENAME/ /ATTRIBUTEVALUE I don't listen to other people. ATTRIBUTEVALUE/ ATTRIBUTE/
/ATTRIBUTE /ATTRIBUTENAME Goal: ATTRIBUTENAME/ /ATTRIBUTEVALUE Defeat the enemies of the Protectors. ATTRIBUTEVALUE/ ATTRIBUTE/
PERSONALITY/
/BACKGROUND
/BACKGROUNDITEM
/BACKGROUNDELEMENT Birth BACKGROUNDELEMENT/
/BACKGROUNDVALUE Omen BACKGROUNDVALUE/
/BACKGROUNDTEXT
Birds fell dead from the sky when Joe was born. This is rumored to foretell a terrible misfortune which will befall him.
BACKGROUNDTEXT/
BACKGROUNDITEM/
/BACKGROUNDITEM
/BACKGROUNDELEMENT Occupation BACKGROUNDELEMENT/
/BACKGROUNDVALUE Soldier BACKGROUNDVALUE/
/BACKGROUNDTEXT
Joe is a junior member of the Protectors; though not a knight he aspires to be one soon.
BACKGROUNDTEXT/
BACKGROUNDITEM/
/BACKGROUNDITEM
/BACKGROUNDELEMENT Society BACKGROUNDELEMENT/
/BACKGROUNDVALUE Nobility BACKGROUNDVALUE/
/BACKGROUNDTEXT
Although Joe's family are not particularly prominent, they are an old landed family.
BACKGROUNDTEXT/
BACKGROUNDITEM/
/BACKGROUNDITEM
/BACKGROUNDELEMENT Geography BACKGROUNDELEMENT/
/BACKGROUNDVALUE Village BACKGROUNDVALUE/
/BACKGROUNDTEXT
Joe grew up in the country village which adjoins his family's small estate. He knows little of life in the outside world.
BACKGROUNDTEXT/
BACKGROUNDITEM/
/BACKGROUNDITEM
/BACKGROUNDELEMENT Bonds BACKGROUNDELEMENT/
/BACKGROUNDVALUE Protectors BACKGROUNDVALUE/
/BACKGROUNDTEXT
As a member of the Protectors, Joe is well-acquainted with some of the hierarchy of the order, who see him as a solid recruit who has their support.
BACKGROUNDTEXT/
BACKGROUNDITEM/
BACKGROUND/
/PROFICIENCIES
/PROFICIENCY arming sword PROFICIENCY/
/PROFICIENCY lance PROFICIENCY/
/PROFICIENCY dagger PROFICIENCY/
/PROFICIENCY mace PROFICIENCY/
PROFICIENCIES/
/BOONS
/BOON Mighty Defender BOON/
/BOON Expert Rider BOON/
/BOON Forceful Defender BOON/
/BOON Student of the Sword BOON/
BOONS/
/EQUIPMENT
/ITEM arming sword ITEM/
/ITEM mail armor ITEM/
/ITEM shield ITEM/
/ITEM tabard ITEM/
EQUIPMENT/
CHARACTER/
This actually renders.

Although it lacks any ability to calculate all the derived values, I don't think THAT is actually real hard. I have a theory about how to write a fairly modest Javascript library that will basically just let you drop in a function to represent basically any element. So, if those functions are in GCP storage buckets, like the current HOML HTML file is, then I just need to create a convention of what the URL would be for any arbitrary function that represents any specific "thing" that can be on a character sheet. The function just fills in and does whatever calculations. If the 'thing' adds +1 to your Damage Reduction, well that's a pretty small amount of Javascript! See what I mean?
Beyond that, there's a kick-ass Dice Roller library that can take a Javascript object as 'context' and then you can type stuff like '2D8+STRBONUS' or whatever, and it will roll it all for you and look up bonuses, etc. You can add functions too, so you could BASICALLY tell it to roll an attack, with a bit of cleverness, which can be simplified with a bit of UX wizardry.
So, if you had a page that had all that logic on it, you don't need to build up some fancy server side at all. And then its actually really easy to put together the data for all these 'things', like feats, because I ALREADY HAVE IT, its all in the hairball source of the rules! I can render it to XML or JSON or whatever and drop it in a bucket, and a character sheet can find it...