Nickolas Fisher
Verified Expert in Engineering
Software Developer
West Chester, PA, United States
Toptal member since May 16, 2019
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
Experience
Availability
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
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.
Microsoft Developer
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.
Developer
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.
Experience
Spectacles | Word Add-in
https://appsource.microsoft.com/en-us/product/office/WA200001431?tab=OverviewFor 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/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/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/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
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
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
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
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 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/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/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
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-webappComponent Library for Marketplace Application
Convert ThemeForest Template to React Components
Developer for Training-software Tracking
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
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.
Education
Bachelor's Degree in Mathematics
West Chester University - West Chester, PA
Skills
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
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring