2025 — 2026 · Designer and developer

Byte Publication Website

Statically exported Next.js site for Byte, Sharif CE's magazine — MDX content, KaTeX math, build-time search, and legacy URLs preserved at byte-mag.ir.

Next.jsTypeScriptMDXKaTeXTailwind CSSGitHub Actions

Overview

Byte is the scientific and cultural magazine of the Computer Engineering department at Sharif University of Technology. I designed and built its site, then rebuilt it as a statically exported Next.js app that replaces the earlier Docusaurus version while keeping every published URL. Live at byte-mag.ir.

Why static, still

Articles are written by students and published irregularly. Contributors need to ship prose without operating a CMS, and the site should not carry a database for content that changes a few times a term. MDX files in the repo are still the source of truth — a pull request is the publishing workflow — and output: "export" produces a directory any static host can serve.

Rebuild

The Docusaurus site worked; it was also hard to evolve. The rebuild keeps the same content model (issues, articles, blog, workshops, Codenameh, staff) and adds a build-time search index, Zod-validated frontmatter, issue PDFs on an external CDN, and a Persian-first RTL UI on Tailwind and shadcn. Counts, relations, and Open Graph images are generated in prebuild, not in the browser.

Mathematics

A computer engineering magazine carries real notation. KaTeX renders LaTeX at build time so equations arrive as text — they scale, follow theme, and stay visible to search and screen readers — without a client-side math runtime on every page view.

Deployment

GitHub Actions builds and deploys on merge to main. Merging a contributor's article publishes it; there is no separate publish step for anyone to forget.