William Oropallo, Developer in Tampa, FL, United States
William is available for hire
Hire William

William Oropallo

Verified Expert  in Engineering

Software Developer

Location
Tampa, FL, United States
Toptal Member Since
February 27, 2020

William is a computer science and engineering Ph.D. with 10+ years of expertise in the development of robust software applications. He’s skilled in optimizing systems and libraries by designing efficient data structures and algorithms that reduce overhead and increase software effectiveness. William has a proven record with research and development in software engineering, web development, computational geometry, and data processing.

Portfolio

Freelance
Electron, Node.js, MongoDB, WebSockets, Rust, Ruby, C, C++, JavaScript, Swift
University of South Florida
Electron, JavaScript, C++, C
University of South Florida
WebGL, OpenGL, Three.js, JavaScript, C++, C

Experience

Availability

Part-time

Preferred Environment

AWS Lambda, Slack, Ruby on Rails (RoR), Ruby, Express.js, Electron, React, Three.js, Node.js, Git, Visual Studio Code (VS Code), Visual Studio, Redis, PostgreSQL, SQLite, MySQL, MongoDB, Android, iOS, Windows, Linux, MacOS

The most amazing...

...product that I have designed is an algorithm for slicing NURBS models (defacto standard for CAD software) using point clouds to prepare them for 3D printing.

Work Experience

Software Engineer

2018 - PRESENT
Freelance
  • Operated within teams and independently to build web, mobile, and desktop applications.
  • Designed a lossless encoding and compression technique for specialized data with error detection in C and Swift.
  • Created a simple interpreted language and virtual state machine using C++ for running small-scale repeatable tasks.
  • Analyzed and improved mission-critical features to Ruby on Rails/Node.js based applications.
  • Built mobile applications using both Apple's Storyboarding and SwiftUI.
  • Composed functional pipelines for processing and interpreting data from external APIs for serverless web applications.
  • Developed the implementation of low-latency and efficient Node.js server-side applications.
  • Created a JSON based API with persistent storage using WebSockets and MongoDB.
Technologies: Electron, Node.js, MongoDB, WebSockets, Rust, Ruby, C, C++, JavaScript, Swift

Computer Science and Engineering Faculty

2018 - 2019
University of South Florida
  • Collaborated with the computer science and engineering department to modernize courses materials with current industry trends and perform assessment collections for the Accreditation Board for Engineering and Technology’s review of university accreditation.
  • Developed a new course teaching students the JavaScript/ECMAScript language as it relates to practical and theoretical computer science problems in the software industry.
  • Used personal real-world experience mixed with abstract principles and concepts to design curriculum material that students could use to develop a professional portfolio.
  • Successfully proposed the software engineering course to the university to be a high impact practice course under the enhanced general education standards.
  • Created new functional/declarative programming projects for data structures courses centered around the functional programming paradigm using JavaScript.
  • Taught program design, data structures, software engineering, and advanced computer science electives.
Technologies: Electron, JavaScript, C++, C

Doctoral Candidate

2014 - 2018
University of South Florida
  • Produced algorithms for accurately and directly slicing freeform 3D models that outperformed the industry standard tessellated slicing method utilized by 3D printing.
  • Introduced an improved and novel approach for slicing NURBS (non-uniform rational basis-spline) surfaces used by CAD systems that solved errors and failures caused by other algorithms while still avoiding the surface-to-surface intersection problem.
  • Designed point clouds structures and discrete grid structures to decrease computation time and memory usage when working with complex geometries and large data sets.
  • Developed a fully functional system for the examination and testing of NURBS curves and surfaces in C with a WebGL renderer in JavaScript.
  • Presented algorithms and finding at the International CAD Conference multiple times.
  • Published multiple papers on topics related to additive manufacturing, point clouds, the challenges of tessellated and parametric slicing, and geometric algorithms.
  • Analyzed and compiled the current literature surrounding additive manufacturing, NURBS, point clouds, and geometric algorithms while investigating the challenges related to the domains of computer science and engineering.
Technologies: WebGL, OpenGL, Three.js, JavaScript, C++, C

Software Engineer

2008 - 2016
Greater Washington Publishing, LLC
  • Engineered a dynamic phone number creation and retention system using Twilio for call tracking and data modeling to create an improved and trackable call lead for the sales team to provide their clients.
  • Increased speed of search and sort procedures in Postgres data implementation by completely reinterpreting and rewriting algorithms for access to significantly decrease overall user wait times and response times.
  • Implemented dynamic and automated administration system for managing and updating content with little user interaction decreasing time spent on administration tasks.
  • Improved search algorithm functionality for an already existing databases' third-party system optimizing search times for all queries.
  • Analyzed business specifications provided by companies and individuals to produce systems that could efficiently and accurate parse client generate data and content.
  • Created a dynamic attribute system for the creation of schema-less data in a relational database to allow meta-programming to persist in the datastore for future production and maintenance.
  • Redesigned the SQL database in a NoSQL document-oriented architecture to better meet the needs of existing data and accelerate the reading and writing operations for both current and future content.
  • Wrote complex search functionality for Ruby on Rails applications using a custom MongoDB-based modeling system for more efficient and accurate lookup operations.
  • Optimized and normalized existing SQL database queries and schemas for to minimize the need for database structure redesign in future releases.
  • Refactored previous project code for compatibility with new systems from an outdated build of Python framework to the most current Ruby on Rails.
Technologies: MongoDB, MySQL, PostgreSQL, Ruby on Rails (RoR), Ruby, JavaScript

Research Assistant

2012 - 2013
University of South Florida
  • Developed feature selecting algorithms for choosing the most valuable attributes in a data set when identifying the survivability of squamous cell lung cancer patients.
  • Engineered feature selection algorithms that performed with 80-90% accuracy on data outside of the training set, resulting in accurate prognosis categorization.
  • Utilized Weka to perform complex analysis of large data sets and accurately classify new data producing more precise results for training future models.
  • Worked with a group of professors, medical doctors, and graduate students to build solutions for automating the generation of cancer patients' prognosis.
  • Collaborated with oncologists at the Moffitt Cancer Center to review the current literature on cancer identification and better identify interdisciplinary approaches.
Technologies: Machine Learning, Weka, Java

A Point Cloud Approach to Object Slicing for 3D Printing

https://books.google.com/books/about/A_Point_Cloud_Approach_to_Object_Slicing.html?id=sBK-xQEACAAJ
I developed an algorithm that generates point clouds and slices models within a tolerance. The algorithm uses the original NURBS model and converts the model into a point cloud, based on layer thickness and accuracy requirements. The algorithm then uses a gridding structure to calculate where intersections happen and fit B-spline curves to those intersections. This dissertation shows that a point cloud approach to preprocessing and slicing models is robust and accurate. This method can find accurate intersections and can ignore certain anomalies and errors from the modeling process. The point cloud approach to object slicing avoids the complexities of directly slicing models while evading the error-prone tessellation stage.

Ten Challenges in 3D Printing

After researching and synthesizing the current literature in the domain of 3D printing, I wrote this piece to summarize the most pressing difficulties in the field. The purpose of this paper is to paint a more realistic picture by identifying ten challenges that clearly illustrate the limitations of the technology. Others have cited this paper in over 140 other works as of March 2020.

Languages

JavaScript, Swift, C, C++, Ruby, TypeScript, HTML, CSS, PHP, Java, Rust

Frameworks

Ruby on Rails (RoR), Electron, Express.js, Sinatra

Libraries/APIs

React, Node.js, Three.js, Ramda, OpenGL, WebGL

Paradigms

Functional Programming, Parallel Programming, Concurrent Programming

Platforms

iOS, MacOS, Linux, Windows, Android, Visual Studio Code (VS Code), AWS Lambda

Storage

MongoDB, MySQL, PostgreSQL, Redis, SQLite

Tools

Xcode, Git, Visual Studio, Slack, Weka

Other

Machine Learning, WebSockets

2014 - 2018

Doctor of Philosophy Degree in Computer Science and Engineering

University of South Florida - Tampa, Florida

2012 - 2014

Master of Science Degree in Computer Science

University of South Florida - Tampa, Florida

2007 - 2011

Bachelor of Science Degree in Computer Science

University of South Florida - Tampa, Florida

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring