Skip to content
View JonathanGWesterfield's full-sized avatar

Block or report JonathanGWesterfield

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse

Big Howdy!
I'm Jonathan Westerfield

A computer engineer who likes learning systems by building them.

Currently building Librarian Revisiting ShiDB


I'm interested in the boundary between software and the real world: databases, operating systems, embedded hardware, distributed systems, and more recently, AI tools. My projects tend to start with a question like “how does this actually work?” and become an excuse to build a small, useful version of it.

🔭 What I'm working on

Librarian
A local-first assistant for my personal EPUB collection. It ingests books, creates local embeddings, retrieves relevant passages, and grounds answers in citations.

When people talk about AI, it's always so vague. This project is helping me cut through the BS and learn the nuts and bolts of how RAG systems work. Turns out, there is no magic. It's basically just classic backend and data engineering with a bit of AI sprinkled in there.

ShiDB
A from-scratch database project in Java, from disk management and concurrency to implementing a custom version of SQL.

The goal is understanding the internals well enough to make informed tradeoffs in larger systems. It's so fun. It's literally every topic and trick I learned in college all rolled into a single piece of software. Currently, I just finished implementing table scans. The next step is implementing the very basics of the SQL query language.

✨ A few projects I've enjoyed building

Project What it is
📚 Librarian A local RAG system for searching, questioning, and receiving recommendations from my local EPUB library.
🗃️ ShiDB A small Java-based database from scratch. From disk writes, log management, concurrency, table scans, and implementing the SQL query language (didn't finish that part yet), I wanted to learn how databases actually work under the hood.
⌨️ Keyboard2019 PCB, CAD, and C work for a left-handed Cherry MX keyboard—because data entry with a right-handed number pad and a mouse (as a right-handed person) is woefully inefficient.
🥫 12th Can A Laravel web application created for the 12th Can Food Pantry back in college.

🛠 Things I build with

Python Java C++ C SQL Docker Linux

🎓 Background

I studied Computer Engineering at Texas A&M University in College Station. My repositories include coursework, experiments, and projects that document the path from fundamentals—data structures, databases, networking, operating systems, and microcomputers—to the systems I'm building now.

When I'm not drowning at work, I actually really enjoy learning more about how various systems and technologies work, hence why the topics in this GitHub are so spread out and varied.


If you are here because one of these projects is useful or interesting, feel free to open an issue or start a discussion.

Popular repositories Loading

  1. ECEN325 ECEN325 Public

    Folder to keep my 325 stuff

    5 1

  2. ECEN350 ECEN350 Public

    Verilog 4 4

  3. TamuGradeAnalyzer-Insert TamuGradeAnalyzer-Insert Public

    Java 2 1

  4. Yeet Yeet Public

    A crowd-sourced delivery system backend. I wanted to play with Apache Kafka

    Java 2 1

  5. CSCE221 CSCE221 Public

    All of my assignments for CSCE 221 during summer 2017

    C++ 1

  6. CSCE111 CSCE111 Public

    The work I did for CSCE 111 (Intro to Java)

    Java 1