Build and maintain the JCC of Pittsburgh primary website with 1,000s of views per day. Voted one of the top 15 JCC websites of 2015.
Hello, potential employer or stalker! My name is Joshua Rogan. I have earned my bachelor's degree in Computer Science at the University of Pittsburgh. I am currently working at FANDOM as a full stack software engineer in San Francisco, CA. I also do a significant amount of freelance work for a variety of clients.
Keep scrolling or choose an item below to check out my personal portfolio!
My Population Genetics Simulator was built for the University of Pittsburgh's Genetics Department as a tool for online genetics education and research. This tool helps to solve the urgent need for great "genomics literacy" of professionals across disciples.
Upcoming features will include an open API to access the computation engine and extend the application however is desired.
The Pitt Quantum Repository (PQR) was developed for the University of Pittsburgh's Chemistry Department to give users instant access to a large database of molecular properties computed from quantum mechanics, saving on the time necessary to repeat the same calculations over and over again. PQR makes it particularly easy to share a 3D rendition of molecular structures and properties for research, collaboration, and classes. For example, research papers can link to PQR entries using digital object identifiers (DOI). Lecture slides and handouts can link to PQR using barcodes that students can scan on their mobile devices.
PQR was developed with the lightweight micro-framework for python, Flask. To quickly handle the large amount of molecular data, currently contains over 100,000 molecules,the data is managed by MongoDB with highly tuned indexing to speed up search results. Auto-complete searching is developed with the Bloodhound engine which combines off-line quick access and throttling when accessing the remote database. Molecule visualizations are powered with WebGL and another Pitt project 3DMol.js
Features in development include a significantly advanced search engine allowing the user to find molecules with fine tuned queries.
EFN Back is an application developed for UPMC to test reaction time compared to viewing emotional stimuli on screen. There are several different types of tests. The simplest is having to click or touch the screen as soon as the target letter appears. As the test progresses they become more difficult adding stimuli (emotional faces) and looking for patterns in letters.
The Theoretical & Computational Chemistry at the University of Pittsburgh needed a blog and CMS solution to organize their groups, news and events. The primary goal was to promote the department and have one place to share upcoming events and news along with engaging more students on campus.
The blog was created with the Ruby static site generator Jekyll. It is a very simple static site but I was able to utilize some new tools such as Travis CI for testing and a develop a custom bash deploy process to an Enterprise Web Infrastructure (EWI).
A very simple Blood Alcohol Content calculator. This was developed to have a simply designed BAC calculator that didn't have a annoying ads and was very easy to use.
The East Coast Sandhogs are a national travel baseball organization based in Northeastern Pennsylvania. The Sandhogs have teams for ages of 8 through 18. This website is a portal for all information about the team. It has detailed lists for events, schedules, media, and rosters.
This is a simple appearing site but with a powerful custom built Laravel back-end to manage 10+ teams each year saving all of the histories. The data is all appropriately tied to each team with powerful back-end dashboard to provide alerts, event updates, and updates.
Redesigned for mobile a vegan food website. The original website can be found here. Built using bootstrap.
Build and update a simple gallery website to increase online interaction of a unique boutique site.
While developing new projects I often explore new development ideas. One principle that I believe is essential to all software design methods is the DRY principle. Committing to this idea will almost always result in more manageable code. I have explored Object-Oriented Programming heavily by being encouraged to extensively use it through my academic studies. But, recently I have considered some other paradigms such as Functional Programming and Prototypal inheritance after reading lots of articles stating that OOP is Inherently Harmful.
I am also very familiar with many of the web languages such as CSS3 and exclusively use pre and post processors such as SASS, LESS, and PostCSS. Along with extensive usage of task managers Grunt and Gulp.
Chia post-ironic venmo 3 wolf moon squid, four dollar toast try-hard health goth brooklyn ennui umami meditation master cleanse helvetica. Retro williamsburg occupy, thundercats post-ironic mixtape before they sold out +1 ennui. Readymade retro small batch, master cleanse twee cardigan pickled VHS before they sold out letterpress actually normcore.
Frameworks & Platforms
Framework popularity changes almost daily. It is often difficult to decide what framework to use for a given project. The two key components for me are project stability and documentation. I love the PHP framework Laravel for it's great documentation and video series Laracasts.
I often try to use a framework I haven't explored when I am creating new project in the hopes to be open to more development philosophies to extend my developing abilities.
While developing cross-platform applications I have come across many tools that make developing significantly easier. Most importantly is some type of version control. Git has changed my life and I wouldn't start a project without using it. Along with using Git I came to love the command line. Tools such as Oh My Zsh and Bash-it can make using the command line much faster and significantly less error prone.
Task managers and package managers are essential tools in every developers belt. The task manager I originally used was Grunt but recently have come to like the better API of Gulp better. For web developing I stick with NPM and Bower for my front end packages.
I am familiar with many different communicating tools that dramatically aid in developing such as basecamp and slack. Issue tracking is essential in maintaining a project in a team and GitHub Issue Tracker and Atlassian Jira are essential tools to manage project issues easily.
I have setup and maintained many different types of servers. I have used Nginx, Apache, and node.js as servers for different applications. I also have pushed applications to Google App Engine for quick server setups. I am familiar with maintaining these applications on many different Linux distributions including CentOS, RHEL, and Ubuntu.
I quickly realized there are much better ways to deploy projects than using just git or even manually uploading files. For this, I am using a Ruby tool called Capistrano. This protects my projects when I deploy and can easily rollback if there is an unforeseen production error.
DRY Premiere Pro Gulp Font Awesome Bower Responsive Lightroom Bash Unix Photoshop SASS Google App Engine LESS Wordpress PostCSS NPM Sublime Functional Modernizr Flask Bootstrap Basecamp Capistrano Laravel Jekyll Cake PHP Grunt Bedrock Git Atlassian Foundation