Freelance Full-Stack Developer
Signal Before Noise / Freelance
- Designed and shipped a production publishing platform from zero to deployment in 9 days, then iterated to v1.51 — adding an analytics dashboard, tiered backup/restore system, and subscriber management post-launch
- Built multilingual Next.js 16 App Router application supporting 4 locales (Persian, English, Arabic, Turkish) with automatic RTL/LTR layout switching and per-locale hreflang alternate tags
- Implemented custom JWT auth with RS256 asymmetric keys via jose — httpOnly Secure SameSite=Strict cookies, bcrypt (cost 12), rate-limited login (5 attempts / 15 minutes), credentials in environment variables (no user table)
- Built TipTap v3 rich text editor with per-locale translation tabs, text alignment, table support (insert/edit contextual controls), image and link extensions; Notes (short-form content) alongside full articles
- Designed 8 MongoDB models (Article, Note, Media, Subscriber, SitePage, BackupConfig, ViewLog, ViewSnapshot) with nested per-locale translation slot schema; React.cache() for query deduplication
- Built subscriber system with email signup, rate limiting (5 req/10 min per IP), duplicate email detection (409), HTML-tag stripping for XSS prevention, and a paginated dashboard with delete
- Built analytics dashboard — Recharts area and bar charts (30-day cumulative trend, 24h hourly breakdown in Tehran timezone), top content ranking; layered bot suppression via ViewLog TTL collection
- Implemented tiered backup and restore system — mongodump + .tar.gz archives, three retention tiers (daily last 3 / weekly / monthly), cron scheduling, .backup.lock for concurrency prevention
- Built media library handling images, audio, and PDFs — UUID filename generation, MIME-type + extension validation, 10MB limit; audio playback via wavesurfer.js waveform player
- Full SEO stack: JSON-LD structured data, canonical URLs, XML sitemap (ISR-cached), Open Graph, hreflang alternate links, robots.txt
- Implemented Winston structured logging with MongoDB transport (30-day TTL index)
- Full production deployment: PM2 + Nginx + Cloudflare Full Strict SSL on Ubuntu VPS, hardened with UFW, Fail2ban (4 jails), auditd, rkhunter, kernel sysctl rules, and dedicated unprivileged app user