Hi, I'm Cameron Dietz,

Data Analyst and full stack software Engineer

About Me

My Picture

I am a full stack developer with 2 years of experience in both application and presentation layers. I have worked extensively with python creating ML models, performing exploratory data analysis and automating ETL. I have worked on applications and microservices deployed on AWS and IBM Cloud.

After graduating from the school of engineering at Texas A&M University I joined Applied Industrial Technologies. There I began servicing our largest account, a large semiconductor OEM and began driving sales and improving operational efficiency. I designed and developed an entire system from database architecture and automation to UI design and performance optimization integrating SQL, VBA, and data visualizations to create a seamless, efficient solution.

My Skills

HTML

.5 years experience

JavaScript

.5 years experience

Java

3 years experience

React

.5 years experience

Python

4 years experience

Node.js

.5 years experience

CSS

.5 years experience

C++

3 years experience

Linux

.5 years experience

VBA

1 years experience

SQlite

2 years experience

Docker

.5 years experience

Django

.5 years experience

PostgresQL

.5 years experience

Kubernetes

.5 years experience

My Projects

Database Architect - Applied Industrial Technologies

Database Management: Designed and implemented a comprehensive database in Microsoft Access to manage and streamline the data for over 6,500 parts, including purchasing, vendor, and quoting information. Ensured data integrity and optimized performance through careful schema design and indexing strategies.

Automation & Efficiency: Developed and deployed SQL queries and VBA scripts to automate routine tasks, such as data sorting, filtering, and extraction, significantly reducing manual effort and minimizing errors. Automated the generation and distribution of reports, email communications, and file management processes, enhancing operational efficiency.

Data Analysis & Visualization: Built and maintained a dynamic dashboard to track key business metrics, providing real-time insights into performance and trends. Leveraged data visualization tools to create insightful reports and presentations, supporting strategic decision-making.

Process Improvement: Continuously evaluated and refined database architecture and processes to accommodate growing data needs and improve system scalability and reliability.

Website design and deployment

Car Dealership Review Application

Constructed a complete web application for a national car dealership that allows new and existing customers to look up different branches by state and look at customer reviews of the various branches.


Django-Based Web Application:

Developed a responsive website to showcase car dealerships and user reviews using Django as the backend.
Designed and implemented dynamic pages, including dealer listings, reviews, and a form to submit user reviews.

Microservices Integration:

Integrated a Node.js Express microservice to manage dealers and reviews stored in MongoDB.
Leveraged Django proxy services for seamless communication between the website and backend microservices.

Sentiment Analysis:

Deployed a custom Sentiment Analyzer microservice on IBM Cloud Code Engine.
Implemented sentiment scoring to analyze user-submitted reviews (positive, negative, or neutral).

Authentication and User Management:

Integrated Django's authentication system for secure user management.
Built a React-based front-end for an improved user experience.

Advanced Features:

Dockerized backend services to enhance deployment and scalability.
Deployed the application on Kubernetes with continuous integration (CI/CD) pipelines for testing and linting.

Data Management:

Used SQLite for storing car models and makes within Django.
Enabled real-time tracking of dealership and review data through custom APIs

Paradise Nursery Shopping Application


React Components: Uses functional React components using component composition and nesting.

State Management with Hooks: Implemented React Hooks, specifically the useState and useEffect hooks.
Managed component-level state using hooks to control the visibility of elements.

Redux Integration: Integrate Redux within an application using Redux concepts like actions, reducers, and the store.

Rendering Dynamic Data: Dynamically renders data fetched from an array of objects into the UI.
Mapped over arrays to generate lists of components.

Handles Events and Conditional Rendering: Handles user events such as button selection and trigger corresponding actions.

Data Analytics

This project focused on analyzing an HR dataset to uncover insights into employee retention and build predictive models for identifying key turnover factors. Initial data exploration included loading a 14,999-row dataset, renaming columns for clarity, and removing 3,008 duplicate rows. Missing values were checked, and data types were reviewed to ensure proper preprocessing.

Key Analysis Steps and Visualizations:
1. Outlier Detection: Using boxplots and IQR, 824 outliers in tenure were flagged (outside 1.5-5.5 years).
2. Retention Analysis: Analysis of the left column revealed 16.6% of employees had left. Visualizations like boxplots, histograms, and scatter plots highlighted trends in project counts, average monthly hours, and satisfaction levels, showing that higher workloads increased turnover.
3. Tenure and Salary Insights: Tenure distribution showed lower satisfaction (mean: 0.44) for those who left, compared to retained employees (mean: 0.67). Histograms segmented by tenure and salary indicated higher turnover among short-tenured, low-salary employees.
4. Department Retention Trends: Counts of stayed/left employees across departments revealed varied retention rates, emphasizing the need for department-specific strategies.


Data Preparation for Modeling:
• Salary was encoded ordinally, and departments were dummy-encoded for model compatibility.
• A correlation heatmap identified significant predictors like satisfaction level and average monthly hours.
• Outliers were removed for a clean dataset used in logistic regression modeling.
• The dataset is split into training (X_train, y_train) and testing (X_test, y_test) sets using train_test_split() with a 25% test size, stratified on y to maintain the target distribution, and a random_state for reproducibility.


Predictive Modeling Highlights:
1. Logistic Regression:
○ A logistic regression model log_clf is instantiated with random_state=42 and max_iter=500 and fitted on the training data.
○ Precision, recall, f1-score, and support for both classes: employees predicted to stay and to leave.
○ The overall accuracy is 82%, with a macro average f1-score of 0.61, showing lower performance for predicting employees who left (precision 0.44, recall 0.26).
2. Decision Tree Classifier:
○ Optimized with GridSearchCV, resulting in best parameters: max_depth=6, min_samples_leaf=2, min_samples_split=6.
○ Achieved an AUC score of 0.9587, with precision at 0.857 and recall at 0.904, confirming reliable detection of turnover.
3. Random Forest Classifier:
○ Hyperparameters (max_depth=5, n_estimators=300, max_samples=0.7) were found through optimization.
○ Reached an AUC of 0.9648, slightly outperforming the decision tree.
○ Feature importance analysis showed satisfaction level, average monthly hours, and tenure as top predictors.


Interpretability and Insights:
• Visual plots of feature importances from both models identified key factors driving employee retention.
• Important features were plotted based on Gini importance, with results suggesting that factors like satisfaction level, average monthly hours, and tenure play significant roles in determining employee turnover.


Overall, this analysis utilized the effective use of data exploration, visualization and machine learning techniques to model company data such as employee retention, providing actionable insights for HR strategies aimed at reducing turnover. The results underscore the importance of job satisfaction, workload, and tenure in predicting employee departure, offering a data-driven approach to HR management.

Application development - C++

This program was created using C++ to map the most efficient route through land using topographical map data. This code reads elevation data from a file, processes it into a grayscale image in PPM format, and highlights the optimal path across the map using color. Here’s a section-by-section summary:

Input Handling: The program asks for the number of rows, columns, and the input file name containing elevation data. The file is validated, and if accessible, it's opened for reading.

Data Processing: Elevation values are read, stored in a 2D vector dat, and then min/max values are calculated to scale elevation to grayscale.

Grayscale Mapping: Each elevation value is mapped to a grayscale intensity (0–255) and stored in RGB vectors r, g, and b.

Path Coloring: Using the colorPath function, the program determines the least elevation-change path across the map. Paths are highlighted with specified RGB colors for visualization, and the shortest path is colored separately in bright green.

Output Image Creation: The program outputs a PPM file containing the pixel data, where each pixel's RGB values are either grayscale or the highlight color for paths.

Contact Me