🌸 1000 Kannudaiyal – Sponsor a Sacred Eye & Stay Forever Connected with the Goddess 🌸
👁️

How to Select Your Eye
4 Simple Steps

  • 1

    Browse the Eye Grid

    Scroll & zoom the sacred image. Tap any available eye to select it.

  • 2

    Enter Name & Phone

    Type your full name and phone number to claim your eye forever.

  • 3

    Click Submit

    Press "Submit" to lock your eye, then pay via Zelle on the right.

  • 4

    Lifetime Connection

    Your name stays in the temple forever — a sacred bond with the Goddess.

✨ Yours for Life
👁️  Browse & Select Your Sacred Eye  ⋮  Pinch/scroll to zoom  ⋮  Tap an eye to claim it

1000 Kannudaiyal

Samayapuram Mariamman
Each eye is devotion. Together, they are Shakthi.
Eyes #1–20 $500
Face #21–200 $200
Crown #201–400 $100
Left Wing #401–700 $100
Right Wing #701–1000 $100
0claimed
1000available
Total pledged: $0
✓ Admin unlocked
1000 Kannudaiyal
Scroll/pinch to zoom · Drag to pan · Hover for eye # · Click to claim
#1

All Registrations

Eye #ZoneNamePhoneAmountDate
Kannudaiyal Progress

☁ Cloud Setup

Connect a Google Apps Script so all devotees share the same live data — on any device, any browser, anywhere.
  1. Open Google Sheets → create a new blank spreadsheet → name it Kannudaiyal Donors
  2. In that sheet, click Extensions → Apps Script
  3. Delete everything in the editor, then paste the script below and click Save (💾)
  4. Click Deploy → New deployment → type: Web app
  5. Set Execute as: Me and Who has access: Anyone → click Deploy
  6. Copy the Web app URL and paste it below
📋 Click to show the Apps Script code to copy
const SHEET_NAME="Donors";
function getSheet(){const ss=SpreadsheetApp.getActiveSpreadsheet();let s=ss.getSheetByName(SHEET_NAME);if(!s){s=ss.insertSheet(SHEET_NAME);s.getRange(1,1,1,8).setValues([["Eye #","Zone","Name","Phone","Amount ($)","Claimed On","Timestamp","Slot Index"]]);s.getRange(1,1,1,8).setFontWeight("bold");}return s;}
function doGet(e){try{const a=e.parameter.action||"read";if(a==="read")return r(readAll());}catch(err){return r({error:err.toString()});}return r({error:"Unknown"});}
function doPost(e){try{const d=JSON.parse(e.postData.contents);if(d.action==="write")return r(write(d));if(d.action==="delete")return r(del(d.idx));if(d.action==="clear")return r(clear());}catch(err){return r({error:err.toString()});}return r({error:"Unknown"});}
function r(d){return ContentService.createTextOutput(JSON.stringify(d)).setMimeType(ContentService.MimeType.JSON);}
function readAll(){const s=getSheet(),rows=s.getDataRange().getValues(),donors={};for(let i=1;i0)s.getRange(tr,1,1,8).setValues([rd]);else s.appendRow(rd);return{ok:true};}
function del(idx){const s=getSheet(),rows=s.getDataRange().getValues(),sidx=String(idx);for(let i=rows.length-1;i>=1;i--){if(String(rows[i][7])===sidx){s.deleteRow(i+1);return{ok:true};}}return{ok:true};}
function clear(){const s=getSheet(),lr=s.getLastRow();if(lr>1)s.deleteRows(2,lr-1);return{ok:true};}
Web app URL from Google Apps Script deployment
Admin PIN: mariamman1000 · All data saved in your Google Sheet