×

Hello! My name is Julia Duffy.

I am a software developer, currently working towards a master's degree in computer science at the University of Utah. My primary interests are in Full Stack Development, Computer Security, and App Development. In my free time, I enjoy rock climbing and traveling!

Email: jtduffy7@gmail.com   |   LinkedIn: juliatduffy   |   GitHub: juliatduffy


My Resume

Projects

AirWise — EPA-Funded Mobile App

For my senior capstone project, I am working with a team of four to create an app to help school staff learn about, report, and monitor sources of indoor air pollution in schools. My main focus is on the backend architecture and database design, but I having also been helping with the front-end. We are planning to connect our app to sensors in schools around Salt Lake City, and eventually deploy it as a tool for real users.

Flutter FastAPI Firestore

Pusher Website — Shipping Automation & WooCommerce

Last summer I did a software development internship at my favorite climbing hold company, Pusher. I spent most of my time improving their shipping workflow by fixing rate calculations, simplifying how clothing orders are packaged, and opening up Canadian shipping. I also did general upkeep of the WordPress site and fixed a few bugs that I found. The changes I made reduced shipping losses by an estimated $7,400 per year, improved the overall feel of the website, and opened up the website to the Canadian market.

WooCommerce Shippo API WordPress

University of Utah Climbing Team Website

In Summer 2024, I made a website for the Climbing Team at the University of Utah. The website is now used by over 400 club members for team sign ups and information. I am no longer involved with the climbing team board so I wrote extensive documentation and handed off the website to a new owner who has since kept the information on the site up to date.

HTML CSS JavaScript

Fruit Image Recognition App

This is an Android app I made that recognizes fruits. I started by training an on-device machine learning model using TensorFlow Lite. To get enough images to train the model I wrote a Python script with a custom web crawler to retrieve and format images from bing. This project was a fun introduction to neural networks and Android's CameraX library.

TensorFlow Lite Kotlin Python

Drawing App with Cloud Sharing

Android drawing app with persistent storage using Room and a custom Ktor server for sharing drawings. Includes undo/redo, bitmap rendering, and Jetpack Compose UI.

Kotlin Compose Room Ktor

Mancala App with AI Opponent

Developed an Android Mancala app with three AI levels: random, greedy, and minimax with alpha-beta pruning. Includes animations, settings, and full game logic.

Kotlin Android AI

Cooking Website built with Django

Developed and deployed a full stack cooking website with authentication, security, and a backing database of recipes, users, and images. I built this website as a semester long project in CS3550 class at the University of Utah.

Python Django HTML/CSS/JS

React + Django US State Album

Made and deployed a simple wesbite to learn more about the react and django web development frameworks. I plan to add more to this in the future but for now it is just a simple webpage that shows all of the states that I have traveled to, images from each state, and facts about each state that are being fetched from a Postgres database using django models and rest framework.

React Python Django

LMS Database

As a multi-week project in my advanced databases course, I designed and built a SQL database for a Learning Management System (inspired by Canvas). We connected this database to a C# Blazor front end.

MySQL Blazor C#

Raspberry Pi Weather Station

Built a real-time weather dashboard using a Raspberry Pi and Sense HAT. Logged data and displayed historical charts via a Flask web interface.

Python Flask Raspberry Pi

Custom Programming Language Interpreter

Built a full interpreter in Racket for a custom object-oriented language (“Moe”). Implemented parsing, evaluation, closures, continuations, garbage collection, and memory allocation.

Racket

2D Golf Game — Box2D Physics

Team project: built a 2D projectile golf game in C++ with real physics using Box2D. Implemented collision detection, trajectory simulation, and multiple levels.

C++ Qt Creator Box2D

Tiny Shell

For CS4400 at the University of Utah, I implemented a Unix-style command shell capable of running programs, handling job control, managing foreground/background processes, responding to signals, pipelining multiple processes.

C Signals Unix Processes

MMap Based Malloc

As part of the curriculum of CS4400 at the Uniersity of Utah I designed and implemented custom malloc/free/init system using an explicit free list, block coalescing, alignment, splitting, smart chunk mapping, and the unmapping of unused pages.

C GDB

See more of my work on GitHub.

Extracurriculars


Hackathon Enthusiast (2024-2025)

This year, I have become more interested in competitive programming. Some recent events I have competed in include "Crimson Hacks at the U" (1st place), "Generative AI Hackathon" (3rd Place), and ICPC Regionals (19th place 😏). Though I have not had much practice with competitive programming and I am nowhere near the best in most competitions I have signed up for, I do feel like even just participating in these events has been a great way to step outside of my comfort zone and meet cool people!


Utah Climbing Team Vice President (2020-2024)

From 2024-2025 I helped run one of the largest student groups on campus, with over 350 members. I was one of the event managers and I was in charge of all club communication (email, social media, newsletter, website). I maintained a newsletter with 450 subscribers, and managed an instagram page with more that 2,000 followers. I also organized many large events, such as a nationwide training camp with USA Climbing, and several community-focused events with over 100 attendees.


USA Climbing National Team Member (2020-2024)

Competed internationally- 2x World Championship competitor, 7x USA National team member, and 2x National Cup Champion. During this time, I worked as a freelance climbing coach and brand ambassador. Climbing is still one of my biggest passions, but nowadays I prefer to climb outdoors. Climbing competitively taught me about what it takes to achieve mastery in something, and it is still one of my biggest passions outside of software engineering.

Education:

Master's Degree in Computer Science

University of Utah | Expected Graduation: December 2027 | GPA: 3.75

    Completed Courses:

  • CS3500 -Software Practice (A)

    Software: C#, Microsoft MAUI, XAML, Visual Studio Code, Github, SQL
    Description: Practical exposure to the process of creating large software systems, including requirements specifications, design, implementation, testing, and maintenance. Emphasis on software process, software tools, software engineering techniques, and team development practice. Much of the work will be in groups and will involve modifying preexisting software systems.

    Skills: SOLID code principles, Git, Logging, Web Servers and Networking, SQL databases, JSON serialization .

  • CS2420 - Data Structures and Algorithms (A)

    Software: JavaScript, Eclipse
    Description: This course provides an introduction to the problem of engineering computational efficiency into programs. Students will learn about classical algorithms (including sorting, searching, and graph traversal), data structures (including stacks, queues, linked lists, trees, hash tables, and graphs), and analysis of program space and time requirements. Students will complete extensive programming exercises that require the application of elementary techniques from software engineering.

  • CS3810 - Computer Organization (B+)

    Software: Mars Simulator, MIPS Assembly
    Description: An in-depth study of computer architecture and design, including topics such as RISC and CISC instruction set architectures, CPU organizations, pipelining, memory systems, input/output, and parallel machines. Emphasis is placed on performance measures and compilation issues.

  • CS2100 - Discrete Structures (A)

    Description: Introduction to propositional logic, predicate logic, formal logical arguments, finite sets, functions, relations, inductive proofs, recurrence relations, graphs, probability, and their applications to Computer Science.

  • CS1410 - Object-Oriented Programming (A)

    Software: Javascript, Eclipse, Python, Pycharm
    Description: This course explores foundational programming skills while introducing the paradigm of object-oriented programming.

  • CS4150 - Algorithms (A)

    Study of algorithms, data structures, and complexity analysis beyond the introductory treatment from CS 2420. Balanced trees, heaps, hash tables, string matching, graph algorithms, external sorting and searching. Dynamic programming, exhaustive search. Space and time complexity, derivation and solution of recurrence relations, complexity hierarchies, reducibility, NP completeness. Laboratory practice.

  • CS3505 - Software Practice II (A)

    An in-depth study of traditional software development (using UML) from inception through implementation. The entire class is team-based, and will include a project that uses an agile process. All assignments for this course are coded in C++ and the final two assignments for this course use QTCreator to create an interactive UI.

  • CS3520 - Programming Languages Concepts (A-)

    Ideas behind the design and implementation of programming languages. Syntactic description; grammars and abstract syntax; interpreters and compilers; scope and lifetime of variables; order of evaluation; continuation representation; type systems.

  • CS3190 - Found. Of Data Analysis (B+)

    This class will be an introduction to computational data analysis, focusing on the mathematical foundations. The goal will be to carefully develop and explore several core topics that form the backbone of modern data analysis topics, including Machine Learning, Data Mining, Artificial Intelligence, and Visualization. This will include some background in probability and linear algebra, and then various topics including Bayes' rule and connection to inference, gradient descent, linear regression and its polynomial and high dimensional extensions, principal component analysis and dimensionality reduction, as well as classification and clustering. We will also focus on modern models like PAC (probably approximately correct) and cross-validation for algorithm evaluation.

  • CS4530 - Mobile Application Programming (A)

    Software: Android Studio, Java, Kotlin, SQLite
    Description: An introduction to the theory and practice of application development for mobile phones and tablets, including a focus on general program organizational techniques. Topics include native language foundations, automatic UI layout techniques, custom views and controls, data persistence, data driven user interfaces, application lifecycle, application architectural models like Model-View-Adapter, internet service interaction, RESTful web services, and 2D OpenGL rendering. Students will complete several programming projects during the course to explore these topics. A final project of the student's own design will make up a large part of the class.

  • CS5530 - Database Systems(A)

    Software: MySql, Putty
    Description: This course is designed to cover the fundamental database concepts and query languages that are used in current relational database engines. A large portion of the course will consist of a multi-phase project throughout the semester, in which students will implement a learning management system (LMS) like Canvas.

  • DS2500 - Data Wrangling (A-)

    Software: Google Colab, Python
    Description: The course will introduce students to basic techniques in collecting, scrapping, transforming, and normalizing data, as a first step in a data science pipeline. Students will learn by working with a variety of standard data processing tools, and experimenting on numerous example tasks.

  • In Progress:

  • CS3550 - Web Development I

    Description: This course provides an introduction to web software development. Students will first learn about the fundamental protocols and systems that make the modern web possible. They will then explore the full stack of web software technology from the back end to the front end, including fundamental web security issues, database integration, and client-side page manipulation.

  • CS4400 - Computer Security

    Description: This course teaches the security mindset and introduces the principles and practices of computer security as applied to software, systems, and networks. It covers the foundations of building, using, and managing secure systems. Topics include standard cryptographic functions and protocols, and threats and defenses for real-world systems.

  • CS4000 - Senior Capstone

    Description: During their last two semesters, senior Computer Science students form teams to develop significant software projects. This class is the first semester in the sequence. Seniors will work on team formation, project identification, project planning (including UI design, software architecture, testing methods, scheduling, etc.), and completion of a system prototype.

  • CS4440 - Computer Systems

    Description: Introduction to computer systems from a programmer's point of view. Machine level representations of programs, optimizing program performance, memory hierarchy, linking, exceptional control flow, measuring program performance, virtual memory, concurrent programming with threads, network programming.


Expected Graduation: Fall 2027 | GPA: 3.8

Email Icon

jtduffy7@gmail.com

LinkedIn Icon

@juliatduffy

GitHub Icon

@juliatduffy

My Resume