← Back to Portfolio





Nizam Academic Portal
Product Lead / Full-Stack Developer
The Challenge
A school management PWA for Directors, Teachers, and Students, covering enrolment, attendance, grading, and AI-assisted analytics.
The Engineering Win
Passwords are SHA-256 hashed with a per-deployment salt and a live migration path. Sessions persist across a CacheService and Firestore dual layer so cache eviction never silently logs users out. AI usage quotas are enforced server-side and post-success only, so a failed request never burns a user's daily limit.
Password hashing with live migration for legacy plaintext entries
function verifyPassword(inputPassword, storedValue) {
const salt = PropertiesService.getScriptProperties()
.getProperty("PASSWORD_SALT");
const hashedInput = Utilities.computeDigest(
Utilities.DigestAlgorithm.SHA_256,
inputPassword + salt
).map(b => (b < 0 ? b + 256 : b).toString(16).padStart(2, "0")).join("");
if (hashedInput === storedValue) return true;
// Migration path: if the stored value was never hashed,
// accept a plaintext match once, then upgrade it immediately.
if (inputPassword === storedValue) {
upgradeToHashedPassword(inputPassword);
return true;
}
return false;
}See It In Use

Academic Portal secure login

Director control panel

Student control panel

Generated termly result slip

Fee status view for a student

Fee setup and management panel
Quantifiable Result
100% paperless operations for Directors, Teachers, and Students in active production use.
Full Capabilities
- •Geofenced attendance with a configurable radius
- •Automated daily absence digest emailed to parents and guardians
- •Assignment posting and retrieval by class
- •Digital ID card generation for students and staff
- •AI-assisted analytics via Gemini
- •Resumable term archiving that survives execution timeouts
- •OTP-based password reset
Tech Stack
Google Apps ScriptFirebase FirestoreChart.jsGemini API