Bryan McNeil
bmcneil.t@gmail.comIdaho Falls, IDlinkedin.com/in/bryan-mcneil-tenoriogithub.com/bryan-mcneil
Full Stack Engineer
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- 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- 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 – PresentPersonal 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.
Helpdesk
2026Personal 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 – PresentMobile 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
2017Brigham Young University – Idaho