Frontend Case Study

DIARY
PROJECT

Architecting a social storytelling platform where I pushed the limits of smooth data rendering and instant UI feedback.

Launch Live Site Source Code

User Logic

Real-time State Sync

Skeleton Loading

"No more boring loading spinners. We use skeleton states for perceived speed."

User Flow

01

Onboarding

Smooth auth transition into the global feed.

02

Discovery

Filtering stories by category and live search.

03

Interaction

Instant updates for likes and comments via socket.

04

Creation

Drafting and publishing with auto-save UI.

Solving UI Friction

Instant Updates

The biggest hurdle was making data fetching feel invisible. I implemented real-time event listeners so interactions like search and username lookups happen instantly without the user feeling the "wait".

Intelligent Filtering

Choosing stories by category needed to be smooth. I built a filter system that updates the UI state without re-rendering the whole page, keeping the user's flow intact.

A11Y & WCAG

I didn't just build for eyes; I built for everyone. Following WCAG standards, I ensured color contrast, keyboard navigation, and aria-labels are all baked into the frontend core.

Architecture

/ Diary-Web-App
/ init
/ middleware
/ models
/ node_modules
/ public // Assets & UI Logic
/ routes
/ validation
/ views // EJS Templates
- app.js [ENTRY]
- socketHandler.js
- tailwind.config.js
- cloudinary.js
- dbConfig.js
- .env
- vercel.json

"Clean architecture is the heartbeat of scalable frontend experiences."

The Ecosystem

Features & Core Functionality

Every feature was built with a focus on seamless interaction, ensuring the UI remains snappy even under heavy data load.

Dynamic Storytelling

Full CRUD suite for stories. Users can draft, publish, and manage their personal diaries with a rich, responsive interface.

Live Pulse Engine

Powered by Socket.io for real-time engagement. Likes, comments, and new followers trigger instant UI state updates without page reloads.

Secure Messaging

Private, secure communication channel between users with a focus on low-latency delivery and clean chat UI.

Relationship Logic

A robust following system that shapes the user's global feed, prioritizing content from their favorite writers.

Identity Management

Secure onboarding with Bcrypt hashing and automated email verification to ensure a verified, safe writing community.

Asset Architecture

High-performance image handling using Cloudinary CDN, ensuring lightning-fast profile and post image delivery.

HTML5 TailwindCSS GSAP 3.0 ScrollTrigger Lenis js CSS EJS Skeleton UI A11Y Standard Responsive Logic Responsive Logic Express js