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.