Feedback Line by line writing plus weekly speaking mocks
Free demo Yes within 48 hours
Save commute time in Pathankot and turn it into higher bands. Get precise writing feedback, realistic speaking interviews,
and weekly goals that fit your schedule. Start with a free demo and a personalised plan.
From Dhangu Road, Dalhousie Road, Mamun Cantt, Sujanpur and Madhopur to Jugial, Shahpur Kandi, Lamini, Sarna, Model Town and Mission Road,
plus nearby Gurdaspur, Amritsar, Jammu and Dalhousie, our evening and weekend batches keep you consistent.
Author: Sahil Sayed, CELTA qualified IELTS tutor since 2015 ·
Updated:
Busy shifts, cantonment duties and trips along NH 44 can eat your study time. Skip the commute and invest that time in
timed tasks, rewrites and weekly speaking mocks that actually move your band.
Evening and weekend batches around college or work
Line by line writing feedback mapped to TR, CC, LR and GRA
Speaking interviews with banded notes and recordings
“From Sujanpur I saved an hour every day. Task 2 rewrites took me from 6.0 to 7.5.”
Areas we serve in Pathankot and nearby
Popular localities
Dhangu Road, Dalhousie Road, Mamun Cantt, Sujanpur, Madhopur, Jugial, Shahpur Kandi, Lamini, Sarna, Model Town, Mission Road and Chakki.
Learners also join from Gurdaspur, Amritsar, Jammu and Dalhousie.
Study contexts we plan for
College semesters, shifts or visa deadlines. We set weekly targets that fit your roster and keep you consistent.
IELTS course options
Choose what fits your timeline and target. Every plan includes strategy lessons, homework reviews and weekly milestones for Academic, General Training and UKVI.
👨🏫
One to one coaching
Ultra focused support and faster iterations. Ideal for Band 7 plus or tight deadlines.
Weekly mocks with notes on fluency, pronunciation and coherence. Learn to extend answers, use natural linking and self correct. Recordings help you hear progress.
Open the official IDP India IELTS test dates page.
Select Pathankot or a nearby city such as Amritsar, Jalandhar or Jammu, then choose test type.
Create or sign in to your account and complete payment.
Check email or SMS for your venue and Speaking interview time.
Note: In India, IELTS tests are delivered by IDP. We help you prepare for computer delivered or paper based formats.
Fees and inclusions
Fees vary by format, duration and add ons such as extra writing corrections or speaking mocks. Every plan includes strategy lessons, timed practice and feedback that shows exactly what to fix next.
One to one
Personal plan and pacing
Weekly feedback for writing and speaking
Recordings and homework reviews
Small group
Interactive tasks with peers
Timed practice and strategy drills
Q and A with the trainer
Crash course
Two week intensive plan
Daily goals and checkpoints
Exam day strategy pack
Learn with Sahil Sayed, CELTA qualified IELTS tutor since 2015, known for precise writing feedback and realistic speaking mocks.
Meet your tutor
Sahil Sayed is a CELTA qualified English trainer, originally from Mumbai and now based in the UK. He has coached IELTS candidates since 2015. The approach is practical: clear strategy, targeted drills and line by line feedback mapped to the band descriptors.
“Weekend mocks and structured Writing rewrites took me from 6.0 to 7.5 while juggling shifts.”
Get real test experience at home with a 10 percent discount
We have partnered with Preptical to give you realistic IELTS mock tests online.
// Smooth scroll
function smoothScrollTo(id){
const el=document.querySelector(id); if(!el) return;
el.scrollIntoView({behavior:'smooth'});
const d=document.querySelector('.toc-mobile details'); if(d) d.open=false;
}
document.querySelectorAll('#ielts-page-container a[href^="#"]').forEach(a=>{
a.addEventListener('click',e=>{e.preventDefault(); smoothScrollTo(a.getAttribute('href'));});
});
// ScrollSpy
const sections=document.querySelectorAll('section[id]');
const tocLinks=document.querySelectorAll('.toc-desktop a');
function updateToc(){
let current=''; sections.forEach(s=>{
const top=s.offsetTop-200; if(window.scrollY>=top) current=s.getAttribute('id');
});
tocLinks.forEach(l=>{
l.classList.remove('active');
if(current && l.getAttribute('href').includes(current)) l.classList.add('active');
});
}
window.addEventListener('scroll',updateToc); window.addEventListener('load',updateToc);
// Study plan
function generateStudyPlan(){
const d=parseInt(document.getElementById('daysLeft').value,10);
const r=document.getElementById('studyPlanResult');
r.innerHTML=''; r.classList.remove('hidden');
if(d>0){
const w=Math.ceil(d/7);
let h=`
Your ${w} week study plan
`;
for(let i=1;i<=w;i++){
h+=`
Week ${i}: Focus on one main module and practise timed tasks with two speaking mocks.
`;
}
h+=''; r.innerHTML=h;
} else {
r.innerHTML='
Please enter a valid number of days.
';
}
}
// Module tips
function showTips(){
const m=document.getElementById('moduleSelector').value;
const t=document.getElementById('moduleTips');
t.innerHTML=''; t.classList.remove('hidden');
const map={
listening:'Practise multiple accents, track keywords and anticipate next words.',
reading:'Build skimming and scanning speed. Identify headings, opinions and data quickly.',
writing:'Master task requirements and structure. Use clear topic sentences and cohesion.',
speaking:'Record answers, refine fluency and pronunciation and extend responses naturally.'
};
if(!m){t.innerHTML='Select a module to get started.'; return;}
const p=m.charAt(0).toUpperCase()+m.slice(1);
t.innerHTML=`
Tips for ${p}
${map[m]}
`;
}
// ---------- Vocabulary Quiz ----------
const quizBank={
general:[
{q:'What is a synonym for ubiquitous',a:['Common','Rare','Unique','Limited'],c:0,e:'Ubiquitous means common or found everywhere.'},
{q:'Ameliorate means to',a:['Make worse','Improve','Destroy','Create'],c:1,e:'Ameliorate equals improve.'},
{q:'Choose the antonym for benevolent',a:['Kind','Generous','Malicious','Friendly'],c:2,e:'Antonym of benevolent is malicious.'},
{q:'What does concur mean',a:['To disagree','To agree','To protest','To question'],c:1,e:'Concur means agree.'}
],
academic:[
{q:'Prevalent is closest in meaning to',a:['Sporadic','Widespread','Dubious','Tentative'],c:1,e:'Prevalent is widespread.'},
{q:'Inherent most nearly means',a:['External','Acquired','Innate','Temporary'],c:2,e:'Inherent equals innate.'},
{q:'Mitigate means',a:['Measure','Worsen','Reduce','Repeat'],c:2,e:'Mitigate equals reduce or lessen.'},
{q:'Subsequent is the opposite of',a:['Initial','Eventual','Following','Consecutive'],c:0,e:'Opposite of subsequent is initial.'}
],
collocations:[
{q:'Choose the best collocation',a:['Strong rain','Heavy rain','Thick rain','Big rain'],c:1,e:'We say heavy rain.'},
{q:'Choose the best collocation',a:['Do a decision','Make a decision','Take a decision on','Create a decision'],c:1,e:'Make a decision.'}
],
linking:[
{q:'Best linker for contrast',a:['Therefore','However','Furthermore','Namely'],c:1,e:'However shows contrast.'},
{q:'Best linker for result',a:['Consequently','Even though','Likewise','Moreover'],c:0,e:'Consequently shows result.'}
],
paraphrase:[
{q:'Paraphrase very important',a:['Crucial','Minute','Random','Optional'],c:0,e:'Crucial is a strong synonym.'},
{q:'Paraphrase go up rapidly',a:['Plunge','Plateau','Soar','Dwindle'],c:2,e:'Soar means rise quickly.'}
]
};
let qCat='general',qIndex=0,qScore=0,canCheck=false;
const els={
category:document.getElementById('vocabCategory'),
question:document.getElementById('question'),
answers:document.getElementById('answers'),
feedback:document.getElementById('quiz-feedback'),
nextBtn:document.getElementById('nextBtn'),
checkBtn:document.getElementById('checkBtn'),
result:document.getElementById('quiz-result'),
progress:document.getElementById('quiz-progress')
};
function resetQuiz(cat){
qCat=cat||qCat; qIndex=0; qScore=0;
els.result.textContent=''; renderQuestion();
}
function renderQuestion(){
const arr=quizBank[qCat]; const item=arr[qIndex];
els.question.textContent=item.q;
els.answers.innerHTML=''; els.feedback.textContent='';
els.progress.textContent=`Question ${qIndex+1} of ${arr.length} ${qCat}`;
item.a.forEach((opt,i)=>{
const id=`ans_${qIndex}_${i}`;
const label=document.createElement('label');
label.className='block cursor-pointer';
label.innerHTML=` ${opt}`;
els.answers.appendChild(label);
});
canCheck=false; els.checkBtn.disabled=true; els.nextBtn.disabled=true;
els.answers.querySelectorAll('input[name="quiz"]').forEach(r=>{
r.addEventListener('change',()=>{canCheck=true; els.checkBtn.disabled=false;});
});
}
function checkAnswer(){
if(!canCheck) return;
const selected=document.querySelector('input[name="quiz"]:checked'); if(!selected) return;
const val=parseInt(selected.value,10); const item=quizBank[qCat][qIndex];
els.answers.querySelectorAll('input[name="quiz"]').forEach(r=>r.disabled=true);
const labels=els.answers.querySelectorAll('label');
labels[item.c].style.fontWeight='700';
labels[item.c].style.textDecoration='underline';
els.feedback.textContent=(val===item.c)?`✅ Correct. ${item.e}`:`❌ Not quite. ${item.e}`;
if(val===item.c) qScore++;
els.checkBtn.disabled=true; els.nextBtn.disabled=false;
}
function nextQuestion(){
const arr=quizBank[qCat]; qIndex++;
if(qIndexresetQuiz(e.target.value));
if(els.checkBtn) els.checkBtn.addEventListener('click',checkAnswer);
if(els.nextBtn) els.nextBtn.addEventListener('click',nextQuestion);
resetQuiz('general');
// ---------- Email validation upgrades ----------
const emailRegex=/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)+$/i;
const domainFixes={
'gmal.com':'gmail.com','gamil.com':'gmail.com','gmial.com':'gmail.com','gmail.co':'gmail.com','gmail.con':'gmail.com',
'yaho.com':'yahoo.com','yhoo.com':'yahoo.com','yahoo.co':'yahoo.com',
'outlok.com':'outlook.com','outlook.co':'outlook.com',
'hotmial.com':'hotmail.com','hotamil.com':'hotmail.com',
'iclod.com':'icloud.com','iclud.com':'icloud.com',
'proton.com':'proton.me','protonmail.com':'proton.me'
};
function normaliseEmail(v){return (v||'').trim().toLowerCase();}
function suggestDomain(email){
const parts=email.split('@'); if(parts.length!==2) return null;
const [local,domain]=parts; const fix=domainFixes[domain];
if(fix) return `${local}@${fix}`;
if(/^[a-z0-9-]+(com|net|org|co|in)$/i.test(domain)){return `${local}@${domain.replace(/(com|net|org|co|in)$/i,'.$1')}`;}
return null;
}
// ---------- Form submit (Apps Script) ----------
const SCRIPT_URL="https://script.google.com/macros/s/AKfycbzccPqw9sib0w_t0qdexMdtwiann_jHGrm4IV79_CmAnWciWW_oL1sRX5Ib3UgsSaEDeg/exec";
const form=document.getElementById('enquiryForm');
const btn=document.getElementById('submitBtn');
const ok=document.getElementById('formSuccess');
const err=document.getElementById('formError');
const emailEl=document.getElementById('email');
const email2El=document.getElementById('email2');
const emailMatchHelp=document.getElementById('emailMatchHelp');
const suggestionBtn=document.getElementById('emailSuggestion');
function setFieldError(el,hasError){
el.style.borderColor=hasError?'#dc2626':'var(--brand-accent)';
if(hasError) el.setAttribute('aria-invalid','true'); else el.removeAttribute('aria-invalid');
}
function validateEmails(showSuggestion=true){
const e1=normaliseEmail(emailEl.value);
const e2=normaliseEmail(email2El.value);
emailEl.value=e1; email2El.value=e2;
const formatOk=emailRegex.test(e1);
const matchOk=e1 && e2 && e1===e2;
setFieldError(emailEl,!formatOk);
setFieldError(email2El,!matchOk);
emailMatchHelp.classList.toggle('hidden',matchOk);
const suggestion=formatOk ? suggestDomain(e1) : null;
if(showSuggestion && suggestion && suggestion!==e1){
suggestionBtn.classList.remove('hidden');
suggestionBtn.textContent=`Did you mean ${suggestion} ? Click to use.`;
suggestionBtn.onclick=()=>{
emailEl.value=suggestion; email2El.value=suggestion;
suggestionBtn.classList.add('hidden'); validateEmails(false);
};
}else{ suggestionBtn.classList.add('hidden'); }
return formatOk && matchOk;
}
['blur','input'].forEach(evt=>{
emailEl.addEventListener(evt,()=>validateEmails(evt==='blur'));
email2El.addEventListener(evt,()=>validateEmails(evt==='blur'));
});
form.addEventListener('submit',async e=>{
e.preventDefault();
if(document.getElementById('company').value.trim()!=='') return; // honeypot
const requiredIds=['name','email','email2','phone','module','preference'];
const consent=document.getElementById('consent'); if(consent) requiredIds.push('consent');
for(const id of requiredIds){
const el=document.getElementById(id);
const okField=el && (el.tagName==='INPUT' && el.type==='checkbox' ? el.checked : (el.value && el.value.trim()!==''));
if(!okField){
err.classList.remove('hidden'); err.textContent='Please fill all required fields.'; return;
}
}
if(!validateEmails(true)){
err.classList.remove('hidden');
err.textContent='Please enter a valid email and make sure both emails match.';
emailEl.focus(); return;
}
btn.disabled=true; btn.textContent='Submitting…';
ok.classList.add('hidden'); err.classList.add('hidden');
try{
const fd=new FormData(form);
fd.set('email',normaliseEmail(emailEl.value));
fd.set('email_confirm',normaliseEmail(email2El.value));
fd.append('timestamp',new Date().toISOString());
fd.append('user_agent',navigator.userAgent);
await fetch(SCRIPT_URL,{method:'POST',mode:'no-cors',body:fd});
form.reset(); btn.disabled=false; btn.textContent='Get my free demo →';
ok.classList.remove('hidden');
window.scrollTo({top:ok.getBoundingClientRect().top+window.scrollY-120,behavior:'smooth'});
}catch(ex){
btn.disabled=false; btn.textContent='Get my free demo →';
err.classList.remove('hidden');
err.textContent='Sorry, something went wrong. Please try again or email info@ieltstrainingcamp.com';
console.error(ex);
}
});
Ready to achieve your target IELTS score?
Join 15,000+ students with expert-led courses and AI practice tests.