
A community hub for international students.
Client
ISM
Role
Full Stack Developer
Timeline
Launching Soon
Category
web
PROJECT OVERVIEW
Overview.
ISM is a full-stack aggregation platform built to help international students in Australia find jobs, housing, discounts, and events — all in one place. It combines a content-managed marketing site with 30 pages across 6 layout hierarchies, a multi-category opportunity hub powered by a 9-adapter ingestion engine scraping 590+ listings, an admin dashboard with KPIs, user/listing management, ingestion monitoring, and audit logging, a CMS-powered content layer via Sanity with 5 schema types, and a three-layer security model with rate limiting, email verification, and role-based access control.
THE CHALLENGE
International students in Australia struggled to find relevant jobs, housing, and deals because information was scattered across dozens of platforms. There was no centralized resource tailored to their specific needs — from student-friendly housing to part-time work opportunities — leaving them to manually search across fragmented sources.
Architected and built a full-stack aggregation platform with a 9-adapter multi-source ingestion engine using a plugin-based BaseAdapter pattern, SHA-256 content hashing for deduplication, deep data sanitization, a full admin dashboard with KPI overview, ingestion monitoring, and audit logging, a CMS layer via Sanity v5 with 10 GROQ queries and webhook revalidation, a three-layer security model (middleware, component guards, API-layer auth), and advanced UI engineering with interactive particle canvas, 3D tilt cards, and glassmorphism — all backed by PostgreSQL, Prisma 6, and deployed via Docker on Northflank with GitHub Actions CI/CD.
THE SOLUTION
Gallery.
Complete landing page walkthrough — hero section, platform stats, opportunity hub preview, and marketing pages built with Next.js 16 App Router and Framer Motion.
VideoAnimated split-panel authentication with sign up, sign in, and password reset — powered by Auth.js v5 with JWT sessions and bcrypt hashing.
VideoAuth.js v5 authentication flow with email/password sign up, sign in, and animated transitions between auth states.
VideoSmooth accordion FAQ section with Framer Motion animations and Sanity CMS-managed content.
VideoLight mode landing page with 'Join the Movement' hero, platform stats, international student growth chart, and CTA — built with Next.js 16 and Tailwind CSS.
Dark mode landing page with 'Join the Movement' hero, platform stats, international student growth chart, and CTA — built with Next.js 16 and Tailwind CSS.
Multi-category opportunity hub with Jobs, Housing, Discounts, and Events tabs — aggregated from external sources via background workers with content hash deduplication.
Jobs listing page with title, company, salary range, location, and click-through links — aggregated via pluggable source adapters with cron-scheduled ingestion.
Student discounts aggregated from RSS feeds and deal platforms, deduplicated via content hashing — featuring Spotify, GitHub Pro, UberEats, and more.
Blog and resources section with articles on jobs, housing, and visa guides — content managed through embedded Sanity Studio with 5 content schemas.
Contact page with email, social links, and message form — built with React Hook Form and Zod validation, emails sent via Nodemailer + Zoho SMTP.
Animated split-panel sign up page with platform stats, Auth.js v5 registration, and bcrypt password hashing.
TECHNOLOGY
Tech Stack.
Frontend
Next.js 16 (App Router)
Core framework with server & client components
React 19
UI library
TypeScript
Type safety
Tailwind CSS v4
PostCSS-first styling & responsive design
Redux Toolkit
Client state management
TanStack React Query
Server state management & caching
shadcn/ui (20+ components)
UI component library (New York style)
Radix UI
Accessible UI primitives
Framer Motion
Animations, 3D tilt, particle canvas, text reveals
React Hook Form + Zod v4
Form management & schema validation
Auth.js v5
Authentication UI (sign up, sign in, JWT sessions)
Lenis
Smooth scrolling
Backend
Prisma 6
ORM & database schema management (12 models)
PostgreSQL 16 (Neon)
Primary relational database
Auth.js v5
JWT sessions, bcrypt hashing (12 salt rounds), token management
Resend (AWS SES)
Transactional emails (5 branded HTML templates)
Cheerio
HTML scraping for data ingestion adapters
rss-parser
RSS feed parsing for discount aggregation
Background Workers
9-adapter cron-scheduled data ingestion engine
CMS
Sanity CMS v5
Headless CMS for content management
Embedded Sanity Studio
Protected in-app content editing at /studio
5 Content Schemas
Event (21 fields), Page, Announcement, Settings, Stats
10 GROQ Queries
Upcoming/featured/filtered events, settings, pages
Webhook Revalidation
Cache invalidation on content changes
Infrastructure & DevOps
Docker (multi-stage build)
Node 22 Alpine containerization
GitHub Actions CI
Lint, type-check, test pipeline
Northflank
Staging & production deployment with auto-deploy
Cloudflare
DNS + SSL
Plausible
Privacy-friendly analytics
Vitest
Unit testing framework
CAPABILITIES
Key Features.
Opportunity Hub
9-Adapter Ingestion Engine
Admin Dashboard
Auth & Security
CMS & Content
IMPACT
Results.
ENGINEERING