0

KPSS Sayaç

Public-facing Turkish exam countdown and study companion for KPSS (undergraduate, associate, high school tracks) and AGS, with live Istanbul-time timers, net estimation, and SEO-focused content pages deployed to production.

KPSS Sayaç is a production Next.js application aimed at millions of candidates preparing for Turkey’s public sector and academic placement exams. The product surfaces multiple independent countdown clocks (KPSS undergraduate, associate, high school levels, plus AGS) on a single dashboard so users can see exactly how much time remains until each official session, aligned with Istanbul (Europe/Istanbul) local time for consistent, predictable updates.

Beyond a simple timer, the site bundles practical study tools and trust-oriented copy: a GY/GK net calculator with transparent disclaimers that results are indicative only, and deep information architecture (dedicated routes, internal linking, sitemap, and robots.txt driven by NEXT_PUBLIC_SITE_URL) so pages like “KPSS kaç gün kaldı” remain discoverable and maintainable as exam calendars change.

The project ships as a single codebase on the App Router, with environment-driven configuration for live domain, contact email on legal pages, and optional Google AdSense slots—when keys are absent, the UI degrades to clear placeholders instead of broken embeds. That keeps local development friction low while staying deployment-ready for kpsssayac.com.

Key Features

  • Multi-exam live countdown dashboard — parallel cards for KPSS (lisans, ön lisans, ortaöğretim) and AGS with month/day/hour/minute/second breakdowns
  • Timezone-correct countdown — remaining time derived from Istanbul offset; copy explains users should still verify final clock with ÖSYM bulletins
  • Net calculation workspace — separate inputs for Genel Yetenek and Genel Kültür (correct/wrong), combined net, and an illustrative score estimate with strong “not official placement” messaging
  • Content and navigation depth — hub pages for topics, net tool, and “days left” style summaries to support both users and search intent
  • Legal and transparency pages — privacy, cookie, and terms routes suitable for AdSense and Turkish regulatory expectations
  • SEO plumbing — sitemap and robots wired to canonical site URL; structured internal links and footer site map line for crawl paths
  • Ad-ready layout — configurable AdSense client and per-surface slots (home, article, tool) with safe fallbacks when unset
  • Performance-minded static generation — content-heavy pages benefit from Next’s static rendering patterns where applicable; client timers handle sub-minute refresh
  • Repository hygieneAGENTS.md / contributor guidance, ESLint config, .env.example documenting all public env keys

What I Worked On

  • Defined exam target datetimes and presentation rules so each card stays accurate relative to Turkey local time
  • Implemented client-side countdown updates without drifting UX (clear labels, target datetime display, ÖSYM reminder callouts)
  • Built the net calculator UX: validation-friendly inputs, per-section nets, totals, and copy that sets expectations vs ÖSYM results
  • Designed navigation, footers, and cross-links so informational pages, tools, and the main dashboard reinforce each other
  • Integrated environment-based SEO (NEXT_PUBLIC_SITE_URL) for robots.txt and sitemap.xml in production
  • Added AdSense integration surface with multiple slot IDs and graceful empty states for development
  • Authored Turkish-first UI strings and compliance-oriented pages (privacy, cookies, terms)
  • Set up CI-friendly scripts (lint, build) and documented runbooks in README.md for contributors and future me
  • Deployed and operated the live domain kpsssayac.com with ongoing calendar updates as ÖSYM publishes new years

Technologies Used

Application

  • Next.js (App Router)
  • React
  • TypeScript

Styling & UI

  • Tailwind CSS
  • Responsive layouts tuned for mobile-first exam traffic

Content & MDX (where applicable)

  • MDX-capable stack patterns for long-form guides (per repository structure)

SEO & Web

  • sitemap.xml / robots.txt generation tied to public env configuration
  • Semantic headings and internal linking patterns for discoverability

Analytics & Monetization

  • Google AdSense placeholders and slot wiring via NEXT_PUBLIC_ADSENSE_* variables

Tooling

Deployment

  • Vercel-style Node 20+ hosting (as documented in the upstream repository README)