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
1×
Scroll/pinch to zoom · Drag to pan · Hover for eye # · Click to claim
#1
All Registrations
| Eye # | Zone | Name | Phone | Amount | Date |
|---|
Kannudaiyal Progress
☁ Cloud Setup
Connect a Google Apps Script so all devotees share the same live data — on any device, any browser, anywhere.
- Open Google Sheets → create a new blank spreadsheet → name it Kannudaiyal Donors
- In that sheet, click Extensions → Apps Script
- Delete everything in the editor, then paste the script below and click Save (💾)
- Click Deploy → New deployment → type: Web app
- Set Execute as: Me and Who has access: Anyone → click Deploy
- 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