B.S. Mechanical Engineering
Yoseph Keisi

Yoseph Keisi

Mechanical engineer and researcher specializing in computational modeling, system validation, and embedded electromechanical design.

Background Projects Contact
// section 01
// 01

About

I am a Mechanical Engineer (B.S., University of South Florida, 2025) specializing in the intersection of computational simulation and high-stakes hardware systems. My work focuses on bridging the gap between theoretical optimization and physical deployment, with applications spanning aerospace, biomedical, and energy systems.
CFD & Aerodynamics Electromechanical Systems Embedded Systems Software Development Scientific ML

Background
I am a Mechanical Engineer (B.S., University of South Florida, 2025) specializing in the intersection of computational simulation and high-stakes hardware systems. My work focuses on bridging the gap between theoretical optimization and physical deployment, with applications spanning aerospace, biomedical, and energy systems.

Research & Optimization
As a Research Assistant at the Thermofluids Discovery Laboratory, I developed a CFD and genetic algorithm pipeline for the NASA CLEAN Initiative. My research specifically investigated 2D aerodynamic shape optimization as a cost-effective, high-fidelity baseline for wing development. Validated against NASA wind tunnel benchmarks, this work is currently being prepared for a first-author submission to an AIAA journal.

Systems Leadership
I lead the development of complex electromechanical architectures, from serving as the Programming and Controls Lead for a NASA-affiliated lunar regolith compactor to designing autonomous navigation logic for robotics. I am deeply engaged by the potential of Scientific Machine Learning to refine physical processes and improve system reliability across diverse industries.

Perspective
Beyond the lab, I am an active developer of agentic software workflows and a dedicated multi-instrumentalist and vinyl collector. I bring a systems-oriented, multidisciplinary mindset to every R&D challenge.

Simulation & Analysis

ANSYS Fluent · MATLAB · Simulink · LabVIEW · ParaView

CAD & Design

SolidWorks CSWA Additive Mfg · GD&T · DFM/DFA

Programming

Python · C · Embedded C · Dart/Flutter · Git/GitHub

AI & Optimization

Genetic algorithms · Automated CFD pipelines · PyGAD · Design-space exploration · Agentic programming · LLM-accelerated development

Embedded Systems

Microcontroller programming (MSP430, ARM-class) · Real-time control loops · Actuator sequencing · Multi-sensor integration · Motor drive circuits

Languages

English (Native) · Arabic (Fluent) · Spanish (Proficient)

// section 02
// 02

Projects

// 01 2025

CFD Validation & Genetic Optimization of a 2D NACA 2412 Airfoil

First-Author Research Publication

During my time as a Research Assistant in the USF Thermofluids Discovery Laboratory, I contributed to the NASA CLEAN Initiative, a program targeting zero-emission aircraft design. My focus was a specific open question: can 2D airfoil shape optimization serve as a computationally practical method for early-stage wing development?

I built and validated a high-fidelity CFD pipeline in ANSYS Fluent around the NACA 2412, a well-documented airfoil that gave me strong experimental reference data for rigorous model calibration. That validation work — mesh independence studies, turbulence model selection, and parameter tuning against NASA wind tunnel benchmarks — became the methodological backbone of everything that followed. Once I trusted the simulation, I coupled it to a Python genetic algorithm built on PyGAD to search for geometries with improved lift-to-drag ratio.

What came out of that optimization turned into its own investigation. The results were interesting enough, and the validation framework thorough enough, that this work is currently being prepared for first-author submission to an AIAA journal.

ANSYS Fluent Python Genetic Algorithms SST Transitional Model ParaView

CFD Validation

Before running a single optimization, I needed to trust the simulation. That meant building the CFD model from scratch in ANSYS Fluent and validating it against NASA Langley wind tunnel data for the NACA 2412 before coupling it to anything else.

The initial setup used the standard k-omega model, which consistently overpredicted drag. Switching to the SST-Transition model was the right call physically, since it resolves laminar-to-turbulent transition rather than assuming fully turbulent flow from the leading edge. But adopting it wasn’t enough on its own. I ran sensitivity studies on the transition onset coefficient and the intermittency production rate, tuned surface roughness to represent polished wind tunnel conditions, and matched freestream turbulence intensity to the Langley test environment. Each of those choices had a measurable effect on drag prediction, and I traced the dominant error source to delayed transition onset.

The final validated configuration achieved CL/CD error below 7% at the target Reynolds number of 3.1×106. I also ran a mesh independence study across four structured meshes from roughly 400,000 to 1.8 million cells, all wall-resolved with y+ below 2. Predictions varied by less than 0.4% across that range. A second mesh independence study was later conducted on the optimized geometry specifically, to confirm that the performance gains weren’t resolution-dependent artifacts.

Only after all of that did the optimization run on a model I was willing to defend.

Law of wall validation at three chordwise stations

Law of the wall profiles at three chordwise stations, confirming wall-resolved boundary layer resolution (y+ < 2)

Final computational mesh for NACA 2412 airfoil

Final C-grid topology with wall-resolved inflation layers (y+ < 2)

Genetic Algorithm Optimization

A genetic algorithm searches a design space the way evolution searches a gene pool: through selection, crossover, and mutation across successive generations of candidate solutions. Each candidate geometry was meshed and evaluated using the validated CFD pipeline, with lift-to-drag ratio as the sole objective. No surrogates, no smoothness constraints on the geometry.

After 83 generations, the optimized airfoil reached a lift-to-drag ratio of 39.53 against a baseline of 37.31, a 5.94% improvement, driven primarily by a 4.8% increase in lift with a modest drag reduction.

The more interesting result was geometric. Across the optimized geometry, the algorithm had left the leading edge and forward chord essentially untouched and concentrated all its modifications near the trailing edge, introducing small-amplitude oscillations on both surfaces aft of x/c = 0.6. This wasn’t a one-off outcome. It showed up consistently regardless of random seed and mutation rate, which immediately raised the question of whether it was a physical mechanism or a numerical artifact.

That question drove everything that followed.

Fitness improvement across generations

Best lift-to-drag ratio per generation, showing convergence over 83 generations

Optimized vs baseline NACA 2412 geometry

Baseline vs. optimized airfoil, with trailing-edge oscillations concentrated aft of x/c = 0.6

Physical Interpretation

The first question after seeing the oscillations was whether the pressure field could explain the lift gain. The static pressure difference contours, optimized minus baseline, gave a clear answer. The trailing edge modifications were generating alternating pockets of localized pressure change along both surfaces, with a net pressure increase on the lower surface and a net decrease on the upper. That’s the lift mechanism. Integrating the chordwise pressure difference confirmed it numerically: +13.71 Pa net contribution from the lower surface, −4.64 Pa from the upper, over the region where the oscillations live.

The turbulent kinetic energy contours added another layer. The optimized geometry showed a systematic reduction in near-wall TKE along the lower surface boundary layer in the aft region, with the effect most pronounced approaching the trailing edge. The oscillations appear to be delaying or weakening separation onset, producing smoother, more attached flow. The upper surface saw a smaller but consistent reduction as well.

Together these two pictures tell a coherent story. The trailing edge geometry is acting somewhat like surface dimples on a golf ball, generating small vortical structures that redistribute circulation, modify pressure recovery, and suppress turbulent mixing in the boundary layer. The lift gain is real, and the physics behind it is traceable.

Pressure contour comparison

Static pressure [Pa]: Baseline (top) · Optimized (middle) · Difference (bottom)

TKE contour comparison

Turbulent Kinetic Energy [m2/s2]: Baseline (top) · Optimized (middle) · Difference (bottom)

Robustness and Sensitivity Studies

Finding an interesting result is one thing. Confirming it holds up under scrutiny is another. I ran three categories of follow-up studies specifically to stress-test the optimization outcome.

The first was robustness testing across random seeds and mutation rates. Three independent runs with different initializations all converged to geometries showing the same trailing edge oscillatory behavior, with comparable fitness values despite taking different paths there. Testing mutation rates from 5% to 30% told the same story: the specific convergence trajectories differed but the characteristic aft-region geometry kept emerging. The feature was reproducible, not lucky.

The second was a mesh independence study on the optimized geometry itself, separate from the one run on the baseline during validation. Performance improvement varied by only 0.6% across mesh resolutions, with finer meshes capturing slightly more of the gain, consistent with better resolving the small trailing edge features.

The third was a turbulence model sensitivity check. Re-evaluating both the baseline and optimized geometries under standard k-ω and Spalart–Allmaras models showed reduced absolute improvement percentages, expected since neither captures laminar-to-turbulent transition. But both still predicted improvement. The gain persisted across fundamentally different closure assumptions.

Taken together, these studies made the case that the result was not an artifact of initialization, mesh resolution, or model formulation.

Robustness overlay across seeds and mutation rates

Fitness overlay across independent runs, showing convergence to consistent trailing-edge geometry regardless of initialization

Geometric Characterization and Parametric Sweep

Once the trailing edge oscillations were confirmed as a real aerodynamic feature, the next step was to describe them mathematically. I fit a rectified chirped sinusoidal perturbation function to the GA-optimal lower surface geometry. The equation captures the key physical behavior: one-sided bumps that only displace the surface outward, an amplitude that tapers toward the trailing edge, and a smooth return to zero at the trailing edge regardless of other parameter values. Five free parameters control the shape: amplitude, wavelength, perturbation start position, taper rate, and frequency exponent. The interactive figure at the top of this project lets you manipulate each one directly and watch how the geometry responds, giving an immediate intuition for what each parameter is actually doing to the surface.

With the equation established, I ran a one-at-a-time parametric sweep across all five parameters on the NACA 2412, running roughly 42 CFD evaluations, each solved in ANSYS Fluent at the same operating condition used throughout. The goal was to map how sensitive lift-to-drag ratio was to each parameter independently and locate the single-variable optima. The results reveal which parameters aerodynamic performance responds to most strongly and where the peak improvement sits within each range.

δy = max(0, a · (1 − τξ) · (1 − ξ²) · sin(2π(xte − x0) / λ · ξk))

where ξ = (x − x0) / (xte − x0) is the normalized chordwise coordinate over the perturbation domain, where a: peak outward displacement · λ: spatial period · x0: perturbation start · τ: amplitude taper toward trailing edge · k: frequency chirp exponent.

One-at-a-time parametric sweep across five perturbation parameters

One-at-a-time parametric sweep showing lift-to-drag sensitivity and single-variable optima across all five perturbation parameters

// 02 2025

Lunar Regolith Compactor

NASA R&D Capstone | RE-RASSOR Rover Attachment

NASA's RE-RASSOR rover was designed to excavate lunar regolith, but had no mechanism to compact it for structural use. Direct pressure fractures lunar regolith particles into finer grains, reducing density rather than increasing it. We chose vibration-based densification as the compaction method and designed the full system around it.

Commissioned by the Florida Space Institute at UCF, I served as Programming and Controls Lead, co-designing the electromechanical architecture and writing the full automated compaction sequence. I modeled the system as a 2-DOF mass-spring-damper in MATLAB to compute resonant frequencies under lunar gravity, which are meaningfully lower than their Earth equivalents. That analysis directly drove motor selection, PWM tuning, and deployment timing.

ArduinoMATLABSolidWorks Vibration AnalysisCircuit Design

System Design

The compactor attaches to the RE-RASSOR as a modular end effector, designed to fit within the rover's existing size and power envelope without requiring modifications to the base platform. The mechanical core is a two-plate assembly: a flat compression plate that makes initial contact with the regolith surface, and a pinned plate directly above it whose pins extend through the compression plate and into the regolith during actuation. Dual linear actuators drive the deployment sequence, lowering the compression plate first, then advancing the pinned plate to engage the subsurface layer. Vibration motors mounted to the pinned plate drive densification at the computed resonant frequency, then the full assembly retracts in reverse order.

We designed the electrical and mechanical architecture together, keeping motor selection, driver sizing, and actuation timing tightly coupled so that the system could meet the rover's size and power constraints as a unit rather than as separate subsystems. The final prototype successfully compacted regolith simulant under test conditions, validating both the mechanical design and the control sequence.

Compactor CAD model

SolidWorks assembly: dual-plate vibratory pin compactor with linear actuators and eccentric mass motors

Physical prototype

Working prototype with 12V power system, linear actuators, and dual ERM vibration motors

Vibration Dynamics Analysis

To determine optimal excitation frequency, I modeled the system as a 2-DOF mass-spring-damper in MATLAB and computed the frequency response for both Earth and lunar gravity conditions. The analysis revealed that resonance occurs at significantly lower frequencies on the Moon (~87 Hz) compared to Earth (~133 Hz) due to reduced gravitational stiffness effects on the regolith bed. This informed motor selection and PWM tuning strategy.

Frequency response analysis

2-DOF frequency response: Moon (blue) shows lower resonant frequency and higher displacement amplitude than Earth (red)

// 03 2025

GeoCompanion

Cross-Platform Mobile App | Flutter + Supabase

I built GeoCompanion out of a habit I already had: opening Google Maps and just wandering, zooming into random corners of the world, reading about the geography, the history, the culture of places I had never thought about. I wanted that experience to be a daily ritual instead of something that happened by accident.

The app delivers one location per day, globally synchronized across all users. You get a curated fact, geographic context, and cultural framing for that place. Over time, your personal globe fills in with every location you have explored, building a visual record of where your curiosity has taken you. The idea is simple: one place a day, and actually stay with it.

I designed and built the full stack solo, using agentic coding workflows throughout to move across the Flutter frontend, Supabase backend, and Mapbox integration without losing architectural coherence.

FlutterDartSupabase MapboxXcodeiOS Widgets

App demo: daily location reveal, cinematic map transitions, and journal system

Backend and State Architecture

The backend runs on Supabase, seeding one location per day and caching it locally to guarantee consistency across sessions and users. A structured journal system logs visited locations with relative day labeling, maintaining a clean separation between persistent daily data and ephemeral exploration state.

On the frontend, I built a constraint-driven layout system where spacing rules are independent of content height, which eliminates UI jitter during transitions. Collapsible information cards expand without shifting surrounding controls, and explicit animation boundaries with centralized state management prevent unintended navigation during complex view changes.

Map System

The map experience is built on Mapbox with cinematic, time-based camera transitions: zoom out, pan across the globe, zoom into the destination. The sequence is deliberate. It communicates geographic scale and distance rather than jumping to a pin.

From there, the user can drop into Google Street View for that location, placing them on the ground in a place they may never have heard of an hour ago. That integration runs through a WebView overlay with a multi-state draggable panel and carefully managed gesture controllers to keep the transition seamless. Wiring the Mapbox and Street View APIs together, and managing the state between them cleanly, was one of the more technically involved parts of the build.

The personal globe accumulates every location a user has explored, marked and dated. There is no feed, no streak system, no algorithmic nudge. The map just fills in, slowly, over time.

// 04 2023

Mechanical Record Player Design

Concept-to-CAD Product Design

Most student CAD projects treat manufacturability as optional, producing assemblies that render well but would fail on the shop floor. I set out to design a turntable where every internal component could actually be built: real materials, real tolerances, real assembly sequence.

I began by reverse-engineering an Audio-Technica AT-LP60X to internalize tonearm kinematics, belt-drive geometry, and platter dynamics. From that foundation I designed a 23-part assembly from scratch in SolidWorks, specifying off-the-shelf hardware alongside custom parts and documenting everything: exploded views, a full BOM with material callouts, GD&T annotations, and kinematic diagrams showing tonearm pivot geometry and counterweight balance.

SolidWorksAssembly Modeling GD&TDesign for ManufactureTechnical Drawing

Design Philosophy

This project combined my passion for music and record collecting with mechanical engineering fundamentals. The goal was to create a visually striking, futuristic turntable that wasn’t just a render; every internal component had to be mechanically sound and actually manufacturable. The aesthetic draws from mid-century modern and contemporary industrial design while maintaining full functionality.

Record player SolidWorks render

Final SolidWorks render: belt-drive turntable with integrated tonearm assembly

Engineering Documentation

The complete assembly consists of 23 individual parts, each modeled with realistic material properties and manufacturing constraints. The BOM includes off-the-shelf components (6061 aluminum hardware, silicon-nitride ceramic bearings, steel ball bearings) alongside custom-designed parts, demonstrating understanding of hybrid sourcing strategies in product development.

Bill of materials and exploded view

Exploded view with bill of materials: 23-part assembly with material callouts

Kinematic Design

The tonearm mechanism required careful attention to pivot geometry and counterweight balance. The design allows for both vertical rotation (for needle drop and lift) and horizontal tracking across the record surface. Friction and counterweight were tuned to provide stable needle tracking without excessive downforce that could damage vinyl grooves.

Tonearm kinematic views

Alternate views showing tonearm vertical/horizontal rotation axes and turntable drive

// 05 2024

Autonomous Maze Navigation Vehicle

Embedded Systems & Mechatronics

Autonomous maze navigation is a systems integration problem, as failures in sensing, planning, or actuation all look the same at competition time: the robot stops. Getting it right requires the hardware and software to behave as a single coherent system, not two teams handing off at the last minute.

I led electrical system design and embedded programming for the competition robot, building a sensor fusion architecture that combined ultrasonic wall-following with IR-based object detection and color classification. The state machine I wrote coordinated sensor polling, motor commands, and the gear-driven grabber actuator in real time. The robot successfully navigated the full competition maze and retrieved multiple targets.

ArduinoUltrasonic Sensors IR SensorsMotor ControlSolidWorks

System Overview

The challenge: build an autonomous vehicle that navigates an unknown maze, identifies colored objects, picks them up, and releases, all without human input. I designed the electrical architecture and control software, integrating multiple sensor systems into a cohesive navigation and manipulation pipeline.

Maze navigation robot

Competition-ready robot with ultrasonic array, IR sensors, mecanum wheels, and custom grabber

Sensor Integration & Control Logic

Ultrasonic sensors provided distance measurements for wall-following and obstacle avoidance, feeding into a state machine that handled turns, dead ends, and path selection. IR sensors detected object presence and color, triggering the grab sequence when a target was identified. The control code synchronized sensor polling, motor commands, and actuator timing to achieve smooth autonomous operation.

Grabber Mechanism

The robot featured a gear-driven grabber capable of grasping objects and lifting them for color detection. The mechanism was compact enough to fit within the robot's footprint while providing sufficient grip force and lift height to clear maze walls during transit.

Grabber mechanism technical drawing

Technical drawing of gear-driven grabber assembly

// 06 2022

Cardiac Flow Signal Processing

Biomedical Data Analysis in MATLAB

MRI-derived blood flow data is noisy, continuous, and structurally ambiguous, and individual heartbeats don't come pre-labeled. Manual segmentation is time-consuming and subjective, and any bias in cycle detection propagates directly into downstream cardiac metrics. The goal was to automate the full analysis pipeline without sacrificing physiological accuracy.

Working with real anonymized patient data from left-ventricular flow measurements taken during exercise, I developed a MATLAB pipeline that applies adaptive signal smoothing, detects systolic peaks and diastolic troughs using gradient-based criteria, and segments the continuous recording into individual cardiac cycles. Trapezoidal numerical integration then estimates stroke volume per beat, with the full dataset analyzed statistically to characterize cardiac output under exercise load.

MATLABSignal Processing Numerical IntegrationBiomedical DataStatistical Analysis

Clinical Context

This project analyzed real MRI-derived blood flow measurements from a patient's left ventricle during exercise. The goal was to segment individual heartbeats from continuous flow data and quantify cardiac output, information that helps researchers understand how diseased hearts respond to increased physiological demand. Working with authentic clinical data required careful handling of noise and biological variability.

Signal Processing Pipeline

Raw flow measurements contained significant noise that obscured the underlying cardiac cycles. We implemented a smoothing filter to clean the signal while preserving the physiologically relevant waveform features. A custom peak detection algorithm identified systolic maxima based on threshold and local gradient criteria, then searched backward from each peak to locate the corresponding trough, marking the start of each cardiac cycle.

Smoothed flow signal with detected troughs

Smoothed flow signal with automatically detected cycle starting points (troughs)

Cycle Segmentation & Overlay

Using the detected troughs as boundaries, the algorithm segmented the continuous recording into individual cardiac cycles. Overlaying all cycles on a common time axis revealed the consistency of the patient's heart function. The tight clustering indicates stable stroke volume across beats despite exercise conditions.

Overlaid cardiac cycles

All cardiac cycles aligned and overlaid, showing consistent waveform morphology across heartbeats

Numerical Integration & Statistics

For each cardiac cycle, we computed the area under the flow curve using trapezoidal integration. This area represents the volume of blood ejected per beat. Statistical analysis yielded a mean stroke volume of 97,708 ± 6,438 (arbitrary units), with the histogram showing approximately normal distribution indicating healthy, consistent cardiac function.

Histogram of stroke volumes

Distribution of stroke volumes across all detected cardiac cycles

// section 03
// 03

Contact

Currently seeking full-time opportunities.
Open to relocation.

ykeisi@outlook.com