Joseph Daws, Jr.
Table of Contents
About
Hello, my name is Joseph (Joe if you prefer monosyllabic names). I build software to help humans thrive. I believe that software can be used to improve the state of the world despite it’s challenges and potential dangers. One lens through which I view my work is as a string of problem definitions and solving those problems. Iterating on my understanding of the problem domain and the world is key. Projects I have worked on professionally reside in private repositories, but for some of my creative and side projects please see my github page.
Figure 1: Taken around Jan. 2024
I believe machine learning (and software in general) can be used to improve the state of the world. However, deploying these technologies requires a nuanced understanding of specific business and problem spaces. My belief in the possibility of positive outcomes guides my approach to building. Good software goes a step beyond solving a problem, it should enable humans to live a better life.
I am currently a Senior Machine Learning Software Engineer at One Medical where I am working on automating laborious and monotonous tasks to give time back to health care providers so that they may better connect with their patients.
Work
Below is a non-exhaustive list of resent work projects I have had the pleasure to work on.
Document Summarization
Technologies Used
Python
, Anthropic Claude
, AWS Lambda
, AWS DynamoDB
, AWS IAM
, AWS SNS/SQS
, Terraform
Problem Description To achieve the highest quality in patient care One Medical’s providers need to be able to spend more time connecting and understanding their patients.
Solution One area they might save time is gleaning the most relevant and important information from the documents associated with their patients. I developed a system which generates summaries of all patient’s documents which is consumed by an EHR and displayed along side the rendered document in an EHR UI.
Automated Fax Routing
Technologies Used
Python
, Tensorflow
, FastAPI
, AWS Lambda
, AWS IAM
, AWS SNS/SQS
, Terraform
Problem Description A team of Fax routers receives more faxes than they are able to process given their team’s service level agreement.
Solution To lessen the burned of the fax routing teams’ workload, I extended a routing system to automatically processing incoming faxes. The system predicted key identifiers for each document. These predictions were forwarded to an EHR which took an action based on the predicted values.
Tools
For Machine Learning Microservices I’ve used and enjoy working with Python
, AWS SageMaker
,
Docker
, AWS Lambda
, FastAPI
, AWS ECS
to build microservices that serve machine learning
model predictions. I think this stack offers a path to building maintainable and
efficient machine learning microservices in a variety (but not all) contexts.
For Web Applications Some technologies I am excited about are Haskell
, IHP Platform
, NixOS
. I expect to be able to use these build a robust, easily maintainable, and easily modifiable web applications. I am working
on a personal blog/second brain using IHP now. Please check back for updates on this project.
I like learning about new tools New problem domains (I mean both the sense that the problem domain is truly novel and the sense that I have no experience in the domain) likely have established or new tech stacks that are better candidates to solving the problem than what I have used previously. It’s a pleasure to have the time to find a good solution and balance the trade-offs when approaching a new problem. I don’t believe in the existence of a perfect tech stack.
Log
I keep some notes and ideas in a log. You might be interested in it if you want to see some ideas for applications or progress on some of my personal projects. Another reason you might be interested in this page is that entries may point to interesting technologies.
Trivia
One can learn about another by contemplating the trivia that they find interesting, or that’s what I believe at least. Here are some trivia flashcards that I think are fascinating tidbits of information: trivia.
Site
Overview The content of this page is from an org file,
index.org
in the github repo. the other files in the repository
contain the rendered content and the style information.
Styling The styling is injected into the project using the #+SETUPFILE
option in
the org file. The css that defines the style is stated in #+HTML_HEAD:
lines
in the theme file. All of the styling is contained in the file gray.theme
.
The element selectors and classes get injected in the style tag in the generated html
file by org-publish
.
Workflow For immediate feedback on changes we use impatient-mode
which in doomemacs
can be added with the package below in the packages.el
file used by doom.
(package! impatient-mode)
Open the html file associated with the index.org
file using M-x impatient-mode
of Edit the index.org
file with content changes. Then use M-x httpd-start
in
the index.html
buffer to start serving the html at the path
localhost:8080/imp/live/index.html
With a few small changes to the configuration of doom-emacs the newly generated html file on disk will also update the html buffer which impatient-model serves. In the configuration that I use for doom-emacs I added the following hooks
(defun auto-revert-html-buffer () (when (and buffer-file-name (string-equal (file-name-extension buffer-file-name) "html")) (auto-revert-mode 1))) ;; reload html file associated buffers when they change on disk (add-hook 'find-file-hook #'auto-revert-html-buffer) (defun org-publish-refresh-html (_plist _project) "Refresh the HTML buffer if it is open after publishing." (let ((html-file (org-publish-get-target-file (buffer-file-name) 'html))) (when (get-file-buffer html-file) (with-current-buffer (get-file-buffer html-file) (revert-buffer t t t))))) ;; reload html buffer after org-publish (add-hook 'org-publish-after-publishing-hook #'org-publish-refresh-html)
See the README in the github repo for doomemacs
configuration.
Test Driven Development coming soon
Inspiration
[1] Org mode publish tutorial [2] the theme of this page is based on gray from org-html-themes
Expedition
What’s the web without it’s connections?
Online retailers of fascinating objects Proveyors of fine papers an pens Baum-kuchen
Wonderful bicycle parts sim works USA
Bicycle frames made in Knoxville, TN muskrat bikes
Software 100 rabbits