A Modern Web App In C
AIThis post was created with the assistance of artificial intelligence (AI).

TL;DR

Buying for a business?Offer from Amazon

Get business pricing on monitors, keyboards and dev gear

  • Business-only prices and quantity discounts
  • Tax-exempt purchasing
  • Multiple users, one account, clear invoices
As an affiliate, we earn on qualifying purchases.

Developer Corey Prophitt reports that he built and shipped marketyour.games, a commercial web product, using C programs invoked through CGI on OpenBSD. The app uses SQLite and a small set of libraries, but the account is a developer’s report, not an independent assessment of its security, performance or suitability for other services.

Developer Corey Prophitt says he has shipped marketyour.games, a commercial web product built in C and served through the long-established Common Gateway Interface (CGI). The report describes a stack using OpenBSD, its httpd web server, and SQLite rather than a conventional application framework, offering a concrete example of an older web architecture being used for a current product.

Prophitt describes marketyour.games as a service for content creators, with user accounts, a search dashboard, folders, Stripe payments and Postmark transactional email. He says the site follows progressive enhancement and works without JavaScript. Those descriptions come from the developer’s account; the report does not provide independent product testing or usage figures.

In the described setup, httpd starts a new CGI process for each request. The program reads request information from CGI environment variables and writes its response, including HTML, directly. SQLite stores application data in a file rather than a separate database service. Prophitt says static assets are compiled into the program and served from memory, and deployment consists of replacing the binary.

The report names libcurl, libsodium and libcjson for external requests, cryptographic functions and JSON parsing. Prophitt says only libcurl and libsodium are external build dependencies, while libcjson and SQLite’s amalgamation are included in the project. The article characterizes this as a compact supply chain, but gives no dependency audit or comparative security measurements.

At a glance
reportWhen: Published in 2026; the author describes…
The developmentCorey Prophitt has published an account of building and shipping a commercial web application in C, served through CGI.

A Small Stack for a Live Product

The account matters because it describes a commercial service, not only a prototype, built without the framework and multi-service arrangement common in web development. For developers and small teams, the approach raises practical questions about how much infrastructure a product actually needs and whether a simpler deployment can make maintenance easier.

Prophitt argues that fewer components make the application easier to understand, build and debug. He also points to OpenBSD’s pledge and unveil security mechanisms and httpd’s chroot setup as ways to restrict what the program can access. These are the author’s reasons for choosing the stack, not evidence that the application is risk-free. C still requires careful memory and input handling, and the report does not supply an external security review.

The model also carries trade-offs. Starting a process for each request is distinct from keeping an application server running, and the account does not include traffic levels, latency measurements or operating costs. Its value is as a documented implementation and design choice, rather than proof that CGI is preferable for every workload.

Amazon

C programming CGI web server

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

CGI Returns in a Different Web Era

CGI allows a web server to run an external program to handle a request and pass it request details through environment variables and standard input. Prophitt frames his project against the technique’s early history: his report says CGI’s specification dates to 2004 and recalls that dynamic sites in the 1990s commonly used programs launched by web servers. CGI later gave way in many deployments to persistent application servers and frameworks.

The author’s stack, abbreviated BCHS, combines BSD, C, httpd and SQLite. His account presents it as a way to keep the web server, application logic and data storage within a small number of components. It also compares per-request invocation to serverless computing, while distinguishing it from services tied to a cloud vendor. That comparison describes the execution pattern; it does not establish that the approaches have identical scaling, reliability or billing characteristics.

“You can write a modern web application in C. I shipped one.”

— Corey Prophitt, the developer and report author

Amazon

SQLite embedded database

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

Performance and Security Evidence

The report does not state how many users or requests the service handles, nor does it publish benchmarks, uptime records or a comparison with an application-server deployment. It also does not provide an independent review of the code, a threat model, a penetration-test result or a full account of operational safeguards. Prophitt’s description of a small dependency set and OpenBSD sandboxing should not be treated as proof of security.

Other implementation details remain outside the material provided, including how the service handles backups, database growth, concurrent requests and failures in payment or email integrations. The report shows what the developer says he built and shipped; it does not establish how the design behaves under heavier workloads or whether it would transfer easily to other products.

Amazon

OpenBSD web hosting server

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

Questions for Future Deployments

The immediate development is the publication of Prophitt’s account; it does not announce a new release, funding round or change in CGI standards. The author presents the project as a working commercial product, but supplies no dated roadmap or planned technical milestones. No independent performance or security assessment is included in the source material.

For readers evaluating the approach, the next useful evidence would be operational details: measured request handling, uptime, backup and recovery practices, and how the system performs as traffic and data grow. Until such information is available, the project is best understood as a reported example of C and CGI being used for a modern web product, not a general endorsement of that architecture.

Amazon

libcurl cryptographic library

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

Key Questions

What is marketyour.games?

Prophitt describes it as a commercial service for content creators, with accounts, a search dashboard, folders, Stripe payments and Postmark email.

How does the app handle web requests?

According to the report, OpenBSD’s httpd invokes a C program through CGI for each request. The program reads request details and generates the response.

Does the report show that CGI is faster or more secure?

No. It presents the developer’s implementation and rationale, but includes no comparative benchmarks or independent security review.

What does the app use for its database?

Prophitt says the application uses SQLite, opening a database file through SQLite’s C API rather than connecting to a separate database server.

Source: hn

COLUMBUS DAY / I

Columbus Day / Indigenous Peoples' Day Picks

As an affiliate, we earn on qualifying purchases.

You May Also Like

10 Best Capture Cards For Streamers And Video Recording In 2027

A 2027 roundup compares 10 capture cards by stated capture resolution, pass-through, connection type and intended use. Check product specs before buying.

Show HN: Git-knife – Edit Commit Messages, Authors, And Dates Like A Spreadsheet

Git-knife, a new tool showcased on Show HN, allows users to edit Git commit messages, authors, and dates in a spreadsheet-style interface, streamlining repository management.

Show HN: Make Cursed Fonts Like Times New Bastard

A new joke tool allows users to create ‘cursed’ fonts by abusing OpenType ligature features, generating distorted text quickly via a client-side Python app.

Show HN: Neobrutalism.dev – Just Added Base UI Support And Added New Color Theme

Show HN showcases Neobrutalism.dev’s latest update: support for Base UI and a new color theme, enhancing customization options for developers.