Background

I am a Computer Science student interested in understanding computing beyond individual programs. I enjoy thinking about how complete systems are organized, how their components interact, and how engineering decisions affect the final result.

Many of my projects begin because I want a particular tool, system, or capability for myself. I then continue developing them as I encounter limitations and discover better ways to design them.

How I approach projects

I prefer projects that require more than implementing a predetermined specification. I enjoy deciding what the system should become, separating responsibilities between components, evaluating tradeoffs, and improving the architecture over multiple revisions.

This means many of the projects on AnthonyCS are intentionally long-running. Instead of replacing one finished school project with another, I often expand existing work and use it as a platform for learning new concepts.

Software and systems

My software interests include systems programming, data structures, algorithms, Linux, server infrastructure, web systems, and software architecture.

I also maintain the infrastructure behind AnthonyCS, which gives me experience deploying, organizing, securing, and maintaining software outside of a classroom environment.

Hardware direction

My long-term direction is toward embedded systems, digital hardware, and ASIC / SoC development.

I am interested in the complete path from software executing on a processor down through computer architecture, digital logic, RTL, and ultimately the hardware implementing the computation.

As my technical foundation grows, I plan to expand my work into FPGA development, Verilog and SystemVerilog, digital design, verification, VLSI, and increasingly hardware-oriented projects.

CAPY

CAPY is one of the main projects through which I explore hardware and software integration.

The project is intended to evolve over multiple hardware and software generations. Each revision provides an opportunity to reconsider constraints such as memory, processing power, display bandwidth, physical controls, storage, power, usability, and system organization.

Learning through iteration

One of the most valuable parts of independent development is being able to revisit earlier decisions.

A system that works is not necessarily a system that is well designed. As my knowledge grows, I can return to previous projects, identify weaknesses, restructure components, measure improvements, and understand why one design works better than another.

Long-term goal

My goal is to develop into an engineer capable of working across software and digital hardware, particularly in embedded systems, computer architecture, FPGA development, and ASIC / SoC design.

I want the projects documented here to show that progression over time: not only what I built, but how my technical understanding and engineering judgment developed with it.

View Projects Contact