top of page

Portfolio

Portfolio

Mobile Development Intern

Shout Platform Ltd. | Manchester, England | 2019

I had the opportunity to intern for Shout Platform Ltd., a startup based in Manchester, England. My responsibilities involved designing and implementing features for the Shout application, a location-based discovery service for iOS and Android. I also provided bugfixes and refactoring of the existing codebase, using Git for collaboration. To accomplish these tasks, I performed cross-platform development in C# with Microsoft's Xamarin libraries.

Highlight Project: Image Editor

I developed an image editor that allows users to crop and rotate pictures within the Shout app. This tool is crucial for two core features of the app: status posting and selecting a profile image. The code that I wrote shared image manipulation logic across Android and iOS, but also involved device-specific tasks like accessing local storage.

 

The editor prompts the user to select an image from their device's internal storage, or take a picture with the camera. The user can immediately confirm or decide to crop/rotate, in which case an interactive rectangle is drawn over the surface of the picture. The size and position of the rectangle relative to the image had to be maintained when the user tapped the rotate button in the editor or turned the phone. I had to interpret the shape and location of the displayed rectangle to create the final cropped image, which could be saved directly by the user or passed to the next step in the app's flow.

Smart Phone Outline

Software Engineering Intern

Advanced Systems Concepts, Inc. | Morristown, NJ | 2018

During my time at Advanced Systems Concepts, Inc, I learned standards of professional code development, which included writing efficient, organized code that could be easily built upon by other engineers. My group of interns performed Agile development with two engineers that acted as our scrum masters. Our task was to write coded UI tests for the company's automation product, ActiveBatch. We collaborated with Microsoft's team foundation server and regularly performed code reviews.

Highlight Project: Coded UI Tests

Initially, we learned to build tests by using Visual Studio's Coded UI Test Builder, which generates code based on recorded actions. We realized very quickly that the builder could not always identify all the UI elements we needed. For example, if it could not recognize an element, the builder would use screen coordinates rather than actual element locations, which would cause the tests to fail on different machines. The generated tests also took a large amount of time to execute.

To meet these challenges, we used the ASCI code base to perform tasks outside the scope of the tests, and wrote our own methods to perform UI tasks. For example, if we needed to test that running jobs were visible in one of ActiveBatch's views, we could first run the job programmatically, then use UI commands to navigate to the view and assess correct functionality. We came to rely very little on code generated via recordings, instead creating our own tests from scratch.

ASCI-Logo.svg.png
9893164_300x300.jpg

Hackathons

Hackathons, usually 2-3 days long, are events where programmers and designers come together to create projects over the course of the event. At the opening ceremony, sponsoring companies introduce challenges for the participants. The last few hours of a hackathon involve judging, where teams present what they completed to representatives from sponsors. The challenge winners are announced at a closing ceremony.

B.E.C.A. CREDIT | TECHNICA, UNIVERSITY OF MARYLAND

As part of a team of four, I worked on an AR (Augmented Reality) banking application. By pointing a phone at a QR target, the user would see a 3D banking machine on the screen that appeared to exist in real world space. Users waved their hands towards virtual buttons to interact with the application, which could perform transactions as well as give information about the account. As part of the team, I wrote methods that used the Capital One API so that the application could communicate with Capital One's back-end server. I sent commands and retrieved information by packaging and parsing JSON messages.

WINNER OF "BEST USE OF CAPITAL ONE'S API"

WINNER OF "WATCH DOGS® BEST DEVICE PRIVACY HACK"

medium.JPG
Technica.jpg

STOCKATO | BITCAMP, UNIVERSITY OF MARYLAND

In a different team of four, I worked on a web application that translated current stock information into music. My contribution was to write Java that translated data points into notes along a scale. I did so using the JFugue music programming library and wrote methods that output different genres of music. I also wrote the HTML and CSS front-end for the website. The user accessing the web application could choose any stock ticker symbol and genre, and the application would play the generated music as well as show a graph of the stock data to follow along with the song.

FIRST RUNNER-UP FOR THE "FINRA MUSIC CHALLENGE"

Bitcamp.jpg
Bitcamp 2.jpg
bottom of page