diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..236abae --- /dev/null +++ b/.editorconfig @@ -0,0 +1,2 @@ +[*.md] +max_line_length = 80 diff --git a/.prettierrc.yaml b/.prettierrc.yaml new file mode 100644 index 0000000..13ebff2 --- /dev/null +++ b/.prettierrc.yaml @@ -0,0 +1,2 @@ +proseWrap: always +printWidth: 100 diff --git a/20251122005450-Based_HPA_Report_Video_Script.md b/20251122005450-Based_HPA_Report_Video_Script.md new file mode 100644 index 0000000..9ec98da --- /dev/null +++ b/20251122005450-Based_HPA_Report_Video_Script.md @@ -0,0 +1,279 @@ +# Based HPA Report Video Script + + + +In this video I'm going to walk through my **based** home performance assessment report generation +workflow. + +## Introduction + +In today's world of big-tech companies scraping the internet to train their AI models, I've +developed a workflow that runs entirely on services that are self hosted on my own internal servers. +It is a keyboard centric and terminal / text based workflow using tools like neovim as a text editor +and markdown as the document format. + +Markdown is a light weight text based file that is able to easily be converted to other formats, +such as pdf's or html. It allows me to separate the actual text / writing from the formatting of the +document and allows me to store the files in a **git** repository. + +So let's jump in... + + + + + +## Generate a new project + +To generate a new project, I run the following command: + +```bash +cd $(hpa-create Testy.McTestface) + +``` + +This creates a new home performance assessment project from my template and moves into the generated +directory. It also generates a `git` repository that I use to store the template files in. + + + +```bash +tns +``` + +## Review the generated directory structure + + + +This is how I like to structure the project / organize my files. + +1. The `Airflow` directory is where I store TrueFlow reports for the project. +1. The `img` directory is where images are stored. + 1. These get inserted into the final report. +1. There are several photos that get copied from the template, company logo, goals, and signature. +1. The `ManJ` folder is where I store **Manual-J** files. +1. The `justfile` holds common scripts / commands that I use during the process while working on the + template. +1. The `Questions.md` file gets filled out during my site visit. + 1. It is where I gather information from the homeowner about the project, their goals, and how + their current comfort is in the home, my notes from while on site, etc. +1. The `Report.md` is the primary file that I edit after the site visit and gets converted into the + final pdf document that is sent to the customer. +1. The `README.md` is used as a checklist of items that need completed. +1. The `vars.yml` file stores project specific variables that are used in the final report. +1. The `vault.yml` file is an encrypted file that is used to store sensitive customer information, + name, address, etc. + +## Edit the variables + + + +The variables are used for project specific values that get inserted into the final report. Here I +need to update the square footage of the home, the CFM50 for the house, and the LAIR. + +### Edit the vault.yml + +Next, I have to setup the sensitive customer information in the `vault.yml` file, by running. + +```bash +just edit-vault +``` + +This temporarily decrypts the file for me to edit it, then once saved it get's automatically +encrypted again. + + + +## Explore the Report template + + + +This is the template that is generated, the top section here is just for generating the header page + +### Table of Contents + +That is followed by a table of contents, these turn into section links in the final pdf, just makes +it seem more professional and makes it easier to navigate within the file. + +### Introduction + +The introduction section is just some boiler plate text that doesn't need to change. + +### Goals + +Next is the goals section where I will list out the goals and their rankings that were discovered +while on site and are in the `Questions.md` file. + +### Air Leakage + +After the goals, I have some boiler plate language about air leakage and why it matters, this +section uses some of the project specific variables that will get inserted into the final report. I +also link to image of the CFM50 here. + +### Zonal Pressures + +I also generate a table of the zonal pressures that were taken while on site and which zonal +pressures are the highest. With a disclaimer that we use a simplified calculation for connection to +outside, which is to hopefully help the customer realize the relationship with air leakage and +comfort. + +### Observations + +The observations section is where I list out observations I had while on my site visit. I break +these out into HVAC observations and House observations. These are derived from the questions that +were asked as well as the plethora of photos that I take while on site. + +### Load Calculations + +In the load calculations sections I generate a table of the different loads that I performed after +the site visit. Once I model the house in the load calculation software, I always like to see what +happens to the loads at several different air leakage rates. Often one that I call improved which is +a target that I think is easy to achieve without a huge upfront budget, then one that I think is +going to be harder to achieve without a larger upfront budget. + +This allows the homeowner and myself to have an idea of if the equipment sizing may be different if +the were to choose to do shell upgrades to the house, which I will also briefly explain in this +section. + +I also think this table is little bit easier to digest than the full Manual-J reports. I think that +most homeowners may not have a great understanding or may get confused looking through the full +reports (although they get access to the full reports if they do want to dive into them). + +### Airflow / TrueFlow + +In the airflow assessment section, I start off with some boiler plate talking about static pressure +and why it's important. Along with some general ranges of what is considered low, acceptable, and +high. + +I then link to screenshot of the TrueFlow report that was taken while on site and summarize it's +results. + +I will also have at least one TrueFlow Forecast report that also get's a screenshot inserted and +summary. Depending on the project, I may add more than one forecast report here. + +### Summary + +The summary section is where I need to put most of my effort in. This is where I'm able to tie all +the sections together, give my opinions about what may be the best paths to proceed down, as well as +give rough estimates that could be expected for those paths. + +This allows me to not spend my time generating a bunch of quotes for items that they are not +interested in exploring in the end. We can then have a follow up conversation to hone in on what if +anything they would like to get firm prices for. + +## Explore the checklist + + + +Since this video is about my workflow post site visit, I am going to copy some files into the +project. + +```bash +cp ~/tmp/Airflow/* Airflow/ +cp ~/tmp/Questions.md . +cp ~/tmp/img/* img/ +cp ~/tmp/ManJ/* ManJ/ +cp ~/tmp/Report.md . +``` + + + +Now I'll work on checking things off the project checklist. + +1. We've done the site visit items +1. Performed the manual-j +1. Generated TrueFlow forecast and taken screenshots + +## Explore Completed Report.md + +I'll quickly run through some of the completed sections of the report that I copied into the +project. + +1. Goals that were discovered and ranked during the site visit. +1. Zonal pressures that were taken during the site visit. +1. Observations +1. Loads +1. Static summaries / forecasts +1. Summary + +## Generate a pdf and review + +At this point I will generate a pdf, so that I can begin to review what the final report will look +like that gets sent to the client. + +```bash +just pdf +``` + + + +## Cloud Storage + +Once I'm happy with the report, I will copy the appropriate files to "cloud" storage, which is +actually just a Network Attached Storage (NAS) that runs here at my office. + +```bash +just cloud-storage +``` + + + +## Short Links + +At this point, I'm happy with the report. I've generated cloud storage. The final thing that I do to +complete the report is generate short links. + + + +> NOTE: I have self hosted version of something like `bit.ly` that also runs here on my servers. +> This allows me to generate links and have a little bit of insight into how many times they were +> clicked / visited. + +Back in the NAS interface, I have several links that I need to generate that allows temporary access +for the customer to access their files on my server. For security reasons, I will only allow access +for a period of time (typically 30 days). This gives the customer time to download the files and +store them on their own devices. + + + +At the bottom of the report is where I have references to the links that get used throughout the +document. I'm going to paste the link that we just created to the document folder here. Next, I can +generate a short link using some keybinds that I setup in neovim. This prompts me for a few inputs +that are needed. + +1. Tags +1. Expiration +1. Short code (not needed) + +As you can see, that generated a short link and replaces it here on the line that I'm in. + + + +## Finalize the Report + +Once I've completed the short links, then I need to regenerate the pdf one last time and just +confirm that the links work. + +Once I've confirmed that, then I run `just cloud-storage` for the final time to make sure that the +final report is copied into the clients folder. I would then email the final report to the client +and I can complete the rest of the checklist. + +## Commit changes to git + +Once all that is done, I will commit the changes to all my template files. + +```bash +git add . +git commit -m "Finalizes report" +git push +``` + +## Summary + +That is my workflow for generating home performance assessment reports. I know that this workflow +may seem a bit complex, but once it is used for it becomes muscle memory. It removes my reliance on +big-tech companies and their clunky software tools. I do not need to fumble around formatting the +document by using a mouse (gross)! This allows me to focus on the tasks that I need to spend the +majority of my time on efficiently and offers consistent reports for my clients. + +I hope you've enjoyed this video, let me know what you think in the comments below and don't forget +to like and subscribe! Thank you for watching, I appreciate your time!