24 Commits
latest ... main

Author SHA1 Message Date
e54a0e36e6 fix: switch to akkuman/gitea-release-action for gitea compatibility
All checks were successful
Compile LaTeX Documents / build-public (push) Successful in 58s
Compile LaTeX Documents / build-private (push) Successful in 56s
2025-12-01 00:45:42 -05:00
b055ed9d3d fix: switch to svenstaro/upload-release-action for gitea compatibility
Some checks failed
Compile LaTeX Documents / build-public (push) Failing after 37s
Compile LaTeX Documents / build-private (push) Successful in 57s
2025-12-01 00:25:07 -05:00
ede400fd97 debug: list files and use explicit artifact paths for gitea release
All checks were successful
Compile LaTeX Documents / build-public (push) Successful in 1m1s
Compile LaTeX Documents / build-private (push) Successful in 55s
2025-12-01 00:15:05 -05:00
8aeb6a4745 fix: downgrade upload-artifact to v3 for gitea compatibility
All checks were successful
Compile LaTeX Documents / build-public (push) Successful in 1m6s
Compile LaTeX Documents / build-private (push) Successful in 1m6s
2025-11-30 19:31:50 -05:00
7749d8c332 fix: use glob pattern for release artifacts
Some checks failed
Compile LaTeX Documents / build-public (push) Successful in 1m2s
Compile LaTeX Documents / build-private (push) Failing after 37s
2025-11-30 18:50:35 -05:00
0549f77c4d docs: add gitea release urls 2025-11-30 18:49:33 -05:00
7bebaea133 fix: install nodejs for action compatibility
Some checks failed
Compile LaTeX Documents / build-public (push) Successful in 1m2s
Compile LaTeX Documents / build-private (push) Failing after 35s
2025-11-30 18:37:26 -05:00
5f77e4e68c fix: switch to ncipollo/release-action for gitea compatibility 2025-11-30 18:36:31 -05:00
8f0ff2df68 refactor: use container job strategy for gitea compatibility
Some checks failed
Compile LaTeX Documents / build-public (push) Failing after 10s
Compile LaTeX Documents / build-private (push) Failing after 7s
2025-11-30 18:32:06 -05:00
de9dfe2d7f Update README.md
Some checks failed
Compile LaTeX Documents / build-private (push) Has been cancelled
Compile LaTeX Documents / build-public (push) Has been cancelled
2025-11-30 17:48:21 -05:00
dd9c4c09ee fix: correct typo in resume.tex itemize environment
Some checks failed
Compile LaTeX Documents / build-public (push) Failing after 1m34s
Compile LaTeX Documents / build-private (push) Failing after 40s
2025-11-30 17:18:41 -05:00
eed1e8714b fix: update github actions runner and dependencies
Some checks failed
Compile LaTeX Documents / build-public (push) Failing after 1m22s
Compile LaTeX Documents / build-private (push) Failing after 35s
2025-11-30 17:16:08 -05:00
7397a0177f Update build-local
Some checks failed
Compile LaTeX Documents / build-public (push) Failing after 2m7s
Compile LaTeX Documents / build-private (push) Failing after 44s
2025-11-30 16:08:05 -05:00
d0813ce1c6 Enhance CV and resume with new project details and LaTeX package adjustments
- Added current honors thesis project to CV, focusing on platform effectiveness in HRI research
- Updated resume to correct formatting of beenvoice project description
- Modified LaTeX hyperref package options for improved link visibility
2025-10-08 10:35:12 -04:00
1dfc70b1b4 Rewrite CV and resume for PhD applications, update skills and coursework
sections, and add recent publications and conference presentations
2025-09-08 23:07:31 -04:00
ef1a4de958 Summer 2025 Updates 2025-07-24 04:09:08 -04:00
685b5f5847 Update CV tutor role dates and README project structure
- Modify Engineering Study Spot Tutor date range in CV
- Update README.md with additional build scripts and refined project structure description
2025-02-06 14:51:22 -05:00
56f3bbca75 Refine research assistant role description for clarity 2025-02-06 14:44:09 -05:00
e21e945cd5 Add build-docker.sh and enhance build-local.sh with local LaTeX tool detection
- Create build-docker.sh script for Docker-based resume and CV generation
- Modify build-local.sh to check for local LaTeX tools and fallback to Docker if needed
- Implement functions to build PDFs using local tools or Docker
- Improve build process flexibility and error handling
2025-02-06 14:43:54 -05:00
55afdad907 Refactor CV and Resume templates to use shared components for modularity. Updated README to reflect new structure and added links to latest PDFs. Enhanced GitHub Actions workflow for automatic release management, including a streamlined process for versioned releases. 2024-12-11 13:31:28 -05:00
7840d7f286 Refactor README for clarity and update build-local.sh to remove personal_info.tex during cleanup. Enhanced project structure overview and streamlined setup instructions for public and private versions. 2024-12-11 12:38:22 -05:00
ad1fdb2dfc Update github action 2024-12-10 19:26:11 -05:00
1edc20193c Build caching 2024-12-10 19:07:50 -05:00
2c04a329c8 Update formatting of personal info, recreate releases 2024-12-10 17:25:42 -05:00
13 changed files with 565 additions and 445 deletions

View File

@@ -12,9 +12,13 @@ permissions:
jobs:
build-public:
runs-on: ubuntu-24.04
runs-on: ubuntu-latest
container: ghcr.io/xu-cheng/texlive-alpine:latest
steps:
- uses: actions/checkout@v3
- name: Install system dependencies
run: apk add --no-cache git gettext bash nodejs
- uses: actions/checkout@v4
- name: Create public info file
env:
@@ -40,7 +44,7 @@ jobs:
mv personal_info.tex.tmp personal_info.tex
- name: Cache TeX Live
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: |
/tmp/texlive
@@ -52,44 +56,48 @@ jobs:
- name: Create TeX Live directory
run: mkdir -p /tmp/texlive
- name: Set up TeX Live
uses: xu-cheng/latex-action@v3
with:
root_file: |
resume.tex
cv.tex
latexmk_use_xelatex: false
- name: Delete existing tag
continue-on-error: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Compile LaTeX
run: |
git tag -d latest || true
git push origin :refs/tags/latest || true
latexmk -pdf -file-line-error -halt-on-error -interaction=nonstopmode resume.tex
latexmk -pdf -file-line-error -halt-on-error -interaction=nonstopmode cv.tex
- name: List generated PDFs
run: ls -la *.pdf
- name: Upload Public PDFs as Release
uses: softprops/action-gh-release@v1
uses: akkuman/gitea-release-action@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
files: |
resume.pdf
cv.pdf
name: Latest PDFs
tag_name: latest
body: |
Latest version of resume and CV (public version)
prerelease: false
draft: false
fail_on_unmatched_files: true
generate_release_notes: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Create a numbered release for version history
- name: Create Numbered Release
uses: akkuman/gitea-release-action@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
files: |
resume.pdf
cv.pdf
name: Release ${{ github.run_number }}
tag_name: release-${{ github.run_number }}
prerelease: false
draft: false
build-private:
runs-on: ubuntu-24.04
runs-on: ubuntu-latest
container: ghcr.io/xu-cheng/texlive-alpine:latest
if: github.actor == github.repository_owner
steps:
- uses: actions/checkout@v3
- name: Install system dependencies
run: apk add --no-cache git gettext bash nodejs
- uses: actions/checkout@v4
- name: Create private info file
env:
@@ -121,7 +129,7 @@ jobs:
mv personal_info.tex.tmp personal_info.tex
- name: Cache TeX Live
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: |
/tmp/texlive
@@ -133,16 +141,16 @@ jobs:
- name: Create TeX Live directory
run: mkdir -p /tmp/texlive
- name: Set up TeX Live
uses: xu-cheng/latex-action@v3
with:
root_file: |
resume.tex
cv.tex
latexmk_use_xelatex: false
- name: Compile LaTeX
run: |
latexmk -pdf -file-line-error -halt-on-error -interaction=nonstopmode resume.tex
latexmk -pdf -file-line-error -halt-on-error -interaction=nonstopmode cv.tex
- name: List generated PDFs
run: ls -la *.pdf
- name: Upload Private PDFs
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v3
with:
name: private-documents
path: |

122
README.md
View File

@@ -1,77 +1,79 @@
# LaTeX Resume and CV Template
# Resume & CV Generator
This repository contains a LaTeX template for creating both a resume and an extended CV. The template is designed to handle both public and private versions of your documents, making it perfect for sharing on GitHub while keeping sensitive information private.
A LaTeX-based resume and CV generator with automated builds for both public and private versions. This repository serves two purposes:
1. An actively maintained resume/CV using modern CI/CD practices
2. A template that anyone can fork and customize for their own use
## Features
## Overview
- Clean, professional LaTeX template for both resume and CV
- Handles sensitive information securely using GitHub Secrets
- Automated PDF generation using GitHub Actions
- BibTeX integration for publications
- Public and private versions of documents
This project demonstrates professional DevOps practices while providing a beautiful LaTeX resume:
- Automated builds via GitHub Actions for continuous deployment
- Secure handling of sensitive information through environment variables
- Containerized local development with Docker
- Clean separation of content and styling
## Setup
## Latest PDFs
1. Fork this repository
2. For public use:
- The default `personal_info.tex` will be used with placeholder information
- Customize by editing `personal_info.tex` with your public information
3. For private use:
- Copy `personal_info_template.tex` to `personal_info_private.tex`
- Fill in your private information in `personal_info_private.tex`
- Add your sensitive information as GitHub Secrets (see below)
The most recent public versions are always available at:
- Resume: `https://github.com/soconnor0919/resume-cv/releases/download/latest/resume.pdf`
- CV: `https://github.com/soconnor0919/resume-cv/releases/download/latest/cv.pdf`
## GitHub Secrets
If mirroring to Gitea:
- Resume: `https://git.soconnor.dev/soconnor/resume-cv/releases/download/latest/resume.pdf`
- CV: `https://git.soconnor.dev/soconnor/resume-cv/releases/download/latest/cv.pdf`
To handle sensitive information in GitHub Actions, add these secrets to your repository:
- `PERSONAL_EMAIL`: Your primary email address
- `PERSONAL_PHONE`: Your phone number
- `PERSONAL_SCHOOL_EMAIL`: Your school email address
- `PERSONAL_HOME_ADDRESS`: Your home address (multi-line)
- `PERSONAL_SCHOOL_ADDRESS`: Your school address (multi-line)
Replace `USERNAME` with your GitHub username after forking.
## Local Development
1. Clone the repository
2. For public version:
- Use the existing `personal_info.tex`
3. For private version:
- Create `personal_info_private.tex` from the template
- Add your private information
4. Compile using:
```bash
# For initial compilation
pdflatex document.tex
# If you have bibliography
bibtex document
# Run twice more for references
pdflatex document.tex
pdflatex document.tex
```
Replace `document.tex` with either `cv.tex` or `resume.tex`
## GitHub Actions
The workflow automatically:
- Builds public versions of both resume and CV on every push
- Creates private versions if you're the repository owner
- Uploads both versions as artifacts
## Directory Structure
## Project Structure
```
.
├── cv.tex # Extended CV template
├── resume.tex # Resume template
├── personal_info.tex # Public information (committed)
├── personal_info_template.tex # Template for private info
├── personal_info_private.tex # Private information (git-ignored)
├── resume.tex # Resume template (subset of CV)
├── shared/ # Shared components
│ ├── style/ # Common LaTeX styles
│ │ └── common.tex # Shared style definitions
│ └── sections/ # Shared content sections
│ ├── header.tex # Contact information
│ ├── education.tex
│ ├── skills.tex
│ ├── coursework.tex
│ └── publications.tex
├── .secrets # Personal information (git-ignored)
├── build-local.sh # Local build script
├── build-docker.sh # Docker build script
├── generate-standalone-cv.sh # Generate standalone CV PDF
└── subfiles/
└── refs.bib # BibTeX references
└── refs.bib # BibTeX references
```
## Using as a Template
1. Fork this repository
2. Copy `.secrets-template` to `.secrets` and fill in your personal information
3. Run `./build-local.sh` to generate both public and private versions
- Public version omits sensitive information like phone and address
- Private version includes all personal details from `.secrets`
- The script automatically generates and cleans up temporary files
## Modifying Content
The project uses a modular structure to avoid duplication:
- Common sections are stored in `shared/sections/`
- Styling is defined in `shared/style/common.tex`
- The resume is a subset of the CV, reusing shared components
- Add new sections by creating files in `shared/sections/` and including them with `\input{}`
## CI/CD Pipeline
The repository showcases modern DevOps practices through GitHub Actions:
- Automated PDF generation on every push
- Public version published as GitHub release with stable URLs
- Private version securely generated for repository owner
- Environment variables managed through GitHub Secrets
You can see these practices in action by checking the [Actions tab](../../actions) and [Releases](../../releases).
## License
This template is available under the MIT License. Feel free to use and modify it for your own needs.
This template is available under the MIT License. Feel free to fork and customize it for your own needs.

88
build-docker.sh Executable file
View File

@@ -0,0 +1,88 @@
#!/bin/bash
# Source secrets if the file exists
if [ -f .secrets ]; then
source .secrets
else
echo "Warning: .secrets file not found. Building public version only."
fi
# Set defaults for missing variables
PERSONAL_NAME=${PERSONAL_NAME:-$(whoami)}
PERSONAL_EMAIL=${PERSONAL_EMAIL:-""}
PERSONAL_WEBSITE=${PERSONAL_WEBSITE:-""}
PERSONAL_SCHOOL_EMAIL=${PERSONAL_SCHOOL_EMAIL:-""}
PERSONAL_PHONE=${PERSONAL_PHONE:-""}
PERSONAL_HOME_ADDRESS_LINE1=${PERSONAL_HOME_ADDRESS_LINE1:-""}
PERSONAL_HOME_ADDRESS_LINE2=${PERSONAL_HOME_ADDRESS_LINE2:-""}
PERSONAL_SCHOOL_ADDRESS_LINE1=${PERSONAL_SCHOOL_ADDRESS_LINE1:-""}
PERSONAL_SCHOOL_ADDRESS_LINE2=${PERSONAL_SCHOOL_ADDRESS_LINE2:-""}
PERSONAL_SCHOOL_ADDRESS_LINE3=${PERSONAL_SCHOOL_ADDRESS_LINE3:-""}
# Function to cleanup
cleanup() {
rm -f *.aux *.log *.out *.fls *.fdb_latexmk *.synctex.gz *.bbl *.blg personal_info.tex
if [ -f personal_info.tex.bak ]; then
mv personal_info.tex.bak personal_info.tex
fi
}
trap cleanup EXIT
mkdir -p output
# Backup current personal_info.tex if it exists
if [ -f personal_info.tex ]; then
cp personal_info.tex personal_info.tex.bak
fi
# Build private version (if secrets are available)
if [ -n "$PERSONAL_PHONE" ] || [ -n "$PERSONAL_HOME_ADDRESS_LINE1" ] || [ -n "$PERSONAL_SCHOOL_ADDRESS_LINE1" ]; then
echo "Building private version..."
cat > personal_info.tex << EOL
% Private version of personal information
\newcommand{\personalName}{$PERSONAL_NAME}
\newcommand{\personalEmail}{$PERSONAL_EMAIL}
\newcommand{\personalPhone}{$PERSONAL_PHONE}
\newcommand{\personalWebsite}{$PERSONAL_WEBSITE}
\newcommand{\personalSchoolEmail}{$PERSONAL_SCHOOL_EMAIL}
\newcommand{\personalHomeAddressLineOne}{$PERSONAL_HOME_ADDRESS_LINE1}
\newcommand{\personalHomeAddressLineTwo}{$PERSONAL_HOME_ADDRESS_LINE2}
\newcommand{\personalSchoolAddressLineOne}{$PERSONAL_SCHOOL_ADDRESS_LINE1}
\newcommand{\personalSchoolAddressLineTwo}{$PERSONAL_SCHOOL_ADDRESS_LINE2}
\newcommand{\personalSchoolAddressLineThree}{$PERSONAL_SCHOOL_ADDRESS_LINE3}
EOL
docker build --platform linux/arm64 -t resume-builder .
docker run --platform linux/arm64 --rm \
-v "$(pwd):/workspace" \
-v "$(pwd)/output:/workspace/output" \
resume-builder bash -c "latexmk -pdf -file-line-error -halt-on-error -interaction=nonstopmode resume.tex cv.tex && mv *.pdf output/"
mv output/resume.pdf output/resume-private.pdf 2>/dev/null || true
mv output/cv.pdf output/cv-private.pdf 2>/dev/null || true
fi
# Build public version
echo "Building public version..."
cat > personal_info.tex << EOL
% Public version of personal information
\newcommand{\personalName}{$PERSONAL_NAME}
\newcommand{\personalEmail}{$PERSONAL_EMAIL}
\newcommand{\personalPhone}{~}
\newcommand{\personalWebsite}{$PERSONAL_WEBSITE}
\newcommand{\personalSchoolEmail}{$PERSONAL_SCHOOL_EMAIL}
\newcommand{\personalHomeAddressLineOne}{~}
\newcommand{\personalHomeAddressLineTwo}{~}
\newcommand{\personalSchoolAddressLineOne}{~}
\newcommand{\personalSchoolAddressLineTwo}{~}
\newcommand{\personalSchoolAddressLineThree}{~}
EOL
docker run --platform linux/arm64 --rm \
-v "$(pwd):/workspace" \
-v "$(pwd)/output:/workspace/output" \
resume-builder bash -c "latexmk -pdf -file-line-error -halt-on-error -interaction=nonstopmode resume.tex cv.tex && mv resume.pdf output/resume-public.pdf && mv cv.pdf output/cv-public.pdf"
echo "Build complete!"
echo "Generated files in output/:"
ls -l output/

View File

@@ -1,5 +1,12 @@
#!/bin/bash
# Check if building specific CV variant
CV_VARIANT=""
if [ "$1" = "cv-upenn" ]; then
CV_VARIANT="cv-upenn"
echo "Building UPenn-optimized CV..."
fi
# Source secrets if the file exists
if [ -f .secrets ]; then
source .secrets
@@ -21,7 +28,7 @@ PERSONAL_SCHOOL_ADDRESS_LINE3=${PERSONAL_SCHOOL_ADDRESS_LINE3:-""}
# Function to cleanup
cleanup() {
rm -f *.aux *.log *.out *.fls *.fdb_latexmk *.synctex.gz *.bbl *.blg
rm -f *.aux *.log *.out *.fls *.fdb_latexmk *.synctex.gz *.bbl *.blg personal_info.tex
if [ -f personal_info.tex.bak ]; then
mv personal_info.tex.bak personal_info.tex
fi
@@ -30,11 +37,35 @@ cleanup() {
trap cleanup EXIT
mkdir -p output
# Check if required LaTeX tools are available locally
check_latex_tools() {
command -v latexmk >/dev/null 2>&1 || return 1
command -v pdflatex >/dev/null 2>&1 || return 1
return 0
}
# Function to build using local tools
build_local() {
latexmk -pdf -file-line-error -halt-on-error -interaction=nonstopmode "$1"
}
# Function to build using Docker
build_docker() {
echo "Local LaTeX tools not found, falling back to Docker..."
./build-docker.sh
exit $?
}
# Backup current personal_info.tex if it exists
if [ -f personal_info.tex ]; then
cp personal_info.tex personal_info.tex.bak
fi
# Check if we can use local tools, otherwise fall back to Docker
if ! check_latex_tools; then
build_docker
fi
# Build private version (if secrets are available)
if [ -n "$PERSONAL_PHONE" ] || [ -n "$PERSONAL_HOME_ADDRESS_LINE1" ] || [ -n "$PERSONAL_SCHOOL_ADDRESS_LINE1" ]; then
echo "Building private version..."
@@ -52,14 +83,11 @@ if [ -n "$PERSONAL_PHONE" ] || [ -n "$PERSONAL_HOME_ADDRESS_LINE1" ] || [ -n "$P
\newcommand{\personalSchoolAddressLineThree}{$PERSONAL_SCHOOL_ADDRESS_LINE3}
EOL
docker build --platform linux/arm64 -t resume-builder .
docker run --platform linux/arm64 --rm \
-v "$(pwd):/workspace" \
-v "$(pwd)/output:/workspace/output" \
resume-builder bash -c "latexmk -pdf -file-line-error -halt-on-error -interaction=nonstopmode resume.tex cv.tex && mv *.pdf output/"
build_local resume.tex
build_local cv.tex
mv output/resume.pdf output/resume-private.pdf 2>/dev/null || true
mv output/cv.pdf output/cv-private.pdf 2>/dev/null || true
mv resume.pdf output/resume-private.pdf 2>/dev/null || true
mv cv.pdf output/cv-private.pdf 2>/dev/null || true
fi
# Build public version
@@ -78,11 +106,19 @@ cat > personal_info.tex << EOL
\newcommand{\personalSchoolAddressLineThree}{~}
EOL
docker run --platform linux/arm64 --rm \
-v "$(pwd):/workspace" \
-v "$(pwd)/output:/workspace/output" \
resume-builder bash -c "latexmk -pdf -file-line-error -halt-on-error -interaction=nonstopmode resume.tex cv.tex && mv resume.pdf output/resume-public.pdf && mv cv.pdf output/cv-public.pdf"
# Build specific CV variant if requested
if [ "$CV_VARIANT" = "cv-upenn" ]; then
build_local cv-upenn.tex
mv cv-upenn.pdf output/cv-upenn.pdf
echo "UPenn CV build complete! Generated: output/cv-upenn.pdf"
else
build_local resume.tex
build_local cv.tex
echo "Build complete!"
echo "Generated files in output/:"
ls -l output/
mv resume.pdf output/resume-public.pdf
mv cv.pdf output/cv-public.pdf
echo "Build complete!"
echo "Generated files in output/:"
ls -l output/
fi

357
cv.tex
View File

@@ -1,253 +1,224 @@
\documentclass{article}
\setlength{\parindent}{0pt}
\setlength{\parskip}{0em}
\usepackage{enumitem}
\usepackage{hyperref}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[left=0.5in,top=0.5in,right=0.5in,bottom=0.5in]{geometry}
% Define spacing variables
\newlength{\sectspaceabove}
\newlength{\sectspacebelow}
\setlength{\sectspaceabove}{-0em} % Space before section titles
\setlength{\sectspacebelow}{-0.5em} % Space after section titles
\usepackage{etoolbox}
\patchcmd{\thebibliography}{\section*{\refname}}{}{}{}
% Hide page numbers
\pagestyle{empty}
% Custom macro for small caps and bold
\newcommand{\textscbf}[1]{\textbf{\textsc{#1}}}
% Custom macro for section headers with controlled spacing
\newcommand{\resumesection}[1]{%
\vspace{\sectspaceabove}%
\begin{center}
\textscbf{#1}
\end{center}%
\vspace{\sectspacebelow}%
}
% Include common style
\input{shared/style/common}
% Include personal information
\input{personal_info}
\begin{document}
\begin{center}
{\large \textscbf{\personalName}}
\end{center}
\vspace{0.5em}
% Header with contact information
\input{shared/sections/header}
\noindent
\begin{minipage}[t]{0.33\textwidth}
\raggedright
\ifx\personalSchoolAddressLineOne\empty\else
\mbox{}\par\nobreak\vspace{-\baselineskip}
\personalSchoolAddressLineOne\\%
\personalSchoolAddressLineTwo\\%
\personalSchoolAddressLineThree%
\fi
\end{minipage}%
\hfill%
\begin{minipage}[t]{0.33\textwidth}
\centering
\href{mailto:\personalEmail}{\personalEmail}%
\ifx\personalSchoolEmail\empty\else
\\\href{mailto:\personalSchoolEmail}{\personalSchoolEmail}%
\fi
\ifx\personalPhone\empty\else
\\\personalPhone%
\fi
\\\href{https://\personalWebsite}{\personalWebsite}%
\end{minipage}%
\hfill%
\begin{minipage}[t]{0.33\textwidth}
\raggedleft
\ifx\personalHomeAddressLineOne\empty\else
\personalHomeAddressLineOne\\%
\personalHomeAddressLineTwo%
\fi
\end{minipage}
\resumesection{Research Interests}
\vspace{1em}
I'm passionate about human-robot interaction and developing technologies that make robots better collaborators with humans. My work focuses on creating reproducible research methodologies, particularly through Wizard-of-Oz experiments, and building platforms that lower barriers for HRI researchers. I'm especially interested in how we can make robot behaviors more trustworthy and explainable, and how to design effective frameworks for studying human-robot collaboration across different contexts and applications.
% Professional Summary Section
\noindent
\begin{minipage}{\textwidth}
\textbf{Professional Summary:} Computer Science and Engineering student with extensive experience in software development, robotics research, and technical leadership.
Demonstrated track record of building scalable solutions and leading cross-functional teams.
Published researcher in human-robot interaction with experience in both academic and commercial software development.
\end{minipage}
% Education section
\input{shared/sections/education}
\resumesection{Education}
% Publications - moved higher for PhD applications
\input{shared/sections/publications}
\textscbf{Bucknell University} \hfill \textscbf{Lewisburg, PA}
\resumesection{Research Experience}
\textbf{Bachelor of Science in Computer Science and Engineering} \hfill \textbf{Expected Graduation: May 2026}
\textscbf{Human-Robot Interaction Research} \hfill \textscbf{Bucknell University}
\textbf{Lead Researcher - HRIStudio Platform Development} \hfill \textbf{Jan 2023 Present}
\textit{Advisor: Dr. L. Felipe Perrone, Computer Science Department}
\begin{itemize}[noitemsep,topsep=2pt]
\item Cumulative Engineering GPA: 3.90. Dean's List: Fall 2022, Fall 2023, Spring 2024
\item Developing HRIStudio, a novel web-based platform addressing reproducibility challenges in Wizard-of-Oz HRI studies, with two first-author publications at IEEE RO-MAN 2024 and 2025
\item Designed modular architecture enabling cross-platform robot control without specialized programming knowledge, lowering technical barriers for HRI researchers across disciplines
\item Implemented comprehensive data logging and playback capabilities for experimental analysis, supporting rigorous scientific methodology in human-robot interaction studies
\item Currently developing honors thesis evaluating platform effectiveness and impact on interdisciplinary HRI research accessibility
\item Conducted literature review identifying key challenges in WoZ methodology reproducibility, informing platform design decisions and feature prioritization
\end{itemize}
\resumesection{Experience}
\textscbf{Interdisciplinary Research Collaboration} \hfill \textscbf{Bucknell University}
\textbf{Computer Science Research Assistant - Chemical Engineering Department} \hfill \textbf{Aug 2023 May 2025}
\textit{Collaborating with Chemical Engineering Department on Environmental Monitoring}
\begin{itemize}[noitemsep,topsep=2pt]
\item Developed automated data collection and analysis tools for environmental research, processing real-time sensor data streams for atmospheric and water quality monitoring
\item Built custom Python pipelines integrating multiple data sources, enabling researchers to identify patterns in environmental data that informed conference presentations
\item Bridged computer science expertise with domain-specific research needs, demonstrating ability to collaborate across disciplines
\end{itemize}
\textscbf{RoboLab@Bucknell} \hfill \textscbf{Bucknell University}
\textbf{Founding Member and Research Participant} \hfill \textbf{Sep 2023 - Present}
\textit{Interdisciplinary lab bridging Computer Science and Psychology perspectives on HRI}
\begin{itemize}[noitemsep,topsep=2pt]
\item Participate in weekly research seminars exploring human-robot trust, automation bias, and ethical implications of autonomous systems
\item Contribute to discussions on experimental design for HRI studies, bringing technical perspective to psychological research questions
\end{itemize}
\resumesection{Teaching Experience}
\textscbf{Computer Science Department} \hfill \textscbf{Bucknell University}
\textbf{Teaching Assistant - Software Engineering \& Design} \hfill \textbf{Jan 2024 - Present}
\begin{itemize}[noitemsep,topsep=2pt]
\item Mentor 150+ students in software engineering principles, design patterns, and collaborative development practices
\item Developed automated testing frameworks with personalized feedback, improving learning outcomes while streamlining assessment processes
\item Created supplementary materials connecting theoretical concepts to real-world applications, drawing from industry experience
\item Hold regular office hours and code review sessions, fostering deep understanding of software architecture principles
\end{itemize}
\textbf{Computer Science Tutor - Engineering Study Spot} \hfill \textbf{Aug 2024 - Dec 2024}
\begin{itemize}[noitemsep,topsep=2pt]
\item Provided one-on-one tutoring across the entire computer science curriculum, from introductory programming to advanced algorithms
\item Developed personalized learning strategies for students with diverse backgrounds and learning styles
\end{itemize}
\textscbf{Engineering Department} \hfill \textscbf{Bucknell University}
\textbf{Teaching Assistant - Engineering Design Experience} \hfill \textbf{Aug 2023 - Dec 2023}
\begin{itemize}[noitemsep,topsep=2pt]
\item Guided 40+ engineering students through Arduino programming and breadboard circuit design
\item Supervised hands-on laboratory sessions involving microcontroller programming and sensor integration
\item Facilitated discussions on engineering ethics and the societal implications of embedded system design
\end{itemize}
\textscbf{Physics Department} \hfill \textscbf{Bucknell University}
\textbf{Teaching Assistant - Experimental Physics Laboratory} \hfill \textbf{Aug 2023 - May 2024}
\begin{itemize}[noitemsep,topsep=2pt]
\item Instructed 100+ students in experimental design, data analysis, and scientific writing
\item Emphasized connection between theoretical physics principles and experimental validation
\item Guided students through error analysis and uncertainty quantification in experimental measurements
\end{itemize}
\resumesection{Selected Projects}
\textbf{HRIStudio - Web-Based Wizard-of-Oz Platform} \hfill \textbf{TypeScript/React/WebRTC}
\begin{itemize}[noitemsep,topsep=2pt]
\item Architected full-stack web application for managing HRI experiments with real-time robot control interfaces
\item Implemented WebSocket-based bidirectional communication protocols for low-latency robot teleoperation
\item Designed RESTful API leveraging Robot Operating System with JSON-defined plugins for extensibility across multiple robot platforms
\item Created comprehensive logging system capturing interaction data, timestamps, and experimental conditions for reproducibility
\item Technologies: Next.js, React, TypeScript, Node.js, WebSockets, PostgreSQL, Docker
\end{itemize}
\textbf{Autonomous Vehicle Control System - Chem-E-Car Competition} \hfill \textbf{C++/Arduino}
\begin{itemize}[noitemsep,topsep=2pt]
\item Designed embedded control system for autonomous hydrogen fuel cell-powered vehicle using finite state machine architecture
\item Implemented real-time sensor fusion combining spectrometer readings and power monitoring with calculated stopping algorithms
\item Developed PlatformIO-based build system with hardware abstraction layer for testing and simulation
\item Achieved precise distance control (±10cm) through chemical reaction timing at AIChE National Competition
\item Technologies: C++, Arduino, PlatformIO, I2C/SPI protocols, finite state machines
\end{itemize}
\textbf{Formula One Performance Prediction Using Machine Learning} \hfill \textbf{Python/ML}
\begin{itemize}[noitemsep,topsep=2pt]
\item Developed ensemble machine learning models (LightGBM, XGBoost, Random Forest) to predict F1 lap times with high accuracy
\item Engineered features from weather data, track characteristics, and historical performance using domain knowledge
\item Implemented cross-validation and hyperparameter optimization for model evaluation across multiple racing circuits
\item Analyzed feature importance to understand factors influencing racing performance
\item Technologies: Python, LightGBM, XGBoost, Random Forest, pandas, scikit-learn, FastF1 API
\end{itemize}
\textbf{Real-time Racing Statistics Platform} \hfill \textbf{TypeScript/Next.js}
\begin{itemize}[noitemsep,topsep=2pt]
\item Built production system serving 1500+ concurrent users and 250k+ monthly visitors
\item Implemented WebSocket-based real-time data streaming with automatic reconnection and state synchronization
\item Designed responsive UI with accessibility features meeting WCAG 2.1 AA standards
\item Optimized database queries reducing page load times by 60\% through intelligent caching and indexing
\item Technologies: Next.js, TypeScript, PostgreSQL, Docker, DigitalOcean
\end{itemize}
\resumesection{Professional Experience}
\textscbf{Riverhead Raceway} \hfill \textscbf{Riverhead, NY}
\textbf{Software Developer} \hfill \textbf{Oct 2020 Present}
\begin{itemize}[noitemsep,topsep=2pt]
\item Engineered a digital registration platform that modernized paper-based processes, integrating payment processing and real-time number availability checking, eliminating manual processing delays
\item Built and deployed a high-performance race statistics platform serving 1500+ concurrent users, providing real-time access to driver positions, rankings, and lineups, replacing physical bulletin boards
\item Developed an intuitive content management system tailored for non-technical staff, enabling content management through familiar interfaces while maintaining website consistency
\item Orchestrated migration to containerized architecture using Docker and implemented automated backup systems to improve reliability
\item Architected and deployed production systems handling 250k+ monthly users and \$100,000+ in payment processing
\item Led digital transformation initiative, replacing legacy paper-based systems with modern web applications
\item Implemented CI/CD pipelines, containerization, and infrastructure as code using Docker and GitHub Actions
\item Developed RESTful APIs and microservices architecture for scalable, maintainable systems
\end{itemize}
\textbf{IT Administrator} \hfill \textbf{Oct 2020 - Apr 2024}
\begin{itemize}[noitemsep,topsep=2pt]
\item Engineered migration from consumer desktop computers to enterprise thin clients with virtualization servers, improving reliability and remote access capabilities enabling continued support while away at university
\item Implemented automated backup solutions using the Backblaze platform with version control and disaster recovery procedures
\item Deployed Windows Server with Active Directory for centralized user management and file storage
\item Established standardized workstation images and software deployment protocols across facilities
\end{itemize}
\textbf{Media Producer} \hfill \textbf{Oct 2020 - Apr 2024}
\begin{itemize}[noitemsep,topsep=2pt]
\item Designed and deployed facility's first multi-camera live streaming system with ATEM production switchers and custom graphics pipeline
\item Developed real-time graphics integration system connecting race timing data to broadcast overlays
\item Operated replay and instant highlight system for live broadcast to FloRacing and NBC Sports networks
\item Managed live production during race events, coordinating camera operators, replay, and graphics control
\end{itemize}
\textscbf{Bucknell University} \hfill \textscbf{Lewisburg, PA}
\textbf{Computer Science Researcher - Human-Robot Interaction} \hfill \textbf{Jan 2023 Present}
\begin{itemize}[noitemsep,topsep=2pt]
\item Engineered a modular web-based experimental platform for human-robot interaction studies using the Wizard of Oz experimental paradigm and ROS2 and C++/Python
\item Published and presented a first-author paper and poster at the 33rd IEEE International Conference on Robot and Human Interactive Communication
\end{itemize}
\textbf{Computer Science Research Assistant - Chemical Engineering Department} \hfill \textbf{Aug 2023 Present}
\begin{itemize}[noitemsep,topsep=2pt]
\item Designed and implemented an automated data collection system using a microcontroller and C++ to collect real-time temperature, pressure, and humidity data in harsh environments
\item Currently integrating robotic arm into existing coffee research project to automate repeated brewing-related tasks and data collection, freeing up researchers from unskilled repetitive work
\end{itemize}
\textbf{Computer Science Teaching Assistant} \hfill \textbf{Jan 2024 - Present}
\begin{itemize}[noitemsep,topsep=2pt]
\item Led lecture and lab sections focusing on agile development practices and following scrum guidelines for group work in the field of computer science.
\item Assisted students with classwork, homework, and lab assignments, focusing on teaching students how to find the answers to their questions using existing documentation
\end{itemize}
\textbf{Engineering Study Spot Tutor - Computer Science} \hfill \textbf{Aug 2024 - Present}
\begin{itemize}[noitemsep,topsep=2pt]
\item Held drop-in help sessions for computer science students throughout all stages of the curriculum, assisting with introductory courses, software engineering, and systems programming assignments
\end{itemize}
\textbf{Engineering Teaching Assistant} \hfill \textbf{Aug 2023 - Dec 2023}
\begin{itemize}[noitemsep,topsep=2pt]
\item Led recurring workshops on Arduino-based microcontroller programming, assembly, and wiring for multidisciplinary student engineering projects
\item Assisted students during class and lab sections on their design session projects, with emphasis on engineering ethics education
\end{itemize}
\textbf{Physics Teaching Assistant} \hfill \textbf{Aug 2023 - May 2024}
\begin{itemize}[noitemsep,topsep=2pt]
\item Assisted students during laboratory sections with introductory and exploratory physics lab experiments, working with industry-standard data collection and analysis tools
\item Modernized IT infrastructure from consumer to enterprise-grade systems, improving uptime to 99.9\%
\item Implemented comprehensive backup and disaster recovery protocols protecting critical business data
\item Automated system administration tasks using PowerShell and Bash scripting
\end{itemize}
\textscbf{Miller Place School District} \hfill \textscbf{Miller Place, NY}
\textbf{Information Technology Intern} \hfill \textbf{Sep 2020 - May 2022}
\begin{itemize}[noitemsep,topsep=2pt]
\item Worked under senior technical staff to assist faculty, staff and students with district-owned printers and computers
\item Assisted staff in one-laptop per person deployment and support in response to the COVID-19 pandemic, teaching students how to fully utilize newly-available remote learning tools and programs
\item Supported 1000+ students and faculty during COVID-19 transition to remote learning
\item Deployed and maintained educational technology platforms and troubleshooted hardware/software issues
\end{itemize}
\resumesection{Leadership \& Activities}
\resumesection{Activities}
\textscbf{AIChE Chem-E-Car Competition Team} \hfill \textscbf{Bucknell University}
\textscbf{AIChE Chem-E-Car Competition Team} \hfill \textscbf{Lewisburg, PA}
\textbf{President, Electrical and Mechanical Team Lead} \hfill \textbf{Jan 2023 Present}
\textbf{Former President, Current Electrical/Mechanical Team Lead} \hfill \textbf{Jan 2023 Present}
\begin{itemize}[noitemsep,topsep=2pt]
\item Pioneered team's first custom hardware solution: designed and fabricated a microcontroller-based control system with isolated power circuits for hydrogen fuel cell regulation
\item Implemented finite state machine architecture integrating spectrometer readings, relay control, and LED feedback for real-time reaction monitoring in isolated chamber conditions
\item Led 15-member interdisciplinary team in designing autonomous chemical-powered vehicles for national competition
\item Introduced agile development methodologies and version control practices to hardware development process
\item Mentored junior members in embedded systems programming and control theory
\end{itemize}
\textscbf{Bucknell Coffee Society} \hfill \textscbf{Lewisburg, PA}
\textscbf{Bucknell Coffee Society} \hfill \textscbf{Bucknell University}
\textbf{Treasurer} \hfill \textbf{Oct 2023 Present}
\textbf{Co-Founder and Treasurer} \hfill \textbf{Oct 2023 Present}
\begin{itemize}[noitemsep,topsep=2pt]
\item Co-established and launched a new campus organization, managing financial operations and coordinating event logistics.
\item Presented on ongoing research for publication by Bucknell's student story, engineering report, and fall magazine
\item Co-established campus organization promoting coffee education and community building
\item Manage \$5,000+ annual budget, coordinate events, and maintain vendor relationships
\item Organized educational workshops on coffee science, brewing techniques, and sustainability
\end{itemize}
\textscbf{RoboLab@Bucknell} \hfill \textscbf{Lewisburg, PA}
\resumesection{Conferences \& Presentations}
\textbf{Founding Member} \hfill \textbf{Sep 2023 - Present}
\textscbf{IEEE RO-MAN 2025} \hfill \textscbf{Eindhoven, The Netherlands}
\textbf{34th International Conference on Robot and Human Interactive Communication} \hfill \textbf{Aug 2025}
\begin{itemize}[noitemsep,topsep=2pt]
\item Led and participated in group discussions in a new lab bridging computer science and psychology perspectives on human-robot interaction, working with the complexities of human-robot trust, job replacement, and autonomy
\item Presented: "A Web-Based Wizard-of-Oz Platform for Collaborative and Reproducible Human-Robot Interaction Research"
\end{itemize}
\resumesection{Conferences and Competitions}
\textscbf{IEEE RO-MAN 2024} \hfill \textscbf{Pasadena, CA}
\textscbf{IEEE International Conference on Robot and Human Interactive Communication} \hfill \textscbf{Aug 2024}
\textbf{33rd International Conference on Robot and Human Interactive Communication} \hfill \textbf{Aug 2024}
\begin{itemize}[noitemsep,topsep=2pt]
\item Presented a first-author paper in a poster session regarding my project HRIStudio, a novel tool enabling human-robot interaction experiments to be conducted by those unfamiliar with robotic platforms and programming
\item Presented: "HRIStudio: A Framework for Wizard-of-Oz Experiments in HRI Studies" (Late Breaking Report)
\end{itemize}
\textbf{AIChE Annual Student Conference} \hfill \textscbf{Oct 2024}
\textscbf{AIChE Annual Student Conference} \hfill \textscbf{San Diego, CA}
\textbf{Chem-E-Car Performance Competition} \hfill \textbf{Oct 2024}
\begin{itemize}[noitemsep,topsep=2pt]
\item Competed in the 2024 National AIChE Chem-E-Car Performance Competition with Bucknell's car, H\textsubscript{2}Go
\item Presented the design of our car in a poster session, heavily focusing on the safety-related aspects of our design
\item Competed in National Chem-E-Car Performance Competition with autonomous hydrogen fuel cell vehicle
\item Presented poster on safety-critical embedded systems design
\end{itemize}
\textbf{AIChE Mid-Atlantic Regional Conference} \hfill \textscbf{Apr 2024}
\textscbf{AIChE Mid-Atlantic Regional Conference} \hfill \textscbf{UMBC, Baltimore, MD}
\textbf{Chem-E-Car Performance Competition} \hfill \textbf{Apr 2024}
\begin{itemize}[noitemsep,topsep=2pt]
\item Placed second overall in the 2024 Mid-Atlantic AIChE Chem-E-Car Performance Competition with our car, H\textsubscript{2}Go
\item Presented the design of our car in a poster session, heavily focusing on the safety-related aspects of our design
\item Placed 2nd overall in regional Chem-E-Car Competition
\end{itemize}
\textbf{Specialty Coffee Exposition} \hfill \textscbf{Mar 2024}
% Shared sections
\input{shared/sections/coursework}
\input{shared/sections/skills}
\resumesection{Honors \& Awards}
\begin{itemize}[noitemsep,topsep=2pt]
\item Attended as a representative of the Bucknell Coffee Society, meeting with vendors and equipment manufacturers to request sponsorship, donations, and educational materials for our club
\item Dean's List (5 semesters): Fall 2022, Fall 2023, Spring 2024, Fall 2024, Spring 2025
\item Engineering GPA: 3.86/4.0
\item AIChE Mid-Atlantic Chem-E-Car Competition - 2nd Place (2024)
\end{itemize}
\textbf{AIChE Annual Student Conference} \hfill \textscbf{Oct 2023}
\begin{itemize}[noitemsep,topsep=2pt]
\item Attended as a representative of Bucknell's Chem-E-Car team, discussing designs and reactions with other teams to kickstart development of the next year's car
\end{itemize}
\textbf{AIChE Mid-Atlantic Regional Conference} \hfill \textscbf{Apr 2023}
\begin{itemize}[noitemsep,topsep=2pt]
\item Competed in the 2023 Mid-Atlantic AIChE Chem-E-Car Performance Competition with our car, H\textsubscript{2}Go
\item Presented the design of our car in a poster session, heavily focusing on the safety-related aspects of our design
\end{itemize}
\resumesection{Publications}
\nocite{*}
\bibliography{subfiles/refs.bib}
\bibliographystyle{plain}
\resumesection{Relevant Coursework}
\textbf{Systems \& Architecture:} Computer Systems, Operating Systems Design, Computer Networks \& Security
\textbf{Software Development:} Software Engineering, Data Structures \& Algorithms, Research Methods, Ethics in Computing
\textbf{Mathematics:} Calculus II, Linear Algebra, Discrete Mathematics, Statistics, Applied Statistics with R, Data Mining
\resumesection{Skills \& Interests}
\textbf{Languages \& Frameworks:} Java, C/C++, Python, JavaScript/TypeScript, React, Next.js, PHP, SQL
\textbf{Backend \& DevOps:} REST APIs, MySQL, PostgreSQL, Docker, Apache Web Server, NGINX, ROS2
\textbf{Cloud \& Infrastructure:} AWS, GCP, Azure, Backblaze, Linux (RHEL/Debian), CI/CD
\textbf{Development Tools:} Git, JetBrains Suite, VS Code, Cursor, Linux CLI
\end{document}
\end{document}

View File

@@ -1,87 +1,18 @@
\documentclass{article}
\setlength{\parindent}{0pt}
\setlength{\parskip}{0em}
\usepackage{enumitem}
\usepackage{hyperref}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[left=0.5in,top=0.5in,right=0.5in,bottom=0.5in]{geometry}
% Define spacing variables
\newlength{\sectspaceabove}
\newlength{\sectspacebelow}
\setlength{\sectspaceabove}{-0.5em} % Space before section titles
\setlength{\sectspacebelow}{-0.5em} % Space after section titles
\usepackage{etoolbox}
\patchcmd{\thebibliography}{\section*{\refname}}{}{}{}
% Hide page numbers
\pagestyle{empty}
% Custom macro for small caps and bold
\newcommand{\textscbf}[1]{\textbf{\textsc{#1}}}
% Custom macro for section headers with controlled spacing
\newcommand{\resumesection}[1]{%
\vspace{\sectspaceabove}%
\begin{center}
\textscbf{#1}
\end{center}%
\vspace{\sectspacebelow}%
}
% Include common style
\input{shared/style/common}
% Include personal information
\input{personal_info}
\begin{document}
\begin{center}
{\large \textscbf{\personalName}}
\end{center}
\vspace{0.5em}
% Header with contact information
\input{shared/sections/header}
\noindent
\begin{minipage}[t]{0.33\textwidth}
\raggedright
\ifx\personalSchoolAddressLineOne\empty\else
\mbox{}\par\nobreak\vspace{-\baselineskip}
\personalSchoolAddressLineOne\\%
\personalSchoolAddressLineTwo\\%
\personalSchoolAddressLineThree%
\fi
\end{minipage}%
\hfill%
\begin{minipage}[t]{0.33\textwidth}
\centering
\href{mailto:\personalEmail}{\personalEmail}%
\ifx\personalSchoolEmail\empty\else
\\\href{mailto:\personalSchoolEmail}{\personalSchoolEmail}%
\fi
\ifx\personalPhone\empty\else
\\\personalPhone%
\fi
\\\href{https://\personalWebsite}{\personalWebsite}%
\end{minipage}%
\hfill%
\begin{minipage}[t]{0.33\textwidth}
\raggedleft
\ifx\personalHomeAddressLineOne\empty\else
\personalHomeAddressLineOne\\%
\personalHomeAddressLineTwo%
\fi
\end{minipage}
\vspace{1em}
\resumesection{Education}
\textscbf{Bucknell University} \hfill \textscbf{Lewisburg, PA}
\textbf{Bachelor of Science in Computer Science and Engineering} \hfill \textbf{Expected Graduation: May 2026}
\begin{itemize}[noitemsep,topsep=2pt]
\item Cumulative Engineering GPA: 3.90. Dean's List: Fall 2022, Fall 2023, Spring 2024
\end{itemize}
% Education section
\input{shared/sections/education}
\resumesection{Experience}
@@ -89,95 +20,65 @@
\textbf{Software Developer} \hfill \textbf{Oct 2020 Present}
\begin{itemize}[noitemsep,topsep=2pt]
\item Engineered a digital registration platform that modernized paper-based processes, integrating payment processing and real-time number availability checking, eliminating manual processing delays
\item Built and deployed a high-performance race statistics platform serving 1500+ concurrent users, providing real-time access to driver positions, rankings, and lineups, replacing physical bulletin boards
\item Developed an intuitive content management system tailored for non-technical staff, enabling content management through familiar interfaces while maintaining website consistency
\item Orchestrated migration to containerized architecture using Docker and implemented automated backup systems to improve reliability
\item Developed real-time statistics platform serving 1500+ concurrent users and 250k monthly website visits
\item Built payment processing platform handling \$100,000+ in transactions with automated content management
\item Modernized infrastructure through containerization and automation for reliable operations
\end{itemize}
%\textscbf{Bucknell University} \hfill \textscbf{Lewisburg, PA}
%
%\textbf{Computer Science Researcher - Human-Robot Interaction} \hfill \textbf{Jan 2023 Present}
%\begin{itemize}[noitemsep,topsep=2pt]
% \item Co-founded an interdisciplinary research lab and meeting group, engaging peers in the world of human-robot interaction
% \item Led ongoing development of a platform for Human-Robot Interaction experiments, resulting in a first-author publication
%\end{itemize}
%
%\textbf{Teaching Assistant and Tutor - Computer Science, Engineering, and Physics} \hfill \textbf{Aug 2023 - Present}
%\begin{itemize}[noitemsep,topsep=2pt]
%\item Mentored diverse student groups in Java programming, Arduino development, and physics lab experiments, adapting teaching methods to various learning styles
%\item Guided engineering teams through agile development cycles while emphasizing ethical design considerations and proper documentation
%\item Supported data analysis across disciplines using Excel, Logger Pro, and custom software tools
%\item Fostered inclusive learning environments through hands-on workshops and one-on-one tutoring sessions
%\end{itemize}
%
%\textbf{Computer Science Research Assistant - Chemical Engineering Department} \hfill \textbf{Aug 2023 Present}
%\begin{itemize}[noitemsep,topsep=2pt]
% \item Developed sensor systems to improve data collection in coffee-related biochemical research, enhancing accuracy and efficiency of experiments using custom software tools to streamline data analysis.
%\end{itemize}
%
\textscbf{Bucknell University} \hfill \textscbf{Lewisburg, PA}
\textbf{Computer Science Researcher - Human-Robot Interaction} \hfill \textbf{Jan 2023 Present}
\begin{itemize}[noitemsep,topsep=2pt]
\item Engineered a modular web-based experimental platform for human-robot interaction studies using the Wizard of Oz experimental paradigm and ROS2 and C++/Python, resulting in a first-author publication
\item Co-founded and led weekly research discussions in a new lab bridging computer science and psychology perspectives on human-robot interaction
\item Led research and authored first-author papers at IEEE RO-MAN 2024 and 2025 conferences
\item Developed web-based HRIStudio platform addressing reproducibility challenges in Wizard-of-Oz studies
\end{itemize}
\textbf{Computer Science Research Assistant - Chemical Engineering Department} \hfill \textbf{Aug 2023 Present}
\textbf{Computer Science Research Assistant - Chemical Engineering Department} \hfill \textbf{Aug 2023 May 2025}
\begin{itemize}[noitemsep,topsep=2pt]
\item Designed and implemented an automated data collection system using a microcontroller and C++ to collect real-time temperature, pressure, and humidity data in harsh environments
\item Currently integrating robotic arm into existing coffee research project to automate repeated brewing-related tasks and data collection, freeing up researchers from unskilled repetitive work
\item Built automated data collection tools enabling researchers to focus on analysis over manual gathering
\end{itemize}
\textbf{Teaching Assistant \& Engineering Tutor} \hfill \textbf{Aug 2023 - Present}
\begin{itemize}[noitemsep,topsep=2pt]
\item Led lab sessions in computer science (agile development, Java programming), engineering (Arduino, embedded systems), and physics (discovery experiments and data analysis)
\item Developed automated testing frameworks to streamline assignment grading and provide detailed personalized feedback
\item Provided technical mentorship at the Engineering Study Spot, focusing on programming concepts and system design
\item Mentored 200+ students across CS, engineering, and physics connecting theory to real-world applications
\item Created automated testing frameworks with personalized feedback streamlining assessment processes
\end{itemize}
\resumesection{Activities}
%\textscbf{Bucknell Coffee Society} \hfill \textscbf{Lewisburg, PA}
%
%\textbf{Treasurer} \hfill \textbf{Oct 2023 Present}
%\begin{itemize}[noitemsep,topsep=2pt]
% \item Co-established and launched a new campus organization, managing financial operations and coordinating event logistics.
%\end{itemize}
\textscbf{AIChE Chem-E-Car Competition Team} \hfill \textscbf{Bucknell University}
\textscbf{AIChE Chem-E-Car Competition Team} \hfill \textscbf{Lewisburg, PA}
\textbf{President, Electrical and Mechanical Team Lead} \hfill \textbf{Jan 2023 Present}
\textbf{Former President, Electrical and Mechanical Team Lead} \hfill \textbf{Jan 2023 Present}
\begin{itemize}[noitemsep,topsep=2pt]
\item Pioneered team's first custom hardware solution: designed and fabricated a microcontroller-based control system with isolated power circuits for hydrogen fuel cell regulation
\item Implemented finite state machine architecture integrating spectrometer readings, relay control, and LED feedback for real-time reaction monitoring in isolated chamber conditions
\item Designed custom microcontroller control system for hydrogen fuel cell regulation using finite state machine architecture
\end{itemize}
\resumesection{Publications}
\textscbf{Bucknell Coffee Society} \hfill \textscbf{Bucknell University}
\nocite{*}
\bibliography{subfiles/refs.bib}
\bibliographystyle{plain}
\textbf{Co-Founder and Treasurer} \hfill \textbf{Oct 2023 Present}
\begin{itemize}[noitemsep,topsep=2pt]
\item Manage financial operations, budgeting, and event coordination for campus coffee organization
\end{itemize}
\resumesection{Relevant Coursework}
\resumesection{Selected Projects}
\textbf{Systems \& Architecture:} Computer Systems, Operating Systems Design, Computer Networks \& Security
\textbf{beenvoice - Professional Invoicing Application} \hfill \textbf{TypeScript/Next.js}
\begin{itemize}[noitemsep,topsep=2pt]
\item Built full-stack invoicing app with secure authentication, client management, and invoice generation
\end{itemize}
\textbf{Software Development:} Software Engineering, Data Structures \& Algorithms, Research Methods, Ethics in Computing
\textbf{Formula One Performance Prediction Using Machine Learning} \hfill \textbf{Python/ML}
\begin{itemize}[noitemsep,topsep=2pt]
\item Developed ensemble machine learning models (LightGBM, XGBoost, Random Forest) to predict F1 lap times with high accuracy
\end{itemize}
\textbf{Mathematics:} Calculus II, Linear Algebra, Discrete Mathematics, Statistics, Applied Statistics with R, Data Mining
\textbf{HRIStudio Research Platform} \hfill \textbf{Next.js/TypeScript}
\begin{itemize}[noitemsep,topsep=2pt]
\item Developed web-based platform for Wizard-of-Oz experiments with WebSocket-based robot control and comprehensive data logging
\end{itemize}
\resumesection{Skills \& Interests}
% Shared sections
\input{shared/sections/coursework}
\input{shared/sections/skills}
\textbf{Languages \& Frameworks:} Java, C/C++, Python, JavaScript/TypeScript, React, Next.js, PHP, SQL
\textbf{Backend \& DevOps:} REST APIs, MySQL, PostgreSQL, Docker, Apache Web Server, NGINX, ROS2
\textbf{Cloud \& Infrastructure:} AWS, GCP, Azure, Backblaze, Linux (RHEL/Debian), CI/CD
\textbf{Development Tools:} Git, JetBrains Suite, VS Code, Cursor, Linux CLI
\end{document}
\end{document}

View File

@@ -0,0 +1,11 @@
\resumesection{Relevant Coursework}
\textbf{Artificial Intelligence \& Data Science:} Data Mining, Algorithm Design \& Analysis
\textbf{Systems \& Software Engineering:} Software Engineering \& Design, Computer Systems, Operating Systems Design, Programming Language Design
\textbf{Research \& Analysis:} Research Methods in Computer Science, Probability \& Statistics, Experimental Design
\textbf{Mathematics \& Theory:} Linear Algebra, Discrete Mathematics
\textbf{Networks \& Security:} Computer Networks \& Security

View File

@@ -0,0 +1,7 @@
\resumesection{Education}
\textscbf{Bucknell University} \hfill \textscbf{Lewisburg, PA}
\textbf{Bachelor of Science in Computer Science and Engineering} \hfill \textbf{Expected May 2026}
Engineering GPA: 3.86/4.0 \textbullet{} Dean's List: Fall 2022, Fall 2023, Spring 2024, Fall 2024, Spring 2025

View File

@@ -0,0 +1,38 @@
\begin{center}
{\large \textscbf{\personalName}}
\end{center}
\vspace{0.5em}
\noindent
\begin{minipage}[t]{0.33\textwidth}
\raggedright
\ifx\personalSchoolAddressLineOne\empty\else
\mbox{}\par\nobreak\vspace{-\baselineskip}
\personalSchoolAddressLineOne\\%
\personalSchoolAddressLineTwo\\%
\personalSchoolAddressLineThree%
\fi
\end{minipage}%
\hfill%
\begin{minipage}[t]{0.33\textwidth}
\centering
\href{mailto:\personalEmail}{\personalEmail}%
\ifx\personalSchoolEmail\empty\else
\\\href{mailto:\personalSchoolEmail}{\personalSchoolEmail}%
\fi
\\\href{https://\personalWebsite}{\personalWebsite}%
\ifx\personalPhone\empty\else
\\\personalPhone%
\fi
\end{minipage}%
\hfill%
\begin{minipage}[t]{0.33\textwidth}
\raggedleft
\ifx\personalHomeAddressLineOne\empty\else
\personalHomeAddressLineOne\\%
\personalHomeAddressLineTwo%
\fi
\end{minipage}
\vspace{1em}

View File

@@ -0,0 +1,5 @@
\resumesection{Publications}
\nocite{*}
\bibliography{subfiles/refs.bib}
\bibliographystyle{plain}

View File

@@ -0,0 +1,13 @@
\resumesection{Technical Skills}
\textbf{Programming Languages:} Python, C/C++, JavaScript/TypeScript, Java, MATLAB, SQL, Bash, LaTeX
\textbf{Robotics \& HRI:} ROS/ROS2, Gazebo, NAO/Pepper SDK, WebSockets, Robot Operating System (ROS)
\textbf{Machine Learning \& AI:} PyTorch, TensorFlow, scikit-learn, LightGBM, XGBoost, OpenCV, pandas, numpy, Jupyter
\textbf{Research Tools:} Git/GitHub, Docker, Statistical Analysis (R), Experimental Design, Data Visualization
\textbf{Web \& Systems:} React, Node.js, Next.js, REST APIs, PostgreSQL, Linux, Cloud Computing, Distributed Systems
\textbf{Hardware/Embedded:} Arduino, Raspberry Pi, I2C/SPI, Sensor Integration, Real-time Systems

31
shared/style/common.tex Normal file
View File

@@ -0,0 +1,31 @@
\setlength{\parindent}{0pt}
\setlength{\parskip}{0em}
\usepackage{enumitem}
\usepackage[colorlinks=true,linkcolor=black,urlcolor=black,citecolor=black]{hyperref}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[letterpaper,left=0.5in,top=0.5in,right=0.5in,bottom=0.5in]{geometry}
% Define spacing variables
\newlength{\sectspaceabove}
\newlength{\sectspacebelow}
\setlength{\sectspaceabove}{-0.5em} % Space before section titles
\setlength{\sectspacebelow}{-0.5em} % Space after section titles
\usepackage{etoolbox}
\patchcmd{\thebibliography}{\section*{\refname}}{}{}{}
% Hide page numbers
\pagestyle{empty}
% Custom macro for small caps and bold
\newcommand{\textscbf}[1]{\textbf{\textsc{#1}}}
% Custom macro for section headers with controlled spacing
\newcommand{\resumesection}[1]{%
\vspace{\sectspaceabove}%
\begin{center}
\textscbf{#1}
\end{center}%
\vspace{\sectspacebelow}%
}

View File

@@ -1,9 +1,18 @@
@inproceedings{O'Connor2024,
abstract = {Human-robot interaction (HRI) research plays a pivotal role in shaping how robots communicate and collaborate with humans. However, conducting HRI studies, particularly those employing the Wizard-of-Oz (WoZ) technique, can be challenging. WoZ user studies can have complexities at the technical and methodological levels that may render the results irreproducible. We propose to address these challenges with HRIStudio, a novel web-based platform designed to streamline the design, execution, and analysis of WoZ experiments. HRIStudio offers an intuitive interface for experiment creation, real-time control and monitoring during experimental runs, and comprehensive data logging and playback tools for analysis and reproducibility. By lowering technical barriers, promoting collaboration, and offering methodological guidelines, HRIStudio aims to make human-centered robotics research easier, and at the same time, empower researchers to develop scientifically rigorous user studies.},
author = {O'Connor, Sean and Perrone, L. Felipe},
title = {\href{http://www.eg.bucknell.edu/~perrone/wp-content/uploads/2024/08/ro-man2024.pdf}{{HRIStudio: A Framework for Wizard-of-Oz Experiments in Human-Robot Interaction Studies (Late Breaking Report)}}},
booktitle={2024 33rd IEEE International Conference on Robot and Human Interactive Communication (RO-MAN)},
title = {\href{https://www.soconnor.dev/api/publications/hristudio-lbr.pdf}{{HRIStudio: A Framework for Wizard-of-Oz Experiments in Human-Robot Interaction Studies (Late Breaking Report)}}},
booktitle={2024 33rd IEEE International Conference on Robot and Human Interactive Communication (RO-MAN)},
year = {2024},
url = {http://www.eg.bucknell.edu/~perrone/wp-content/uploads/2024/08/ro-man2024.pdf}
url = {https://www.soconnor.dev/api/publications/hristudio-lbr.pdf}
}
@inproceedings{O'Connor2025,
abstract = {Human-robot interaction (HRI) research plays a pivotal role in shaping how robots communicate and collaborate with humans. However, conducting HRI studies can be challenging, particularly those employing the Wizard-of-Oz (WoZ) technique. WoZ user studies can have technical and methodological complexities that may render the results irreproducible. We propose to address these challenges with HRIStudio, a modular web-based platform designed to streamline the design, the execution, and the analysis of WoZ experiments. HRIStudio offers an intuitive interface for experiment creation, real-time control and monitoring during experimental runs, and comprehensive data logging and playback tools for analysis and reproducibility. By lowering technical barriers, promoting collaboration, and offering methodological guidelines, HRIStudio aims to make human-centered robotics research easier and empower researchers to develop scientifically rigorous user studies.},
author = {O'Connor, Sean and Perrone, L. Felipe},
title = {\href{https://www.soconnor.dev/api/publications/ROMAN25_0574_FI.pdf}{{A {Web-Based} {Wizard-of-Oz} Platform for Collaborative and Reproducible {Human-Robot Interaction} Research}}},
booktitle={2025 34th IEEE International Conference on Robot and Human Interactive Communication (RO-MAN)},
year = {2025},
address = {Eindhoven, The Netherlands},
url = {https://www.soconnor.dev/api/publications/ROMAN25_0574_FI.pdf}
}