feat: Adds hpa-video script.
This commit is contained in:
2
.editorconfig
Normal file
2
.editorconfig
Normal file
@@ -0,0 +1,2 @@
|
||||
[*.md]
|
||||
max_line_length = 80
|
||||
2
.prettierrc.yaml
Normal file
2
.prettierrc.yaml
Normal file
@@ -0,0 +1,2 @@
|
||||
proseWrap: always
|
||||
printWidth: 100
|
||||
279
20251122005450-Based_HPA_Report_Video_Script.md
Normal file
279
20251122005450-Based_HPA_Report_Video_Script.md
Normal file
@@ -0,0 +1,279 @@
|
||||
# Based HPA Report Video Script
|
||||
|
||||
<!-- IMPORTANT: Make sure showmethekey is open, make sure that switching from web-cam to screen share works! -->
|
||||
|
||||
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...
|
||||
|
||||
<!-- NOTE: Switch to screen share with web-cam -->
|
||||
|
||||
<!-- NOTE: Run fastfetch / have it on screen, so that I can say "I am running on arch linux (btw)"-->
|
||||
|
||||
## 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.
|
||||
|
||||
<!-- NOTE: create a tmux session -->
|
||||
|
||||
```bash
|
||||
tns
|
||||
```
|
||||
|
||||
## Review the generated directory structure
|
||||
|
||||
<!-- NOTE: open yazi to browse the 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
|
||||
|
||||
<!-- NOTE: Open vars.yml -->
|
||||
|
||||
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.
|
||||
|
||||
<!-- NOTE: Show that it is now encrypted -->
|
||||
|
||||
## Explore the Report template
|
||||
|
||||
<!-- NOTE: Open report in neovim -->
|
||||
|
||||
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
|
||||
|
||||
<!-- NOTE: Copy pre-generated files -->
|
||||
|
||||
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 .
|
||||
```
|
||||
|
||||
<!-- NOTE: Briefly show in yazi the file structure now -->
|
||||
|
||||
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
|
||||
```
|
||||
|
||||
<!-- NOTE: Scroll through the first generation of the 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
|
||||
```
|
||||
|
||||
<!-- NOTE: Show the web interface to nas, refresh the page to show a new directory was created -->
|
||||
|
||||
## 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: Show shlink web interface -->
|
||||
|
||||
> 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.
|
||||
|
||||
<!-- NOTE: Back in Report.md -->
|
||||
|
||||
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.
|
||||
|
||||
<!-- NOTE: Repeat for other links -->
|
||||
|
||||
## 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!
|
||||
Reference in New Issue
Block a user