Compare commits

..

No commits in common. "master" and "feature/solid-article" have entirely different histories.

15 changed files with 2873 additions and 4079 deletions

BIN
bun.lockb

Binary file not shown.

View File

@ -19,7 +19,6 @@
packages = with pkgs; [
# Add packages here...
bun
nodejs
];
# Define the shell that will be executed.

6734
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
<footer class="flex w-full items-center justify-center">
<p class="mx-2 my-10 py-2 text-sm text-gray-600">&copy; 2026, Hayden Hargreaves</p>
<p class="mx-2 my-10 py-2 text-sm text-gray-600">&copy; 2025, Hayden Hargreaves</p>
<a
href="https://www.linkedin.com/in/haydenhargreaves/"
aria-label="LinkedIn Profile"

View File

@ -1,17 +1,12 @@
<div class="">
<h2 class="border-b-1 border-gray-600 py-2 text-xl font-semibold text-blue-300">TLDR & RESUME</h2>
<h2 class="py-2 text-xl font-semibold text-blue-300 border-b-1 border-gray-600">TLDR & RESUME </h2>
<p class="py-4 text-gray-200">
<span class="font-semibold">TLDR:</span> I like to program, I have 6+ years of experience in over
<span class="font-semibold">TLDR:</span> I like to program, I have 5+ years of experience in over
a dozen programming languages. Developer experience and tooling is my expertise.
</p>
<p class="py-4 text-gray-200">
My resume can be downloaded
<a
href="HaydenHargreavesResume.pdf"
download
class="group relative inline-block no-underline"
target="_blank"
>
My resume can be downloaded
<a href="HaydenHargreavesResume.pdf" download class="group relative inline-block no-underline" target="_blank">
<span class="relative z-10 font-semibold text-gray-300">here.</span>
<span
class="absolute bottom-0 left-0 h-[3px] w-0 bg-blue-300 transition-all duration-300 group-hover:w-full"

View File

@ -85,8 +85,7 @@
'SSH',
'PostgreSQL',
'Neovim',
'Grafana K6',
'Bubble Tea'
'Grafana K6'
];
skills.sort((a, b) => b.rating - a.rating);

View File

@ -1,124 +0,0 @@
Date: 2026/05/11
Desc: Observe outbound HTTP requests in real time - without modifying your code.
# Termtap - Debug Your Backend
<img src="/journal/termtap.png" alt="Termtap demo screenshot." width="500">
<br>
###### Author: Hayden Hargreaves
###### Published: 05/11/2026
## Problem
Backend API debugging is still largely guesswork in 2026. Web engineers get rich browser DevTools; server engineers get partial logs and speculation.
Backend engineers lack a simple, reliable way to see outbound API traffic from their local apps or CLI tools. Browser tools do not cover this workflow,
and debugging using logs is incomplete and slow. As a result, developers spend too much time guessing what requests are sent, what went wrong,
what responses they got and where integration breaks. Backend, terminal-first engineers are even worse off. Heavy, industrial tools exist, but they
do not suit the needs of a developer who does not want to leave their terminal. They need a local, low-friction tool that exposes HTTP/S
behavior without requiring code changes, dashboard hopping or industrial overhead.
## What is Termtap
Termtap is a terminal-based proxy inspector for backend engineers. You run your code using the `tap` CLI and Termtap shows outbound HTTP/S traffic
in real time. You can see requests, responses, status codes and failures - all without changing your code.
Termtap was built for local iteration, not enterprise observability. Instead of dashboards, agents and long setups, Termtap is small and direct:
a single command, immediate visibility with a keyboard-driven workflow. If you live in the terminal and need to understand what your app is sending
over the network, Termtap is the quickest way from "something is wrong" to "here's exactly why."
### How it Works
Termtap wraps the command you run, starts a local proxy and streams HTTP/S traffic into a TUI.
#### Wrap your command
Run your app normally, just prefixed with the `tap` CLI.
```bash
tap run -- go run .
```
Termtap launches your process with proxy environment variables set, so outbound requests flow through Termtap automatically.
#### Capture traffic in real time
While your app runs, Termtap captures request/response metadata and timing information as they occur. You can immediately see what endpoints
are hit, what methods were used, response status and where failures occur.
#### Inspect HTTPS locally
For HTTPS inspection, run the `cert` command.
```bash
tap cert
```
Termtap creates (or reuses) a local CA, shows where it lives, and prints trust instructions for your OS. Once trusted, HTTPS traffic
can be inspected locally on your machine. More details regarding certs and why we need them can be found in the [docs](https://termtap.dev/docs#https-certs).
#### Investigate the terminal
Use keyboard-first navigation to move through requests, inspect details, and filter with search. No browser tabs, no dashboards, and
no instrumentation changes in your app code.
## Why Now
With microservices on the rise, applications have added layers of communication between systems that *might* not need them. Debugging
large webs of microservices is cumbersome without a strong observability tool. Termtap provides a simple way to see what each service
is "seeing" and "saying," allowing a developer to find the cause of issues faster.
## Project State
Termtap is currently in beta; usable today, however, it is intentionally narrow and improving quickly through real developer feedback.
Right now, Termtap is strongest for local debugging of outbound HTTP/S traffic from terminal-run apps. The core workflow is stable:
wrap a command, observe live traffic, inspect failures, and iterate without changing application code.
This is not a polished, enterprise-grade observability platform. Expect rough edges, missing features, and occasional breaking changes as
the tool evolves. That tradeoff is deliberate: optimize for speed, focus, and a tight terminal-first workflow over broad surface area.
If youre a backend developer who lives in the terminal and wants to shape the direction of the tool, youre the ideal early user. Feedback,
edge cases, and bug reports are especially valuable right now.
### Who it's For
Termtap is built for backend developers who debug API integrations from the terminal and want immediate visibility into outbound HTTP/S traffic.
It is **for you** if:
- You run services, scripts, or CLI tools locally and need to see real requests in real time
- You prefer terminal-native workflows over browser tabs and dashboards
- You want low setup and no app instrumentation just to debug network behavior
- You care more about fast feedback loops than enterprise observability features
It is **not for you** if:
- You need a full production observability platform with team-wide dashboards and alerting
- You want long-term analytics, tracing infrastructure, or hosted telemetry pipelines
- You are looking for a GUI-first workflow as your primary interface
- You expect a fully polished, zero-edge-case product today
Termtap is intentionally opinionated: local-first, terminal-first, and focused on the shortest path from “something failed” to “I can see exactly why.”
### What's Coming
The goal of Termtap is to remain lightweight and **simple**, so the feature list is small. However, there is room for additions and improvement.
Reliability is the focus, but meeting user needs comes first. Some possible features include **request replay**, **payload modification**,
**standalone proxy functionality** or **multi-process support**.
### How You Can Use It
Im looking for 1520 terminal-first backend engineers to try Termtap on real integration bugs.
If thats you:
- install from GitHub Releases
- run it on one failing API flow
- tell me what was confusing, missing, or slow
GitHub: https://github.com/haydenhargreaves/termtap
Docs: https://termtap.dev/docs

View File

@ -129,7 +129,6 @@
me to develop a strong understanding of IoT networks and the AWS ecosystem. Furthermore, it
has opened my eyes to the world of research and has introduced me to many bright individuals.
</p>
<p class="mb-4 w-full text-sm text-gray-500 md:w-3/4">Last updated August, 2025.</p>
</div>
</div>
@ -160,8 +159,8 @@
<h2 class="mt-14 py-2 text-xl font-semibold text-blue-300">CONTACTS</h2>
<div class="mb-4">
<h3 class="text-sm font-semibold text-gray-200">Email</h3>
<a href="mailto:hayden@gophernest.net"
><p class="py text-xs text-gray-200">hayden@gophernest.net</p></a
<a href="mailto:hhargreaves2006@gmail.com"
><p class="py text-xs text-gray-200">hhargreaves2006@gmail.com</p></a
>
</div>
<div class="my-4">
@ -188,7 +187,7 @@
<div class="my-4">
<h3 class="text-sm font-semibold text-gray-200">Gitea</h3>
<a href="https://git.gophernest.net/azpect" target="_blank"
><p class="py text-xs text-gray-200">git.gophernest.net</p></a
><p class="py text-xs text-gray-200">git.gophernest</p></a
>
</div>
</div>

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 476 KiB

View File

@ -1,67 +1,19 @@
[
{
"title": "Termtap",
"description": "Tap into your app's API traffic from the terminal. Observe outbound HTTP requests in real time - without modifying your code.",
"date": "April, 2026 - Current",
"title": "TCP Server Notification System",
"description": "Server/Client TCP notification system for communication between a server and many clients. A custom event loop and protocol was created to handle the communication between the server and clients.",
"date": "February, 2025 - Current",
"stack": [
"Go",
"Bubble Tea"
],
"image": "projects/termtap.png",
"imageAlt": null,
"link": "https://github.com/haydenhargreaves/termtap"
},
{
"title": "Gim",
"description": "Gim is a modern, lightweight text editor written in Go that brings the power of vim-style modal editing to your terminal. Built on the excellent Charm stack, it combines the speed of Go with the elegance of functional UI patterns.",
"date": "January, 2026 - April, 2026",
"stack": [
"Go",
"Bubble Tea"
],
"image": "",
"imageAlt": null,
"link": "https://git.gophernest.net/azpect/Gim"
},
{
"title": "Markdown to HTML Transpiler",
"description": "A C++ tool that converts Markdown files into clean HTML. It uses a recursive descent parser to recognize headings, lists, and formatting, then outputs valid HTML for easy web publishing or automation. The code is modular, modern, and designed to be both reliable and easy to extend. I have plans to migrate this project to a different tech stack in the near future.",
"date": "September, 2025 - Current",
"stack": [
"C++"
"Go"
],
"image": null,
"imageAlt": null,
"link": "https://git.gophernest.net/azpect/MarkdownToHtmlTranspiler"
},
{
"title": "Potion - Web App",
"description": "A web-based recipe sharing platform allows users to discover, submit, and share recipes with a community online. This application is built using Go for the backend, leveraging its high performance and concurrency capabilities to efficiently serve many users at once.",
"date": "July, 2025 - Current",
"stack": [
"Go",
"Typescript",
"React"
],
"image": "projects/potion.png",
"imageAlt": "Image of Potion, the web app.",
"link": "https://git.gophernest.net/azpect/Potion"
},
{
"title": "File Server Manager - Web App",
"description": "Simple web UI for accessing a server's file system. The UI allows for creation, removal and moving of files and directories. This project was used as a way to refresh my memory on React before interviewing for a role.",
"date": "February, 2025 - May, 2025",
"stack": [
"React"
],
"image": "projects/fileManager.png",
"imageAlt": "Image of the file manager, the web app.",
"link": "https://git.gophernest.net/azpect/ServerFileManager"
"link": "https://github.com/haydenhargreaves/TCPNotificationManager"
},
{
"title": "Python Stock Market Analysis",
"description": "A simple stock market analysis tool that uses a backdoor API to get stock data and analyze it, collecting basic information of historical data. This project was built as a homework assignment for my SE320 (Software Construction) class.",
"date": "February, 2025 - March, 2025",
"date": "February, 2025",
"stack": [
"Python"
],
@ -72,7 +24,7 @@
{
"title": "Acoustic Drone Detection Sensor Network",
"description": "This project aims to develop a low-cost, acoustic drone detection system as a supplementary security measure for locations like borders and airports. The system will use small microphones and microcontrollers to detect drone sounds, even amidst background noise, at distances of at least 50 feet. This data will be collected by a network of weather-resistant, solar-powered sensors, transmitted wirelessly via LoRa and WiFi, and securely reported in real-time to Amazon Web Services for monitoring. This project is a research project funded by Embry-Riddle Aeronautical University and the Undergraute Research Institute (URI).",
"date": "December, 2024 - August, 2025",
"date": "December, 2024 - Current",
"stack": [
"C++",
"Python"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 608 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 476 KiB

View File

@ -1,10 +1,4 @@
[
{
"company": "Garmin",
"position": "Software Engineer Intern",
"description": "Served as an intern on the Marine Cloud Backend team.",
"timeframe": "May 2026 - August 2026"
},
{
"company": "Embry-Riddle Aeronautical University",
"position": "Teaching Assistant",