Nickolas Fisher, Developer in West Chester, PA, United States
Nickolas is available for hire
Hire Nickolas

Nickolas Fisher

Verified Expert  in Engineering

Software Developer

West Chester, PA, United States

Toptal member since May 16, 2019

Bio

Nickolas is a developer with over a decade of experience in many languages and platforms. He specializes in large scale enterprise web apps, payment gateways, software architecture, and Windows services. A passionate company owner, Nickolas works with clients from around the globe and has led his team through many successful web, and mobile app development projects.

Portfolio

Fishbowl Software
C#, SQL, MySQL, PostgreSQL, Angular, React, ASP.NET Core, .NET Core, ASP.NET...
Spectacles LLC
Microsoft 365, JavaScript, Microsoft Visual Studio, Office 365, React...
BYL Risk Management
JavaScript, SQL, Web API, Model View Controller (MVC), C#

Experience

Availability

Part-time

Preferred Environment

.NET, Windows

The most amazing...

...project I've worked on is an app that calculates the most fuel-efficient directions for buses to take when picking up passengers.

Work Experience

Owner and Lead Architect

2018 - PRESENT
Fishbowl Software
  • Headed a multinational team of designers, developers, and testers to coordinate product releases for our clients.
  • Designed and developed an estimator and status app that allows clients to easily see the scope of their application and its current status.
  • Led efforts to streamline architectural designs across multiple clients to save time and energy per component.
  • Created boilerplate code across multiple frameworks implementing common design patterns to quickly and efficiently scaffold new applications.
Technologies: C#, SQL, MySQL, PostgreSQL, Angular, React, ASP.NET Core, .NET Core, ASP.NET, ASP.NET Core MVC, NUnit, Azure PaaS, APIs

Microsoft Developer

2022 - 2022
Spectacles LLC
  • Integrated Okta, Clio, Google, and Microsoft as identity providers into the core software.
  • Added new features and enhancements to the React application.
  • Oversaw the releases by publishing to a Linux server running Apache.
Technologies: Microsoft 365, JavaScript, Microsoft Visual Studio, Office 365, React, Microsoft Team Foundation Server, Microsoft AppSource, C#

Developer

2008 - 2018
BYL Risk Management
  • Supported the core software platform, Latitude. Latitude enabled a high degree of customization.
  • Worked on the development and was the lead maintenance on the payment portal.
  • Integrated various payment processors, such as iTransact and First Data, into the payment portal.
  • Designed and developed software to measure metrics on the call staff.
  • Was responsible annually for the PCI audit, working with the auditor and making any changes.
Technologies: JavaScript, SQL, Web API, Model View Controller (MVC), C#

Spectacles | Word Add-in

https://appsource.microsoft.com/en-us/product/office/WA200001431?tab=Overview
Spectacles is a Word add-in that highlights legal terms for the user and easily navigates the definitions. After the prototype for the add-in was completed, I joined this project, but there were some outstanding tasks that needed to be completed before taking the add-in to production. This included adding authentication using Google and Microsoft.

For authentication, I attempted to use Microsoft's Office-js-helpers library; however, the library is a little buggy and has since been archived. I have since corrected the bugs and enhanced the functionality to allow more Oauth providers to use id_tokens. To accomplish this, I forked their archived repository and made my changes there, which is now public for others to use.

I was also responsible for overseeing this project through the Microsoft Certification process before it went public. This includes creating the description and uploading the manifest to the Microsoft Partner Center and working with Microsoft to align the project with their requirements.

My Toptal Profile in Chatbot Form

https://profile.fishbowlllc.com/
I built this bot specifically to reference my Toptal profile. The bot itself is a small web application using Node.js as a server, and Bootstrap for the layout. You can ask this blog about me and my experience.

The bot is built using Dialogflow for the back end. I monitor it periodically to retain the model based on responses I am seeing from users who visit it.

It is deployed on a Heroku instance. I manage the subdomain from Plesk on my home server's network and ensure SSL is enabled on the site. If the certificate were to fail, Chrome would not allow access to the microphone.

Spectacles | User Management Site

https://app.spectaclesreader.com/
Spectacles is a Word add-in that highlights legal terms and makes it easier for users to look up definitions in legal documents. I have highlighted the work on the add-in on another project. This part of the project was to allow users to manage their accounts on a central platform.

This application served three major roles. First, it allowed users to maintain and update their subscriptions. Second, it synced the subscription details from our system to the system of record. Initially this was done through Microsoft's SaaS platform; however, we migrated to Stripe shortly after entering production. Finally, it provided an API for the Word Add-In to check account details. The Word add-in had a tiered subscription that needed to be checked before allow certain features.

I was the only developer on the site. My role was designing the database, selecting the design for the site, developing, testing, and deploying the website to Azure. I was also responsible for working with Microsoft to pass validation for the Microsoft SaaS Fulfillment APIs.

Blogger for Okta Single-sign Provider

https://developer.okta.com/blog/authors/nickolas-fisher/
I wrote articles for Okta, a single sign-on provider, where I taught readers how to create applications in various frameworks and integrate Okta's platform into their use cases.

These tutorials required me to create an application in a given framework under specified conditions and then write an article about the challenges and procedures to securely integrate Okta with the reader's software.

I primarily worked in JavaScript (front-end frameworks like React, Vue, Angular, their derivatives, and Node.js) and various C# frameworks like Blazor and ASP.NET Core.

I also taught users how to deploy Okta-secured websites to platforms such as Firebase, Azure, and Google Cloud.

Absolutely Boxing | WordPress Site

This is a blog site that I developed independently using WordPress and hosted on AWS Lightsail. The site acts as a home platform for Absolutely Boxing.

The site uses WP Page Bakery for the layout and incorporates plugins such as Yoast SEO, Google Analytics, Advanced Ads, Popup Anything, and Newsletter.

QuickBooks and Great Plains Integrations

Initially, our company was on Great Plains, and then we moved to QuickBooks in 2011. I helped facilitate that migration.

We created IIF files from our home system and introduced them to QuickBooks. I helped the accounting team troubleshoot errors that came up during the migration and forward flow.

We migrated back to Great Plains in 2013 and wrote an integration through eConnect. As we already had the IIF files created, we wanted to continue to use them. I wrote an integration in an internal WinForms App (C#, .NET, SQL, ADO.NET) to read the IIF files and import them into Great Plains.

Later we migrated one of the child companies back to QuickBooks. I needed to integrate into QuickBooks using the QB SDK and added branching to the application to understand if the account needed to be in Great Plains or QuickBooks.

We then used the Quickbooks web connector to connect the desktop version of Quickbooks to our internal infrastructure that was stored in MsSQL and to pull data from our system into Quickbooks desktop.

PCI Testing | Annual Basis

For four years, I was the point contact and lead developer (and in most cases, the only developer) for our PCI compliance testing.

This included dealing with our compliance vendor, preparing staff for interviews with the vendor, performing a battery of tests against our public-facing websites, and hardening security deficiencies.

I worked with a security vendor who would perform penetration testing on our web applications and evaluate our sensitive information network. Remediation procedures included code changes, process changes, writing SQL Agent Jobs and BI suites to remove sensitive data after a certain time. I also sanitized databases, and logs of sensitive information.

OneSite and RealPage Integration

In order to facilitate automated account imports coming from Student Housing clients, I wrote an integration with RealPage's platform.

RealPage then informed us that we needed to move to a newer RPX platform to support accelerated rent clients. RPX was a REST API that required acknowledging an account had been picked up along with supporting documents for the account.

The accounts came in XML format which then needed to be converted using XSLT to a format that was friendly for our host system, Latitude. XSLT was used to create a variable record format file.

Absolutely Boxing | Command Center

The command center is an internal web application used to warehouse data, create articles, and manage workflow statuses for the Absolutely Boxing WordPress site.

The site directly integrates with WordPress to upload images, tags, categories, events, and full articles.

The application was built with a .NET stack, using Web API and MVC with a Knockout.js-based front end.

The site also connected with a Python bot that monitors Twitter for the latest gossip from premium sources–generally promoters or boxers themselves. The bot then categorizes the tweet as interesting or uninteresting and creates an alert for the user to review the tweet and write an article for it.

Other features include a sophisticated workflow to manage article status, data aggregation modules, Hangfire for automation, and NLogger for logging.

Enterprise Recovery Data Syncing in MS SQL

https://www.enterpriserecovery.com/
In the early days of Enterprise Recovery (ER), we had clients looking at a website connected to an ER Enterprise database and representatives working out of a system that had been in place before ER. We lacked the tools to import and export transactions and accounts into the ER database but had those in the previous system.

My role was to create a series of database jobs automatically imported to the previous system, then synced that data back to a new one. We also had some functionality to take notes in the ER system, and those needed to be brought back into the old system.

The challenges here were ensuring the transactions were in sync and the accounts were balanced. If the accounts were out of balance, I wrote a script to categorize the type of error and later wrote a script to correct those that didn't need further research automatically.

This project was pure SQL using MS SQL and leveraged the SQL Agent for automation. I was also the designer of the database and responsible for its optimization.

My Balance Online

https://cardionet.mybalanceonline.com/
This was one of my first true C# and MVC projects. The site was designed to solve the problem of allowing clients to pay online automatically.

I was involved in the initial design and development of the site in a junior capacity. Over the course of the project's lifespan, I came to own this site and was responsible for new features, optimization, security hardening, managing the DNS, and managing the IIS configurations.

We had several challenges with the site. First and foremost, our customers used different payment vendors (First Data, iTransact, ClearComm). This meant that we needed to integrate with them in different ways without the use of REST API.

We also needed to separate the sites to prevent sensitive data from being exposed on our internal network's web application level. To accomplish this, we wrote an internal API that restricted the type of data that could be displayed in the web application. We configured a firewall on each level, ran semi-annual pen testing on the site, and annual security hardening.

Development of an Accounting API using Node.js

I was part of a team working with microservice architecture using AWS and Azure for deployment. My role was to design an API that was capable of syncing payments, invoices, and attachments with third-party systems such as QuickBooks and Great Plains.

The API needed to be extensible to reduce the development time of ongoing integrations that may be required. The API itself was promise-based in Node.js using Express. It was back-ended with an MS SQL database that connected and used the Sequelize ORM.

Build of a Simple Web App with Node.js and PostgreSQL

https://developer.okta.com/blog/2019/11/22/node-postgres-simple-webapp
I helped Okta write an article for their blog. The article required me to write a simple Node.js application with a PostgreSQL database, then used the Okta single sign-on provider to authenticate users.

Component Library for Marketplace Application

The client's project was split into two different libraries: a web application and a component library. I worked on the component library, enhancing or adding new components. The project was done with React, using Storybook for component development. Some of the common tasks were creating new components, correcting bugs in existing components, or enhancing the functionality of existing components. Testing was done with Jest on each component and there was an expectation that code coverage would be 100%.

Convert ThemeForest Template to React Components

The client had purchased an HTML and TailwindCSS HTML package from ThemeForest and needed it converted into React components. I set up a repository for the HTML theme from the vendor and then converted each of the pages into React components. I built a custom hook that fetched data from the client's API but could be switched to call stubbed data using environment variables. The project used Storybook for component and page development before finalizing the site.

Developer for Training-software Tracking

At QTS, I worked on several different projects. Initially, I was brought in to work on a website that a specific client would use to streamline their internal process. This project was a .Net 4.5 ASP.NET MVC web application using Knockout.js on the front end.

After completing this project, the client requested that I stay on to help add new features and do maintenance on one of their flagship applications. This is also a .Net 4.5 ASP.NET MVC web application with plain JavaScript on the front end. In this role, I was able to help navigate three successful semi-annual releases. I also assisted in the release process, streamlining their clients' installation process using their MSI installer library.

My last role was to help design and develop their next-generation application. This was written in .NET 6, an ASP.NET Core web API with an Angular front end. My role was primarily to design and manage their staff. I trained their people on proper design patterns, integration tests, unit tests, and the latest features in .NET 6.

React App with ASP.Net Core Web API from MVP To Production

The client had a working MVP that was doing pretty well but had some issues that needed to be resolved. The React app needed a little polishing and some organization. I brought Storybook to help design new components and rearranged the app into a component-based paradigm. I then refactored the API calls into a new library that handled the errors and responses in a more streamlined way. Finally, I added some new features, including a few new visuals with Chart.Js to help enhance the product.

On the web API side, I added the entities and supporting components for those needed on the new client end. I also added integrating testing. To accommodate this, I used SQLite to create a new set of migrations and then ran the tests on Azure using Sqlite. Each API endpoint had its series of integration tests.
2005 - 2010

Bachelor's Degree in Mathematics

West Chester University - West Chester, PA

Libraries/APIs

jQuery, Web API, OpenID, QuickBooks API, React, AutoMapper, Node.js, Stripe API, Vue, Chart.js

Tools

Hangfire, Git, Bitbucket, GitHub, Azure Active Directory B2C (ADB2C), Jira, Postman, Microsoft Visual Studio, Microsoft Team Foundation Server

Languages

C#, SQL, JavaScript, HTML, XML, Pug, CSS

Frameworks

.NET Core, ASP.NET MVC, Entity Framework Core, OAuth 2, .NET, ASP.NET Core MVC, JSON Web Tokens (JWT), Express.js, Knockout (Knockout.js), Koa, Sails.js, AngularJS, NUnit, Jest, ASP.NET Core, Angular, Swagger, ASP.NET

Platforms

Windows, Visual Studio Code (VS Code), WordPress, Visual Studio 2017, Azure, Firebase, Azure PaaS

Storage

SQL Server 2012, PostgreSQL, MySQL, Azure Websites, Google Cloud, SQL Server DBA

Paradigms

Object-relational Mapping (ORM), Dependency Injection, Unit Testing, Model View Controller (MVC), UI Design

Other

E-commerce Development, Ajax, APIs, qbXML, Harvest, Microsoft SaaS Fulfillment, Storybook, Vite, Microsoft 365, Office 365, Microsoft AppSource, Integration Testing, eCommerce Fulfillment, Amazon FBA

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