Calvin Pham



Hi, I'm Calvin

Software Engineer

It's nice to meet you!


About Me


Hi there! I'm a software engineer with a passion for everything tech! I graduated from the University of California, Berkeley, with a B.A. in Computer Science, and I’ve spent my time there diving into everything from cryptography and operating systems to clean, user-friendly design.

I’ve worked with many tools and languages—including Python, Java, C, C++, HTML/CSS, and Git. And recently I’ve been working as a Test Engineer, helping to shape and validate the hardware and software powering the AI-driven data centers of tomorrow.

Beyond the technical side, I care a lot about clear communication, being a team player, and critical thinking. I approach every challenge with curiosity, adaptability, and a willingness to grow.

And outside of the tech world, I'm a creative artist, avid gym enjoyer, and pop-culture collectibles hunter!

If you'd like to get in contact with me, please feel free to email me at pqcalvin@gmail.com or connect with me on LinkedIn .






Projects






Water Simulation

Fluid Dynamics Particle Simulator


  • I've created a sophisticated CGI water simulator using C and Blender. The water physics, based on extensive research in fluid dynamics, accurately replicate real-life water movement.

  • I also developed a graphics rendering algorithm that transforms particle calculations into captivating 3D meshes for stunning animations.

  • Through techniques like multi-threading and hashing, we achieved efficient computation for interactions among thousands of particles and optimized the graphics rendering process for swift visual output generation.





Crypto File

Cryptographic File Sharing System


  • I've developed a secure multi-user file sharing and storage system using various cryptographic techniques, including public and private key encryption, HMAC, AES-CTR block chaining, SHA-512 hashing, and symmetric encryption.


  • My system enables users to add, append, share, and revoke files securely. I prioritize user data security, employing a transient data design philosophy to ensure confidentiality, integrity, and authenticity, safeguarding our users' information.



Pintos OS

Pintos Operating System


  • I had the chance to improve a barebones operating system by implementing key enhancements. These included user program handling, system calls, and managing thread concurrency.


  • Within this project, I introduced two essential features. First, I developed a recursive priority donation algorithm that enabled multiple threads to efficiently use locks, semaphores, and condition variables for atomic operations, enhancing efficiency and overall system performance.


  • Additionally, I designed a least recently used buffer cache specifically for the i-node based file system. This optimization significantly improved the system's runtime speed, showcasing the impact of thoughtful design in operating systems.



Gitlet

Gitlet


  • I've developed a local file version control system inspired by Git, offering features like branching, committing, checking out, logging, resetting, and merging.


  • To handle the complexity of these features, I used object-oriented programming techniques and implemented serialization and deserialization. Managing multiple file and folder versions was both challenging and rewarding.


  • This project marked a turning point in my coding journey, emphasizing the value of good coding practices, design skills, and meticulous planning.



Database

RookieDB


  • I enhanced a barebones database with diverse and sophisticated features, including B+ tree indices for rapid storage access, optimized join algorithms, query optimizations, a multi-granularity locking system for concurrent transactions, and database recovery through logging.


  • One of the project's most challenging aspects was implementing a robust multi-granularity locking system. To ensure database integrity and consistency, I employed various lock types for atomic actions and a sophisticated wait queue mechanism for concurrent resource access.



Pintos OS

Go Motivation


  • My team and I created a full-stack fitness web app with motivating features for tracking long-term goals. It includes a user-friendly calendar and achievement system. We integrated calendar and data storage APIs for efficiency.


  • We took a comprehensive approach to user interface design, using A/B testing, persona development, and wireframing techniques to build the app iteratively, focusing on a specific user group.



Database

Integer Linear Program Room Optimizer


  • My team and I took on a challenging project involving an NP-complete search problem. Our task was to identify the best combinations of people and rooms while meeting specific criteria. Essentially, we aimed to generate the ideal groupings of vertices that maximized the sum of edge values without exceeding a set upper threshold.


  • To address this complex problem, we applied integer linear programming to create an algorithm that pinpointed the optimal vertex groupings among hundreds of sets, each containing 100 vertices. Our innovative approach paid off as we secured a commendable 10th place out of 243 competing groups in a contest that assessed solvers' efficiency in processing a maximum number of inputs within strict time limits.



Contact Me