Phillip Wellheuser

Software Engineer | Game Developer

Teacher is a Discord bot and companion website I wrote for a book club my friend started. Teacher bot is capable of responding to several commands to maintain a reading list with ratings and organization by series and author which it will message to a discord channel when prompted. The website provides a more visual interface.

Teacher

Solo-developed Discord bot to help organize my book club

Tech Stack:

Python, JavaScript, Bootstrap, Discord API, PostgreSQL, Flask, Jinja2, REST, PyTest, Docker, Cypress, Hosted on replit.com

Basic Commands:

!add [author] [series]: Adds a new book with optional author and series to the syllabus.
!remove : Removes an item from the syllabus by name or unique ID.
!complete : Marks an item as complete or incomplete by its name or unique ID.
!syllabus [minutes]: Lists all items in the syllabus, optionally deletes the message after specified minutes. Use 0 for infinite time.
!todo [minutes]: Lists all incomplete items in the syllabus, optionally deletes the message after specified minutes.
!graveyard [minutes]: Lists all completed items, optionally deletes the message after specified minutes.
!poll : Initiates a poll for a specific item.
!update : Updates a specific column of an item in the syllabus.
!list_series : Lists all books in a specific series, formatted with authors and order.
!columns: Lists all column names in the syllabus table.
!cmds: Displays available bot commands.
!report_bug : Allows users to report a bug, which then gets inserted into the database.
!web or !url: will print the current url for the web application


Proof (formerly Notarize)

QA Automation Engineer - Notary Experience

As an embedded automation engineer on the Notary Experience team at Proof, I was responsible for ensuring that all notary-based flows within our application were tested and verified by developing and maintaining a series of tests, primarily using Webdriver.io and Jenkins, to be run nightly and immediately prior to merging with the main branch of product development. My most significant accomplishments while at Proof included:

  • Improving the modularity and parallelization of notary tests to diversify coverage, by including all state/notary-capacity combinations through product onboarding and profile maintenance, increasing, coverage by %500+

  • Developing notary feature test coverage reports with the Notary Experience lead engineer to identify feature test coverage where product documentation or features lists were lacking which helped to clarify thoroughness of product coverage and to declare what features would explicitly be supported.

  • Converting the entire notary test suite from synchronous to asynchronous style code to match upgraded dependencies while maintaining synchronous test where necessary to match the product.

  • Integrating external API calls into tests to monitor stability of product integrations

Proof logo - TM Proof, Inc


Card Game Simulator - OSU student project

Programmer

As part of my Computer Science degree from Oregon State University, I participated in a team capstone project with two other students wherein we designed and developed a basic browser-based card game simulator over the course of 10 weeks. I helped develop the core game systems and used my game development experiences to organize our documentation and communication.

My main contributions to the project were in the card stacking/drawing systems, networked multiplayer cursors, the database-driven updating lobby menu, and the card shuffling system. The project utilizes the Phaser3 game development library (javascript), socket.io for networking, PostgreSQL for databases, EJS for javascript injection into html, and Node.js/express.


CS School Assignments

Programmer

During my CS degree I wrote many small programs, mostly in C++, but also including some in C, Python, and Bash script which can be found on my GitHub or viewed and run, each on their own separate page, using Repl.it.

Though these programs are all academic, and I don’t have any extensive knowledge of any particular libraries, I feel confident in my ability to understand and learn to use most basic libraries and features in these languages.


Days Gone - Sony Playstation, Bend Studio

QA Analyst: Design Liaison

As one of the earliest members of the QA team, I worked closely with all branches of development when they needed more hands-on coverage, and trained the rest of the QA team as we grew. I played a strong role in the standardization of our bug reporting and improving the efficiency of the QA team itself as well as our coordination with the rest of the development team as the studio nearly doubled in size.

While at Bend Studio I wrote test plans for external teams, ran and took notes on studio play sessions for the design team, performed extended tests for narrative discontinuity, maintained a daily status report on mission stability, demonstrated new mechanics at studio meetings, helped test and balance weapons, tested mission difficulty and progression, and tested build stability daily.

My experiences at Bend Studio were a powerful introduction to the AAA industry, showing me how important communication is, keeping pride in check, and how large studios can seem to be lumbering clumsy beasts when resources are not well managed.

I was also fortunate enough to be able to work with some of the development team to put together a small demo which I call “Ain’t No Grave” in the game’s modified version of Unreal Engine 4, which was praised by much of the team and can be watched here.


Pizza! Fast! - Seven Layer Studios (indie)

Senior Designer, Junior Artist, assistant producer, Company Co-founder

Out of college, I formed a small studio with some of my friends from school to see what we could do as an indie studio, our team ranging from 5 to 9 throughout development.

I learned a lot about coordinating a team with varying levels of investment in a project, and managing product scope. But my major responsibilities on the game itself were balancing of levels and player abilities, player engagement, topping implementation, and scope management. Since this experience, I’ve been comfortable having hard conversations with my peers and co-workers, while being direct and realistic about tough decisions, content cuts, and working effectively as a team.

The game was successful in that players would play for hours if it was put in their hands, but the reality of mobile development is that without going viral or sufficient backing for advertisement, it was a drop of water in an ocean of apps. There’s a lot to be said for standing out but not too much in game development.


Wisp - Champlain College Student Project

Lead designer, Associate Producer

At Champlain College, senior teams start small with prototypes and vie for larger teams in their second semester for their capstone projects.

Wisp is a networked cooperative multiplayer game which utilizes exploratory resource gathering in a competitive setting. My team made it through with our game growing from 4 to 13 team members. The final product of Wisp had 3 playable game types and 4 levels based around the same collection mechanic.

I was responsible for documentation, balancing the game types, original level designs, and coordinating QA testing/test plans. The local Girl Scouts troop loved it. The biggest challenges with Wisp were convincing the professors we had a viable player base and playing to the strengths of our team’s limitations, as much of our team consisted of our weaker peers from dissolved teams. I learned a lot about researching my audience, testing iterations, and playing to the strengths of my team members from this experience.