How Expert DNN Maintenance Turned Crisis Into 33 Months of Growth
How systematic maintenance transformed a failing pet grooming SaaS into a reliable, growth-ready platform
Executive Summary: From Crisis to Confidence: 33 Months of DotNetNuke Excellence
In June 2023, GroomyApp a cloud-based pet grooming business management platform was on the brink of failure. Critical systems were broken: new customers couldn't sign up, payments weren't processing, and automated appointment reminders had stopped working entirely. The platform that 50+ grooming businesses relied on daily was becoming unusable.
Through systematic DotNetNuke maintenance and strategic feature development over 33 months, we transformed GroomyApp from a failing platform into a reliable, competitive SaaS solution. Emergency fixes restored core functionality within 30 days, while ongoing development added modern payment integrations, client self-service capabilities, and infrastructure optimizations that prevented a 50% increase in hosting costs.
Uptime achieved from ~92% baseline
To restore all critical systems
API integrations modernized
Active Grooming Businesses
Client Profile
Organization
GroomyApp serves independent pet grooming salons and small grooming businesses seeking affordable, all-in-one CRM and booking software. Their clients typically manage 50-300 active pet customers, process 40-70 appointments weekly, and need automated reminders, online booking, and in-store payment processing to compete with larger chains.
DNN Technology Stack
The GroomyApp SaaS platform environment consisted of the following technical architecture:
- DNN Platform: Version 9.x (legacy modules from earlier versions)
- Database: Microsoft SQL Server (Azure SQL Database)
- Web Server: Azure App Service (Standard S1 tier, Windows-based)
- Authentication: Standard DNN authentication with role-based access control (Business Owner, Groomer, Customer roles)
- Development Framework: ASP.NET with C# code-behind, custom DNN modules
Third-Party Integrations
- Payment Processing: PayJunction POS Smart Terminal and Card Interface with cash or gift-card.
- Communication: Twilio Programmable SMS with A2P 10DLC compliance for appointment reminders
- Marketing Automation: Go High Level (GHL) custom webhook integration for customer acquisition funnels
- Email Delivery: SMTP-based transactional emails (account activation, password resets, appointment confirmations)
The Challenge: A Platform in Crisis
When we began working with GroomyApp in June 2023, the platform was experiencing multiple critical failures that were preventing business growth and threatening existing customer operations. The previous development team had left behind fragile code with unresolved bugs and incomplete features.
Critical Issues Blocking Business Growth:
- Broken Free Trial System: New users couldn't complete the 14-day trial signup process. Accounts were created in the database but invisible to business owners, appearing as failed registrations and blocking the primary customer acquisition funnel.
- PayPal Integration Failure: Legacy PayPal buttons using deprecated APIs prevented any paid subscriptions. The payment flow had multiple broken redirect parameters, making it impossible to monetize the platform.
- SMS Reminder System Down: Appointment reminders critical for reducing no-shows were completely non-functional due to Twilio API changes and incomplete A2P 10DLC compliance registration.
- Mobile Booking Interface Broken: Time slot availability indicators and color coding failed on mobile devices, causing booking errors and frustrated end users.
- Data Integrity Problems: Pet-specific pricing randomly reset to default values due to SQL injection vulnerabilities, causing billing discrepancies and customer complaints.
- Performance Degradation: Azure hosting infrastructure approaching capacity limits with frequent slowdowns and login failures during peak hours.
The business couldn't onboard new customers, existing clients were experiencing daily service disruptions, and customer support tickets were accumulating faster than they could be addressed. Revenue growth had completely stalled.
Investigation & Discovery
Our first priority was conducting a comprehensive technical audit of the DNN platform, database architecture, and third-party integrations to identify root causes rather than symptoms.
1. Free Trial Registration Failure
Root Cause: The business dashboard SQL query filtered accounts by "Active" status only, excluding "Free Trial" status accounts from visibility.
2. PayPal Integration Breakdown
Root Cause: Multiple compounding issues: (a) legacy PayPal buttons using deprecated API endpoints, (b) webhook callbacks using incorrect parameter names between sandbox ('payerid') and production ('token') environments, (c) no proper redirect flow after payment completion.
3. SMS Reminder System Inoperative
Root Cause: Critical multi-factor failure: (a) Twilio A2P 10DLC campaign registration incomplete—all SMS delivery blocked pending compliance approval, (b) authentication credentials stale after account verification, (c) messaging service SID misconfigured, (d) legacy scheduler code incorrectly setting 'reminder_sent' flags, preventing SMS sends even after Twilio fixes.
4. Mobile Calendar Display Failure
Root Cause: CSS styling for time slot availability (red/blue color indicators) failed in responsive mobile layouts; booking logic queried deprecated database table instead of real-time button state.
5. Pet Pricing Reset Bug
Root Cause: SQL injection vulnerability from unescaped single quotes in pet names (e.g., "Zoey's") breaking parameterized queries; breed-specific pricing module overwriting pet-level customizations during automated updates.
6. Azure Resource Exhaustion
Root Cause: Customer growth exceeded Standard S1 plan capacity (95%+ HDD utilization); staging and production environments inefficiently sharing resources on single plan.
The Solution: Systematic Recovery & Enhancement
Phase 1: Emergency Stabilization (June 2023)
Our first priority was restoring core platform functionality to stop the bleeding and enable basic business operations.
- Free Trial Dashboard Fix [3 hours]: Modified business dashboard module SQL query to include both 'Active' and 'Free Trial' status accounts. Deployed June 5, 2023. Immediate impact: Trial signups became visible to business owners.
- PayPal Integration Rebuild [15 hours]: Migrated from deprecated legacy buttons to current PayPal REST API; implemented proper parameter handling for production environment; created payment success/cancellation redirect pages with navigation; added webhook status updates. Testing completed June 7-9, 2023. First successful paid subscription processed June 9, 2023.
- Mobile Calendar Responsive Redesign [8 hours]: Refactored CSS media queries for time slot color indicators; updated booking availability logic to check real-time button state instead of stale database table. Deployed June 16, 2023. Mobile booking errors eliminated.
- SQL Injection Vulnerability Remediation [6 hours]: Implemented parameterized queries for all pet name inputs; added input sanitization for special characters; deployed comprehensive input validation layer. Emergency security patch June 21, 2023.
Phase 2: SMS System Restoration (June-July 2023)
Restoring appointment reminders required navigating Twilio's new A2P 10DLC compliance requirements—a regulatory framework that didn't exist when the system was originally built.
- A2P 10DLC Compliance Registration [10 hours]: Registered business brand with campaign registry; configured messaging service with proper SID; submitted vetting documentation; coordinated with Twilio support. Campaign approved July 6, 2023 after 5-day regulatory review.
- Authentication & Configuration Update [4 hours]: Retrieved post-approval AccountSid and AuthToken; verified FromPhone number; updated application web.config; tested authentication flow.
- Scheduler Rebuild [8 hours]: Implemented new appointment reminder flag system (SMS_On) independent of legacy reminder_sent; built BCC email tracking for delivery monitoring; created retry logic for failed sends; handled unsubscribed recipients (Twilio Error 21610).
- Live Testing & Validation [3 hours]: Coordinated with client phone numbers for real-world testing; verified multi-pet appointment handling; confirmed Twilio console delivery logs. July 13, 2023: First successful SMS batch delivered with 100% success rate.
Phase 3: Advanced Feature Development (Aug 2025 - Feb 2026)
With the platform stabilized, we shifted focus to strategic enhancements that would enable marketing automation and operational efficiency.
Go High Level Payment Integration [60 hours]
Built complete marketing funnel automation allowing the client to capture leads through custom checkout pages and automatically create GroomyApp business accounts.
- Custom webhook integration between GHL and DNN platform
- Automated business account creation from payment data (contact info, subscription tier, billing frequency)
- Password reset email automation for new signups
- Subscription tracking sync (Groomy vs. Groomy Plus, Monthly vs. Yearly)
- Business outcome: Client gained full control over marketing funnels with zero-touch onboarding.
PayJunction Terminal Integration [45 hours]
Enabled in-store payment processing with smart terminals and automated reconciliation.
- PayJunction smart terminal API integration for in-person payments
- Webhook handlers for real-time payment status synchronization
- Split payment functionality with proper validation logic
- Payment failure handling and retry mechanisms
- Detailed transaction reporting with accurate tax calculations
Client Self-Service Portal [35 hours]
Empowered end customers (pet owners) with self-service capabilities, reducing support burden.
- Customer-facing login and profile management
- Pet information editing with business approval workflow
- Online booking interface showing services/pricing
- Multi-business support for clients using multiple groomers
- Pet document management (vaccination records, certificates)
Phase 4: Infrastructure Optimization (October 2025)
When Azure resource limits threatened to force an expensive plan upgrade, we found a creative solution.
- Performance Monitoring: Implemented resource usage dashboards and capacity planning metrics.
- Cost Avoidance: Prevented required upgrade from Standard S1 ($150/month) to Standard S2 ($300/month), saving $1,800+ annually.
Results & Impact
Quantitative Outcomes
System Reliability
Sustained uptime from June 2023 through February 2026, up from ~92% with frequent crashes and login failures
Issue/Bug Fixing
Critical bug resolution achieved for enterprise clients with zero downtime post-deployment
Mobile Errors
Error rate reduced from ~30% of mobile sessions reporting booking issues
Payment Processing
Transaction completion rate for PayPal and PayJunction payments with automated reconciliation
Support Tickets
Reduction in critical bug reports within first 90 days; sustained low incident rate
Error Reduction
Critical errors decreased from daily occurrences to rare exceptions through systematic bug elimination
Qualitative Business Impact
- Revenue Growth Enabled: Platform stability restored confidence to market and sell subscriptions actively
- Marketing Transformation: GHL integration enabled sophisticated funnel tracking, email automation, and lead nurturing previously impossible
- Operational Efficiency: Automated appointment reminders reduced no-shows; client self-service reduced support burden by ~40%
- Data Integrity Restored: Eliminated random pricing resets; financial reporting became reliable for QuickBooks reconciliation
- Customer Satisfaction: End-user clients (pet owners) gained self-service booking and profile management capabilities
- Technical Debt Eliminated: Systematic removal of SQL injection vulnerabilities, deprecated API usage, and fragile legacy code
Code Example: SQL Injection Fix
One of the most critical fixes involved securing pet name inputs that were vulnerable to SQL injection:
// BEFORE (Vulnerable)
string sql = "SELECT * FROM G_Pets WHERE PetName = '" + petNameInput + "'";
// Failed when petNameInput = "Zoey's" (apostrophe broke query)
// AFTER (Secured StoredProcedure with Parameters )
using (SqlCommand cmd = new SqlCommand())
{
cmd.CommandText = "spSavepetName";
cmd.Parameters.AddWithValue("@PetName", petNameInput);
// Parameterized queries prevent injection attacks
}
Development Methodology
- Incremental Deployment: Test environment validation before production rollout for all changes
- Zero-Downtime Updates: DNN module deployments scheduled during low-traffic periods
- Collaborative Testing: Real-time Zoom sessions with client for complex feature validation
- Comprehensive Logging: Application event logs, Twilio delivery tracking, and Azure monitoring for proactive issue detection
Security & Compliance
- SQL injection vulnerability remediation across all user input forms
- PCI compliance considerations for PayPal and PayJunction payment processing
- TCPA compliance for SMS messaging (opt-in tracking, unsubscribe handling)
- Regular DNN security patches and module updates
- SSL/TLS encryption for all data transmission
"Jitendra has been instrumental in keeping GroomyApp running and growing. When we started working together, we had critical issues blocking customer signups and payments—our business was essentially dead in the water. He systematically fixed everything, from PayPal integration to SMS reminders to mobile booking. Beyond just fixing bugs, he's helped us build new features like the GHL marketing integration and client self-service portal that we didn't even know were possible. His response time is excellent, he explains technical issues clearly, and he's always willing to jump on a call when we need to work through something complex. We've been working together for over two and a half years now, and I trust him completely with our platform."
— Kyle K, Product Owner, GroomyApp