Ramesh Iyer
Applicant — no login
“I have a flight in three weeks. I just want to know where my file actually is.”
Build first, then teach
I build the app first. Then I take it apart and show exactly how it was made — the objects, the sharing rules, the triggers, the tests, and the decisions that turned out to be wrong. It's how I teach Salesforce, and how I keep my own skills sharp.
A working passport office in Salesforce — intake, verification, approvals, printing, despatch. Real metadata, deployed to a real org, with real tests.
Every lesson picks one decision from that build and explains what it is, why it exists, and what breaks without it — using the code that shipped.
The build log keeps the dead ends and the bugs in. Teaching something is the fastest way to find out you only half understood it.
A Passport Seva Kendra: the office that takes an application at a counter, verifies the documents, sends the police to check the address, authorises the passport, prints the booklet and couriers it out. Grouped below by the layer of the org each piece lives in.
8 objects · ~135 fields
Passport_Application__c, driven by a Status picklist — not one object per stage.triggers · flows · approvals
personas · OWD · sharing rules
trigger → handler → service
@future is deliberately unused.with sharing and USER_MODE, so code respects the security model rather than bypassing it.4 apps · LWC · Lightning pages
5 layers · unattended E2E
System.runAs tests that prove the security model by what it refuses.What the finished build actually looks like to the people who use it.
Nine personas, one of whom never logs in — and he's the one who keeps every other decision honest.
Ramesh Iyer
Applicant — no login
“I have a flight in three weeks. I just want to know where my file actually is.”
Priya Deshmukh
Front Office Officer
“I need to save a half-finished form while the applicant hunts for a document.”
Anjali Nair
Document Verification Officer
“If I flag a problem, it has to say which document and why — not just "there's an issue".”
Everything in the org is version-controlled SFDX source, deployed from the command line.
A chronological account of how this actually got built — including the decisions that were wrong, and the bugs that only surfaced because a test was fixed properly instead of loosened.
Read the build logPersonas, the user journey, the trigger catalogue, the access matrix and the scenario design — the work that happened before the org was touched.
See the design