Examples of my past consulting and professional projects.
Dev Score Website
To create an easy-to-use tool to simplify the Software Developer and IT recruiting and talent education processes.
The hosting and tech budget had to be near zero until the project was able to financially support itself.
The goal was to establish a fully fleshed out tool for IT talent sourcing and development. To start, we decided to focus on building out the talent sourcing portion only, which would be our minimum viable product (MVP). After launching that initial portion we could more naturally support the development of the educational portion of the project, while field testing the rest of the functionality.
For the MVP, we would need to build out the following features:
- Authentication system
- Database systems for question, assessments, users
- Live coding environment on the web
- User code evaluation systems
- Assessment invite system
- Website hosting
- Payment processing
- A bank of questions and assessments for customers to choose from
- And more…
With the number of essential features belonging to our MVP, the initial Beta release of the product figured to take approximately 3-4 months of development time.
Building out this project we had a number of substantial feature milestones to get through:
- Setting up the framework for the website
- Configuring an login system
- Building the coding environment for assessments
- Defining a database for the project
- Filling out the question and assessment bank
Choosing a framework for the project would dictate how pretty much everything else would go, so it was a major decision. I decided to go with the AWS Amplify framework. Amplify is a serverless web and application framework. The serverless aspect was the key piece as this allows us to save costs on web hosting, as the backend pieces of our code will only cost us for the time they are actively doing something for a user of the website. The rest of their downtime won’t cost us anything. Amplify also makes it easy to build with a modern front-end framework like React. React allows for us to painlessly create a smart, modern, and interactive Single Page website. React will drastically improve the speed and performance of our site.
Configuring a login system was made basically painless because of our choice of framework. Using Amplify’s ready-to-go integrations with AWS, we were able to easily setup a custom signup and login flow for customers (including email and cell number verification, and optional two-step verification). We could then readily access the logged in user’s information anywhere in our app to control their access to the websites features. This made it simple to lock down pages of the site for only valid Beta users or to report viewing to certain user groups.
Building the coding environment for the assessments turned out to be the most difficult problem during the entire development process. It consisted of a number of issues. The first problem was creating a comfortable coding environment in the browser for users. They had to be able to code just as they would normally on their computers, so finding a suitable component that allowed for easy development and setting it up took some time. Next, we had to figure out a way to execute users code, to see if the code would work and pass the test cases for a question. To do this we had to setup a system that would receive, compile, and execute the users code against a set of tests from the user and from the questions test cases. This system proved especially difficult due to the last major complexity. For every coding language we supported, we would have to have an entirely unique code evaluation system, and certain languages (such as Java) might not cooperate with the serverless system. Thus requiring additional custom workarounds.
Defining a database for the project turned out to be the second most difficult implementation detail. This was because we wanted to avoid any duplication of data throughout the system. So questions had to live in one place, assessments in one place, etc… Every loaded assessment would have to be able to retrieve its own set of questions, and each assessment would have to know who was taking it, who to report to, and who had access to it. The whole system had to be able to easily read in this data and draw out the user experience, in a quick and efficient manner. To simplify this process, demo pages were built up with static demo data to allow for both demonstrating the features of the website and quick iteration on the design of the website. Afterwards we could just build our backend systems to push appropriate data around.
Filling out the question and assessment bank was just a matter of putting in the time. We had to ensure there was an intuitive process for customers to do the same through our application, and so building out those pages was the first thing to be done. Once complete, we could use our own tools to easily write multiple choice or coding questions. For coding questions, we had to define a problem, choose allowed languages, and then write a set of unit tests that would be used as the rubric for grading test taker’s code. Then rinse and repeat.
The final result is up live at https://mydevscore.com
Plishka Consulting Website
To establish an online presence for my company: Plishka Consulting.
The budget for this project had to be kept as responsible as possible. This website is the jumping off point for Plishka Consulting, so there is no business revenue to pull from for the project yet. Therefore, every cost initially came out of my own pocket.
The goal is to establish an online presence for the Plishka Consulting brand, and provide legitimacy to the business. Thus, the timeline had to be kept short to better accomplish that goal (as in a matter of weeks not months).
Part of my goal for this project was to establish a legitimate online presence for my business and gain experience in technologies that make critical business operations easier for non-technical business owners.
In this case, I wanted to build the website using a common Content Management System (CMS), setup advanced Search Engine Optimization (SEO), and establish a strategy for online marketing.
Using a CMS (in this case WordPress) allowed me to build a website that can have powerful features that would require a software professional to implement and allow for more non-technical user interaction. Building with WordPress allowed me to learn how to build a site that a non-technical client could manage without me. Consequently, they won’t have to rely on me for any future changes they may want to make to their website.
Setting up advanced SEO using common techniques espoused by experts at Google and Moz allowed me to create a natural web presence for my company. This is a crucial piece for any business because without natural web traffic your business becomes cut off from a whole world of potential customers. Setting up Plishka Consulting’s SEO allowed me a practical hands on education into search engine optimization from the ground up.
Finally, the last crucial piece of setting up a new business is getting the word out. In this regard, I needed to learn how to advertise my company and then put that education to work. For that I obtained Google certifications in all Google Ads platform options. After which, I was able to establish a marketing strategy, budget, and analysis channel to begin the marketing process for my new company.
The final result is what you see before you. An efficient, beautiful online presence for a new burgeoning business.
Even with all the new challenges to tackle (and educational material to complete) the project was still completed within a month. Likewise, the technical budget was kept to a minimum.