Project Management · Mechanical Engineering
Kevin Abou Chedid
Mechanical engineering student at UIC with two engineering internships — HVAC and plumbing design at an MEP firm, and construction inspection on a bridge rehabilitation project.
BS Mechanical Engineering, Minor in Electrical Engineering — University of Illinois Chicago, expected May 2028.
- 3.92GPA / 4.0
- 2028BS Mech. Eng., Minor ECE — UIC
- 2engineering internships
- 10+person team led at ASME
- 10+courses tutored
I have worked on two construction projects: a six-story villa in Lebanon, where I designed the HVAC and plumbing systems, and the I-80/IL-23 bridge rehabilitation in Illinois, where I inspected contractor work against plan specifications.
I've built complete system designs from scratch, produced construction-ready drawings, handled equipment pricing and purchase orders, and verified field execution against spec on both building and infrastructure projects. Alongside that, I lead a 10+ person technical team at ASME and mentor incoming engineers through SHPE.
- 2025–nowTeam leader
ASME, UIC - 2026–nowMentor
SHPE, UIC - 2026–nowPeer tutor
Engineering Learning Center, UIC - 2026–nowPeer learning assistant
Math & Science Learning Center, UIC
University of Illinois Chicago
BS Mechanical Engineering, Minor in Electrical Engineering
GPA 3.92 / 4.0 · Expected May 2028
Project Implementation Engineering Intern
Three months full-time on the I-80/IL-23 bridge rehabilitation — a project later nominated for IDOT's Bridge Rehabilitation Project of the Year.
"Kevin is a self-starter who consistently takes initiative. After completing assigned tasks, he proactively seeks out additional work and looks for other ways to contribute. He works well with others and as a team. His willingness and ability to assist and complete tasks far exceeded his position responsibilities."
Signed by Troy Hart, Resident Engineer · Recommended for rehire
Download full evaluation (PDF)- Redesigned bridge deck elevation profiles using 3 methods to improve alignment with plan specs
- Ran yield, speed, and temperature checks on paving operations up to 3,000+ tons/day, verifying tonnage
- Performed pre-pour dry runs and depth checks for concrete overlay, achieving accuracy within 0.0075 ft of target
- Conducted GPS/total station surveys and built pay estimates in OpenRoads
Mechanical Engineering Intern
"Kevin demonstrated not only a solid grasp of core engineering concepts but also the ability to apply them effectively in a real-world setting."
Signed by Nabil Abujawdeh, CEO · Names SAL, MEP Engineering & Contracting
Download letter (PDF)- Designed a complete HVAC and plumbing system for a six-story villa — equipment schedule, pipe and vent sizing, equipment selection, and cost optimization to meet a $200,000 budget
- Produced AutoCAD shop drawings to engineering standards for a hotel project in Faraya
- Led equipment pricing and purchase order preparation, contributing to project cost management
- Conducted site visits to verify installation matched engineering design specifications
Driveable couch — ASME R&D build
Integrated a UTV-style electrical system (lights, blinkers, horn) and installed a 212cc engine, including break-in, clutch, and throttle setup. Built the wood frame, steering, and axle assembly, and mechanically connected the engine to the axle.
Ski drone — mechanical engineering design
Built an Arduino-powered DC motor drone designed to stall mid-air off a ramp. Assembled 3D-printed SolidWorks parts and wrote C++ code meeting project specs.
Ferromagnet simulation — undergraduate research, The Seara Group, UIC
Built Python Monte Carlo simulations of a 16×16 lattice with 1,000,000 iterations to graph average spins, magnetism, energy, and heat capacity. Statistically found the ferromagnet critical temperature (Tc = 2.27 J/Kb), then scaled to a 64×64 lattice with 10⁹ iterations on UIC's HPC cluster.
Download simulation source (Python)View the code
import numpy as np
import matplotlib.pyplot as plt
import numba
from numba import njit
from scipy.ndimage import convolve, generate_binary_structure
# 16 by 16 grid
N = 16
init_random = np.random.random((N,N))
lattice_n = np.zeros((N, N))
lattice_n[init_random>=0.75] = 1
lattice_n[init_random<0.75] = -1
init_random = np.random.random((N,N))
lattice_p = np.zeros((N, N))
lattice_p[init_random>=0.25] = 1
lattice_p[init_random<0.25] = -1
plt.imshow(lattice_p)
plt.show()
def get_energy(lattice):
# applies the nearest neighbours summation
kern = generate_binary_structure(2, 1)
kern[1][1] = False
arr = -lattice * convolve(lattice, kern, mode='constant', cval=0)
return arr.sum()
get_energy(lattice_p)
#@numba.njit("UniTuple(f8[:], 2)(f8[:,:], i8, f8, f8)", nopython=True, nogil=True)
#def metropolis(spin_arr, times, BJ, energy):
@numba.njit(nogil=True)
def metropolis(spin_arr, times, BJ, energy):
spin_arr = spin_arr.copy()
net_spins = np.zeros(times-1)
net_energy = np.zeros(times-1)
for t in range(0,times-1):
# 2. pick random point on array and flip spin
x = np.random.randint(0,N)
y = np.random.randint(0,N)
spin_i = spin_arr[x,y] #initial spin
spin_f = spin_i*-1 #proposed spin flip
# compute change in energy
E_i = 0
E_f = 0
if x>0:
E_i += -spin_i*spin_arr[x-1,y]
E_f += -spin_f*spin_arr[x-1,y]
if x<N-1:
E_i += -spin_i*spin_arr[x+1,y]
E_f += -spin_f*spin_arr[x+1,y]
if y>0:
E_i += -spin_i*spin_arr[x,y-1]
E_f += -spin_f*spin_arr[x,y-1]
if y<N-1:
E_i += -spin_i*spin_arr[x,y+1]
E_f += -spin_f*spin_arr[x,y+1]
# 3 / 4. change state with designated probabilities
dE = E_f-E_i
if (dE>0)*(np.random.random() < np.exp(-BJ*dE)):
spin_arr[x,y]=spin_f
energy += dE
elif dE<=0:
spin_arr[x,y]=spin_f
energy += dE
net_spins[t] = spin_arr.sum()
net_energy[t] = energy
return net_spins, net_energy # Moved outside the loop
#lattice_n, repetitions, beta*J-->energry
spins, energies = metropolis(lattice_n, 1000000, 0.1, get_energy(lattice_n))
fig, axes = plt.subplots(1, 2, figsize=(12,4))
ax = axes[0]
ax.plot(spins/N**2)
ax.set_xlabel('Algorithm Time Steps')
ax.set_ylabel(r'Average Spin $\bar{m}$')
ax.grid()
ax = axes[1]
ax.plot(energies)
ax.set_xlabel('Algorithm Time Steps')
ax.set_ylabel(r'Energy $E/J$')
ax.grid()
fig.tight_layout()
fig.suptitle(r'Evolution of Average Spin and Energy for $\beta J=$0.1', y=1.07, size=18)
plt.show()
def get_spin_energy(lattice, BJs):
ms = np.zeros(len(BJs))
E_means = np.zeros(len(BJs))
E_stds = np.zeros(len(BJs))
for i, bj in enumerate(BJs):
spins, energies = metropolis(lattice, 1000000, bj, get_energy(lattice))
ms[i] = spins[-1000000:].mean()/N**2
E_means[i] = energies[-1000000:].mean()
E_stds[i] = energies[-1000000:].std()
return ms, E_means, E_stds
BJs = np.arange(0.1, 2, 0.05)
ms_n, E_means_n, E_stds_n = get_spin_energy(lattice_n, BJs)
ms_p, E_means_p, E_stds_p = get_spin_energy(lattice_p, BJs)
plt.figure(figsize=(8,5))
plt.plot(1/BJs, ms_n, 'o--', label='75% of spins started negative')
plt.plot(1/BJs, ms_p, 'o--', label='75% of spins started positive')
plt.xlabel(r'$\left(\frac{k}{J}\right)T$')
plt.ylabel(r'$\bar{m}$')
plt.legend(facecolor='white', framealpha=1)
plt.show()
plt.plot(1/BJs, E_stds_n*BJs, label='75% of spins started negative')
plt.plot(1/BJs, E_stds_p*BJs, label='75% of spins started positive')
plt.xlabel(r'$\left(\frac{k}{J}\right)T$')
plt.ylabel(r'$C_V / k^2$')
plt.legend()
plt.show()
Google / Coursera — September 2026
A five-course specialization developed by Google covering practical AI use: introduction to AI, maximizing productivity with AI tools, prompting technique, responsible use, and keeping current as the tools change.
Verifiable at coursera.org/verify/specialization/PAIJ92AEKR8S
Download certificate (PDF)University of Illinois Chicago — April 2026
Shop safety certification covering hot work permitting, fire watch requirements, ventilation, PPE, and safe practice for welding, cutting, and brazing operations.
Download certificate (PDF)-
Sept 2025 – present
Team leader — American Society of Mechanical Engineers
Led R&D technical project meetings twice a week for planning, building, and testing. Organized fundraisers to build team budget, set up monthly socials and technical workshops, and drive board-level decisions and strategy.
-
Aug 2026 – present
Mentor — Society of Hispanic Professional Engineers
Meet one-on-one with mentee biweekly to guide their professional and social development, supporting leadership growth through goal-setting, reflection, and ongoing feedback.
-
Jan 2026 – present
Peer tutor — Engineering Learning Center, UIC
Selected to tutor Strength of Materials while still enrolled in the course, based on strong academic performance. Tutor for Statics, Strength of Materials, Thermodynamics, Probability & Statistics, Financial Engineering, and MATLAB. Focus on strengthening how students approach problems rather than just getting them to an answer — average grades improved 45% in Statics and 25% in Strength of Materials.
-
Sept 2026 – present
Peer Learning Assistant — Math & Science Learning Center, UIC
Support students in MATH 181 (Calculus II) during lectures through active-learning exercises and collaborative problem solving. Hold MSLC drop-in hours for individualized help with calculus concepts and problem-solving strategies, and work with the course instructor and fellow PLAs to improve student engagement and understanding.