"scheme web framework", except there are multiple scheme implementations and variants. I don't understand why the word scheme is even used, each scheme is basically a silo.
Unless Artanis uses FFI calls (which are not part of any SRFI I recall) it is quite reasonable to implement an entire WAF using standard Scheme + SRFIs (for instance, there's an SRFI for socket IO). Build steps always differ but it isn't necessarily difficult to avoid using implementation-specific functionality.
For a non-trivial example, check out the R7RS benchmark suite [0]. 10 of the 30 implementations there complete 95%+ of the benchmarks. (10 is a lot of options...) Racket is probably the most intentionally divergent from Scheme and it still manages to provide an R7RS front-end making it one of only 5 Schemes to finish 100% of the benchmarks (and be pretty fast).
As ZenoArrow mentioned, it's like C or C++ compilers, they may be different and made by different teams but they support a specific set of rules, if your code follows those specific rules any compiler that implements the needed features should be able to run your code.
Common Lisp is famous for this, and some Scheme languages as well. In theory this framework should be able to run in another Scheme. Even HackerNews which is it's own Lisp variant once ran on Racket (might still) but it's not impossible to be ported to another Lisp variant (sometimes with minimal or no overhead).
There are variations but there are also commonalities. For example, if two implementations of Scheme are based on the same language spec (e.g. R6RS, etc...) they should be broadly compatible.
For a non-trivial example, check out the R7RS benchmark suite [0]. 10 of the 30 implementations there complete 95%+ of the benchmarks. (10 is a lot of options...) Racket is probably the most intentionally divergent from Scheme and it still manages to provide an R7RS front-end making it one of only 5 Schemes to finish 100% of the benchmarks (and be pretty fast).
[0] https://github.com/ecraven/r7rs-benchmarks