A Modern Web App in C
В 2026 году автор запустил коммерческий веб-сервис — marketyour.games — полностью на C через CGI, без фреймворков, контейнеров или отдельного сервера баз данных. Стек: OpenBSD, httpd, SQLite и статически скомпилированный бинарник. Все активы встроены в исполняемый файл, запросы обрабатываются через fork-процессы, а обновление — заменой одного файла без простоя. Использованы только три библиотеки: libcurl, libsodium и libcjson (включён как один файл), SQLite — в виде амальгамации. Система работает без JavaScript, поддерживает Stripe, Postmark и пользовательские аккаунты, при этом полностью изолирована через pledge, unveil и chroot.
Преимущества — полная прозрачность: нет слоёв абстракции, отладка — как у обычной программы через gdb, HTTP-логика проста и неизменна с 2004 года. SQLite устраняет необходимость в управлении сервером БД. Недостаток — отсутствие базовых утилит: автор сам написал cgi.h для обработки кук, параметров и валидации, но хотел бы стандартных библиотек в стиле stb. CGI не устарел — современные ядра эффективно оптимизируют fork, а FastCGI остаётся простым шагом вперёд. Стек оказался проще, надёжнее и легче в поддержке, чем любые современные решения.