Bryan McNeil

bmcneil.t@gmail.comIdaho Falls, IDlinkedin.com/in/bryan-mcneil-tenoriogithub.com/bryan-mcneil

Full Stack Engineer

Download PDF

Summary

Full Stack Engineer with 8 years of experience building web applications, REST APIs, and data integrations in PHP/Laravel, C#/.NET, JavaScript/TypeScript (React), and SQL Server. Owned applications from requirements through deployment and ongoing maintenance, including systems that automated manual workflows (a 4-hour import cut to 5 minutes) and supported online sales (a ~2,500-course catalog and a REST API used by 30 resellers). Built cloud data pipelines and monitoring workflows with Azure Data Factory and Logic Apps, and managed an AWS EC2 instance hosting a call-reporting application.

Skills

  • Languages: PHP, C#, TypeScript/JavaScript, SQL (T-SQL), Dart
  • Frontend: React, Next.js, Livewire/Blade, Tailwind CSS, Bootstrap, jQuery, HTML/CSS
  • Backend: Laravel, .NET, Node.js/Express, RESTful APIs, SignalR/WebSockets, WordPress, Classic ASP
  • Data: SQL Server (MSSQL), MySQL, PostgreSQL, Redis, Prisma, stored procedures
  • Cloud & DevOps: Azure (Data Factory, Logic Apps), AWS EC2, GitLab CI/CD, GitHub Actions, IIS, Git
  • Testing & QA: PHPUnit, Playwright, Cypress, Vitest, Laravel Dusk, code review, manual QA
  • AI: Claude API, MCP servers, Gemini (Vercel AI SDK), Claude Code
  • Integrations: Salesforce, HubSpot, Microsoft Learn API, Zoom API, Google OCR

Professional Experience

Full Stack Engineer

Jan 2022 – Jun 2026
Educate 360Remote
  • Built and owned the PHP platform behind the public course catalog and class schedule, merging Salesforce, Thought Industries (LMS), and partner data into one SQL Server database covering ~2,500 courses and 4,000–5,000 class dates, roughly doubling the courses offered.
  • Automated a twice-weekly Excel cleanup and database import, cutting each run from 4 hours to 5 minutes (400+ hours saved a year) and ending the need for an outside consultant (~$6.5K a year).
  • Built a versioned REST API that 30 resellers used to pull course and schedule data, and trained their teams to integrate it.
  • Cut API response times from several seconds to under one second by adding Redis caching and tuning the SQL queries behind it.
  • Integrated Microsoft Learn's API to publish hundreds of class dates automatically and keep enrollment availability in sync with Salesforce, opening a new sales channel worth an estimated $29K a year.
  • Built Azure Data Factory pipelines, Logic Apps alerts, and scheduled jobs that kept site data in sync and caught bad data early: duplicate class entries, misconfigured courses, and failed API POSTs.
  • Migrated and visually rebranded the Watermark Learning site and its 75 courses from legacy PHP to Laravel and PHP 8.3 with no downtime and existing business logic intact.
  • Designed SQL Server (MSSQL) and T-SQL stored procedures for data consolidation, validation, and reporting, plus internal tools that let staff search, filter, and export course schedules.
  • Reviewed merge requests and manually QA'd releases for a 4-person Agile remote team in GitLab, with GitLab CI/CD pipelines (YAML) deploying to dev and staging under formal change management.
  • Migrated TCM Security's website to a new WordPress instance: built custom PHP course filters, managed plugins, and moved the legacy blog content.
  • Maintained all 8 company websites (Educate 360 and 7 training brands) across Laravel, WordPress, DNN, and legacy PHP.
  • Turned marketing's Figma and Adobe UX/UI designs into responsive pages (HTML/CSS, JavaScript, jQuery, Bootstrap), set up A/B testing pages tracked in HubSpot, and added JSON-LD schema markup for courses for search engine optimization (SEO).
  • Maintained a legacy phone-reporting app on AWS EC2 and integrated Zoom's API for call tracking.

Full Stack Engineer

Sep 2018 – Dec 2021
RS&IIdaho Falls, ID
  • Replaced a Visual Basic desktop app with a real-time employee availability dashboard in C#/.NET and SignalR over WebSockets, used daily by 25–30 employees to schedule meetings and route phone calls; still in use.
  • Digitized dealer onboarding with online forms, generated fillable PDFs, e-signatures, and application tracking, cutting turnaround from days of mailed paperwork to under an hour.
  • Built an expense-report app with the accounting team that reads receipts with Google OCR to prefill forms and compresses photos for slow mobile connections, cutting report time from hours to minutes.
  • Built a web app to track new account executives' progress, with SQL Server stored procedures, role-based access, and a Bootstrap interface.
  • Secured the company's IIS servers with an internal certificate authority for SSL and encrypted data at rest.
  • Built a web scraper to collect and track distributor data for clients.

Projects

GadgetDrop

May 2026 – Present

Personal project, livegadgetdrop.tech

Stack: Laravel, Livewire, React/Inertia, MySQL, Tailwind CSS, Claude API

  • Built and run a live product-review and price-tracking site on Laravel, Livewire, and MySQL with price history, deal verdicts, price-drop email alerts, and 11 scheduled jobs.
  • Moved the public site from React/Inertia to server-rendered Blade and Livewire for SEO, so search engines see complete pages, while keeping React for the admin area.
  • Built an AI integration with the Claude API that streams an explanation of each buy-or-wait verdict under a daily budget, rate limit, and cache, plus an MCP server for AI agents.
  • Backed by 650+ PHPUnit tests, Laravel Dusk and Cypress end-to-end tests, GitHub Actions CI, and a one-command deploy script; developed with Claude Code.

Personal project

Stack: React, TypeScript, Express, Bun, PostgreSQL, Prisma, Gemini (Vercel AI SDK), Playwright

  • Built an AI help desk (React, TypeScript, PostgreSQL) that answers email from a knowledge base.
  • Runs Gemini in two pg-boss workers, one to classify and one to auto-resolve or escalate to a human, each owning separate fields so they never race.
  • Added Better Auth roles, AI reply polishing and summaries, and 80+ Playwright and Vitest tests.

Forgotten Kanji

Jul 2026 – Present

Mobile game, in development

Stack: Flutter, Dart, Flame, Google ML Kit, FSRS, SQLite (Drift)

  • Building a Japanese-learning RPG in Flutter and Flame where players cast spells by drawing kanji.
  • Wrote a pure-Dart stroke grader that scores shape, order, and direction against 23,356 KanjiVG paths for 2,230 kanji, so drawing works offline on Android, web, and PC without ML Kit.
  • Covered by 1,400+ unit and widget tests in GitHub Actions CI; Riverpod for state, Drift for saves.

Education & Certifications

B.S., Computer Information Technology

2017

Brigham Young University – Idaho