Magnus Mårtensson
Microsoft Regional Director, Azure MVP, CEO Loftysoft
Avirag Jain
Director & CTO R Systems
Mahesh Chand
Founder C# Corner, CEO Mindcracker
Chris Gali
CEO & Co-Founder Graphite
Subinder Khurana
Chief Architect StoryProcess, Founder NASSCOM DeepTech Club
Bryan Rishforth
Investor, Chairman Graphite
Bryn Everson
Director Biz Dev Graphite
Raj Tiwari
Digital Transformation Leader, Futurist and Visionary
Joseph Guadagno
Microsoft MVP, Lead Quicken Loans
Nikita Sachdev
Entrepreneur, Blockchain Enthusiast & Advisor, Social Media Influencer
Doug Wagner
COO & Founder Adapt Technical Group
Ritesh Modi
Architect, Senior Evangelist, Cloud Architect
Crystal Wenrick
Director Communications Mindcracker
Allen O’Neill
Microsoft MVP, Consulting Engineer/Architect
Praveen Kumar
CEO MCN Solutions
Chris Love
Founder Love2Dev, Microsoft MVP, Author
Sanjay Vyas
Microsoft Regional Director, Microsoft MVP, Founder & CEO SkillLabs Technologies
Veena Sarda
Deep Learning Consultant, Author
Sekhar Srinivasan
C# Corner MVP, Microsoft Certified Trainer, Pluralsight Author
Lalit Bansal
Founder & CEO - EIY SYS
Navdeep Garg
CEO Revinfotech
Prakash Tripathi
Tech Manager/Leader, Microsoft MVP, Blogger
Bhavna Jain
Breakthrough Consultant
Naveen Sharma
Enterprise Architect, Leadership Coach, Author
Vidya Vrat Agarwal
Principal Architect, Microsoft MVP, Author
Sheetal Agarwal
Founder Clownselors, Medical Clown, Trainer
Abhishek Kant
Founder GTM Catalyst
Vishnu Saran
Founder & CEO VoiceQube
Sandeep Soni
Founder & CEO Deccansoft, Microsoft Certified Trainer
Parveen Malik
AVP InfoSec & Vulnerability Management, Information Security Expert
Nitin Pandit
Microsoft MVP, Developer Evangelist, Author
Niloshima Srivastava
C# Corner MVP, Tech Architect, Trainer, Blogger
Bala Chirtsabesan
Senior Software Engineer at Microsoft, Author
Manoj Mittal
Sr. Technical Architect, C# Corner MVP, Author
Chandni Di
Co-Founder Voice of Slum
Vithal Wadje
Technical Lead, Microsoft MVP, Author
Shivam Ahuja
Founder SkillCircle, Business Mentor
Chervine Bhiwoo
Solution Architect, Microsoft MVP, Author
Saurabh Jain
Vice President Paytm, Founder Fun2Do Labs, Author
Vinay Solanki
Head IoT at Lenovo, Founder IoT-NCR
Anshu kumari
Founder Blockchainkids, Inventor, Trainer
Amit Singal
CEO Startup Buddy
Dev Pratap
Co-Founder & CEO Voice of Slum
Amey Vartak
Technology Consultant, Full Stack Developer, C# Corner MVP, Author
Viswanatha Swamy
Principal Software Engineer, C# Corner MVP, Author
Sanket Verma
Research Engineer @ Ballistics (Forensics) and Chair, PyData Delhi
Sourabh Somani
Lead Developer, Microsoft MVP, Author
Abhishek Mishra
Software Architect, C# Corner MVP, Author
Siddharth Vaghasia
Technical Consultant, C# Corner MVP, Blogger
Bassam Alugili
Senior Software Specialist, Database Expert
S Ravi Kumar
Solution Architect, C# Corner MVP, Author
Sundaram Subramanian
Full Stack Developer, C# Corner MVP, Speaker
Deepesh Somani
Solution Architect, Microsoft MVP, Author
Debasis Saha
Technical Project Manager, C# Corner MVP, Blogger, Author
Vipul Jain
Software Architect, C# Corner MVP, Author
Akshay Patel
Technical Architect, Microsoft Certified Trainer, C# Corner MVP, Author
Stephen Simon
RPA Developer, Evangelist, Author
Vivek Sharma
Founder Kingster636, AR/VR Specialist
Jeetendra Gund
Technical Lead, C# Corner MVP, Author
Sujal Beniwal
AI Enthusiast, Student
M Viknaraj
Microsoft MVP, Azure Architect, Author
Prasham Sabadra
Software Architect, C# Corner MVP, Trainer, Author
Aakash Maurya
Senior Developer, C# Corner MVP, Speaker
Ankit Sharma
Senior Software Engineer, C# Corner MVP, Author
Mangesh Gaherwar
Team Lead, C# Corner MVP, Author
Viral Jain
Technical Consultant, C# Corner MVP, Author
Bhasker Das
Solution Architect, Evangelist
Manish Dwivedi
Associate Project Manager
Ck Nitin
Programmer, Author
Rohit Gupta
Technical Trainer, Author
Manish Tewatia
Full-stack Marketer, UX Designer
Bhavya Gaur
Technical Illustrator
Rohit Tomar
SEO/SMO Expert
Web Track
Cloud & Data Track
Dev Track
Registration & Breakfast
Future of Desktop Apps with JS (ElectronJs)
Nitin Pandit
Building Serverless Microservices Using Microsoft Azure
Vithal Wadje
Innovating RPA: A Robot for Every Person
Stephen Simon
Managing Cloud Storage Accounts using Logic Apps
Viknaraj Manogararajah
Data visualization using Python
Sekhar Srinivasan
Going Cross platform with AR Foundation
Vivek Sharma
Keynote
Managing your Azure dependencies in ASP.NET Core apps using VS
Bala Chirtsabesan
Securing Applications on Intelligent Azure
Abhishek Mishra
Getting started with Blazor the Framework of Future
S Ravi Kumar
Lunch
Build Progressive Web Apps using Angular 9
Debasis Saha
Build and deploy to any platform using Azure DevOps
Chervine Bhiwoo
Deep Dive in Azure Service Bus
Akshay Patel
Build a Native Mobile Application using React Native and JavaScript
Joseph Guadagno
Making sense of Web Job, Web Job SDK and Functions in Azure
Prakash Tripathi
CloudFront Distribution in AWS
Viral Jain
Tea Break
Introduction to PowerBI
Aakash Maurya
Build Advanced SPFx solutions with React and Graph API
Siddharth Vaghasia
Build Business Intelligence Analyst (BIA) Skills
Sundaram Subramanian
Deep dive of Power Platform – AI BUILDER
Prasham Sabadra
Panel 1
What's new in SharePoint development
Vipul Jain
Build a SSO (Single Sign On) based Native JavaScript application with Microsoft Identity within 10 minutes
Manoj Mittal
Panel 2
Applications and working of AI
Veena Sarda
Deploying serverless API's with .Net core 3.0 on AWS & Azure
Amey Vartak
Panel 3
Blockchain with .NET Core (Ark)
Anshu Kumari
Closing Note & Prize Distribution
Dev Track
Cloud Track
Architecture Track
Emerging Tech Track
Registration & Breakfast
Creating Full-Stack Web Apps Using Server-Side Blazor
Ankit Sharma
Real time face recognition with MS Cognitive Services
Niloshima Srivastava
Building Scalable APIs with GraphQL
Jeetendra Gund
Future of development with AI and Blockchain
Navdeep Garg
Debugging Tips and Tricks with Visual Studio 2019
Joseph Guadagno
Azure Containers
Abhishek Kant
Enterprise Architecture
Naveen Sharma
Bot Framework - learn it fast and look like a boss!
Allen O’Neill
Keynote
.Net Core & C# 8 Performance
David McCarter
Working with Azure kubernetes services
Ritesh Modi
Becoming an Architect
Vidyavrat Agarwal
Why Techies Need to Learn Product Management
Saurabh Jain
Lunch
Build a rules engine in .Net Core
Sanjay Vyas
Building CI and CD Pipeline using Azure DevOps
Sandeep Soni
Entity Framework Core - Tips and Tricks, Performance Optimization, and Tuning
Bassam Alugili
Hacking your way into Data Science
Sanket Verma
Speed up your .Net Core Website
Sourabh Somani
Azure
Magnus Mårtensson
Demystifying Open Distro for Elasticsearch
Suman Debnath
Future of Data
Shivam Ahuja
Tea Break
gRPC with C# and .Net Core
Mangesh Gaherwar
Panel 1
Essentials of Cloud security
Parveen Malik
Power platform and Dynamics 365
Deepesh Somani
Microservices - the gRPC Way
Viswanatha Swamy
Panel 2
Reserved
Reserved
Closing Note & Prize Distribution
Building a recommendation engine with Azure Cognitive Services
Recommendation systems help digital products decide what content, products, or actions should appear next for each user. A streaming application may suggest a film, an online store may rank products, and a learning platform may select the next course. The strongest systems combine user behavior, item information, business rules, and real-time context instead of treating every visitor identically.
For developers attending the C# Corner Annual Conference 2020, this subject brings together several major themes from the event: Microsoft Azure, artificial intelligence, data engineering, cloud application development, and DevOps. Azure provides managed services that can support the full recommendation workflow, from collecting events to delivering a personalized result through an API.
A practical design does not require a large machine learning team at the beginning. Teams can start with a clear scenario, reliable interaction data, and a measurable business objective. Azure Cognitive Services Personalizer can then help choose the best action for a user in a changing context, while other Azure services manage storage, search, security, monitoring, and deployment.
Define the recommendation problem
Before selecting an Azure service, define what the system must recommend. The “item” could be a news article, a product card, a help document, a video, or a call-to-action button. The recommendation engine should also know what an action means. Showing an item is one action; showing the same item with a different layout, message, or position may be another.
The desired outcome must be measurable. A retail site may optimize product clicks, add-to-cart events, or completed purchases. A knowledge portal may measure document opens and time spent reading. A training application may use lesson completion. Choosing a reward that is too distant or unreliable makes learning difficult, so an initial implementation often uses a meaningful short-term signal while tracking longer-term outcomes separately.
Personalization should also have boundaries. A recommendation may need to obey inventory rules, age restrictions, regional availability, licensing agreements, or editorial policies. Machine learning ranks eligible options; it should not bypass the rules that determine whether an option can be displayed at all.
Choose the right Azure architecture
An Azure recommendation solution usually contains several cooperating services rather than one standalone product. Application events can be sent through Azure Event Hubs or another ingestion path and stored in Azure Data Lake Storage. Azure Functions or an ASP.NET Core service can prepare request data and call the Personalizer API. Azure Monitor and Application Insights provide operational visibility.
Azure Cognitive Services Personalizer is designed for real-time decisions. It receives a context, a set of possible actions, and a reward signal later associated with the user’s response. Its contextual bandit approach balances exploration of less-used options with exploitation of options that have performed well in similar situations.
Other Azure tools address different parts of the problem. Azure AI Search can retrieve relevant documents and apply search scoring, but it is not automatically a behavioral recommendation engine. Azure Machine Learning is suitable when a team needs to train, register, evaluate, and deploy a custom ranking model. Azure Synapse Analytics or Databricks can support deeper analysis and batch feature preparation.
| Requirement | Suitable Azure capability | Typical role |
|---|---|---|
| Real-time personalized choice | Azure Cognitive Services Personalizer | Selects an action using context and reward signals |
| Keyword and semantic retrieval | Azure AI Search | Finds relevant items from an indexed catalog |
| Custom model training | Azure Machine Learning | Builds and deploys a specialized ranking model |
| Event ingestion | Azure Event Hubs or Functions | Captures interaction events at application scale |
| Historical analysis | Azure Data Lake, Synapse, or Databricks | Stores and analyzes behavioral data |
| Application observability | Azure Monitor and Application Insights | Tracks latency, failures, and service health |
This architecture can begin simply. A small web application might use an ASP.NET Core backend, a catalog in Azure SQL Database, Personalizer for ranking, and Application Insights for diagnostics. As traffic and analytical needs grow, the same design can add streaming pipelines, a feature store, offline experimentation, and a custom model without replacing the user-facing application.
Prepare users, items, and context
The quality of a recommendation depends heavily on the quality of its input. Useful user context may include a broad membership category, language, device type, approximate region, or recent session behavior. Sensitive personal data should not be sent merely because it is available. Minimize data, protect identifiers, and follow applicable privacy requirements and consent policies.
Item descriptions also matter. Each candidate action should have stable metadata that describes its category, topic, price range, audience, or content type. These attributes help the system generalize when an item has limited interaction history. For example, a newly published cloud tutorial can still be compared with other cloud tutorials, even before it has accumulated many clicks.
Context should describe the situation at decision time. A request might include the current page, referral source, time of day, device category, and recent session intent. Features should be understandable and consistently encoded. Changing the meaning of a feature between training and production can create silent quality problems that are difficult to diagnose.
The event model should record impressions as well as responses. If the system recommends three products but only reports the clicked product, it cannot distinguish an ignored item from an item that was never displayed. Capture the request identifier, selected action, candidate set, timestamp, and reward event so that results can be audited and analyzed later.
Connect Personalizer to an application
A typical request cycle starts when a user reaches a decision point in an application. The backend gathers permitted context and builds a candidate list after applying availability and policy filters. It sends those actions to Personalizer, receives the selected action, and returns the corresponding content to the client.
The service needs a stable action identifier and an associated feature payload. In a .NET application, this work can be wrapped in a typed service class that handles authentication, serialization, retries, and logging. Secrets should be stored in Azure Key Vault or managed identity configuration rather than embedded in source code or client-side JavaScript.
The reward arrives after the user has had an opportunity to respond. A click may be reported immediately, while a purchase or lesson completion may be associated with the earlier decision through a correlation identifier. The reward design should prevent duplicate submissions and should account for delayed actions. A background queue can help separate user-facing latency from reward processing.
Exploration deserves careful treatment. A recommendation model must occasionally try alternatives to learn whether they perform better, but excessive exploration can harm the user experience. Set business constraints around candidate quality, use a strong fallback for anonymous or new users, and monitor the difference between personalized results and a fixed baseline.
Evaluate quality and manage risk
A recommendation engine should be measured against a baseline, such as popularity ranking, editorial ordering, or a simple category-based rule. Track click-through rate, conversion, completion, revenue where appropriate, and latency. Also monitor coverage: if the same small group of items receives nearly all exposure, the system may be accurate for frequent users while failing to discover valuable content.
Offline analysis can reveal data problems before a live release. Use historical events to examine popularity bias, missing values, duplicate actions, and changes in traffic patterns. Offline results do not perfectly predict online behavior because a recommendation changes what users see, but they are useful for validating pipelines and identifying obvious defects.
Fairness and safety require explicit controls. A system trained on historical clicks can reinforce existing popularity patterns or expose users to unsuitable material. Candidate filtering, content moderation, age and region rules, frequency limits, and human review can reduce those risks. The machine learning component should operate inside a governed product design.
Azure Monitor, Application Insights, and centralized logs can expose operational issues such as API failures, unusual reward rates, increased response time, or a sudden change in action distribution. Establish alerts before launch. A fallback response should remain available if the personalization service is unavailable, throttled, or receiving malformed data.
Secure, test, and deploy the solution
Development should use synthetic or anonymized data wherever possible. Separate Azure resources and credentials by environment, and use role-based access control to limit who can read behavioral data or change personalization settings. Network controls, encryption, retention policies, and audit logs are especially important because interaction histories can reveal detailed user interests.
Testing should cover the entire decision loop. Unit tests can validate feature construction and candidate filtering. Integration tests can verify authentication, request formatting, and reward reporting. Load tests should measure how the service behaves during traffic spikes, while contract tests protect the interface between the application and the recommendation backend.
A staged release is safer than switching every user at once. Begin with a small audience, compare personalized results with the baseline, and inspect both technical and business metrics. Feature flags make it possible to disable personalization without redeploying the application. Versioned configuration also helps teams reproduce how a decision was made at a particular point in time.
Practical design recommendations
- Begin with one recommendation scenario and one reliable reward signal rather than personalizing every screen.
- Keep business eligibility rules outside the learning loop so unsafe or unavailable items are removed before ranking.
- Record impressions, selected actions, rewards, and correlation identifiers for reliable evaluation.
- Provide a useful popularity or editorial fallback for new users, sparse data, and service outages.
- Review privacy, fairness, security, and model-performance metrics as part of normal release management.
Extend the engine beyond the first release
Once the initial workflow is stable, the team can expand the candidate-generation stage. Azure AI Search may retrieve semantically related documents, while Personalizer chooses among eligible results based on current context. For a commerce application, a catalog service can filter by stock and region before the personalized ranking step. This separation keeps retrieval, policy enforcement, and personalization easier to maintain.
A hybrid design can also combine several signals. Popularity supports cold-start users, content similarity helps new items, and behavioral personalization improves choices for returning users. A custom model in Azure Machine Learning may become appropriate when the organization needs sophisticated ranking features, long-term user value optimization, or full control over training and deployment.
The C# implementation can remain clean when these concerns are represented as separate services. One component gathers context, another produces candidates, another calls the ranking API, and a final component records outcomes. This structure supports dependency injection, automated tests, observability, and future replacement of a managed service without rewriting the entire application.
A conference session on this subject should connect architecture to outcomes. The interesting question is not whether a cloud service can return a personalized item, but whether the system collects trustworthy signals, respects users, responds quickly, and produces measurable value. Azure Cognitive Services supplies an important building block, while product design and engineering discipline determine the final quality.
Apply these principles to a small Azure proof of concept: define a recommendation scenario, create a controlled catalog, capture interaction events, connect a C# service to Personalizer, and compare its results with a transparent baseline. Then use the conference platform’s broader topics in cloud, data, AI, and DevOps to guide the solution toward a secure, observable production system.
1, CBD, Maharaj Surajmal Road, Near Yamuna Sports Complex, Delhi, 110032
GENERAL QUERIES
Manish Tewatia
manish@csharpcon.com
+91-9718-431-042
TICKET QUERIES
Atul Gupta
conference@csharpcon.com
+91-9910-125-804