# Is there a way to make a web UI?

**URL:** <https://forum.typedb.com/t/is-there-a-way-to-make-a-web-ui/117>\
**Category:** TypeDB\
**Created:** [16 April 2022 03:42 UTC](https://forum.typedb.com/t/is-there-a-way-to-make-a-web-ui/117 "2022-04-16T03:42:31Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![dogweather](https://dub1.discourse-cdn.com/flex005/user_avatar/forum.typedb.com/dogweather/32/32_2.png) [@dogweather](https://forum.typedb.com/u/dogweather)\
**Post date:** [16 April 2022 03:42 UTC](https://forum.typedb.com/t/is-there-a-way-to-make-a-web-ui/117/1 "2022-04-16T03:42:31Z")

</div>

I noticed that all of the supported languages are server-side.

Has anyone made a web UI for a TypeDB-powered app? I’m wondering what kind of stack and architecture would support this. One nice feature would be running the TypeDB in a stateless mode in order to support web users at scale.

---

<div class="post-metadata">

**Author:** ![alex](https://dub1.discourse-cdn.com/flex005/user_avatar/forum.typedb.com/alex/32/148_2.png) [@alex](https://forum.typedb.com/u/alex)\
**Post date:** [19 April 2022 11:53 UTC](https://forum.typedb.com/t/is-there-a-way-to-make-a-web-ui/117/2 "2022-04-19T11:53:32Z")

</div>

For a web interface backed by TypeDB, we’d recommend inserting a Web API server into your stack using Java, Node.js, Python or Julia. (Rust support will be added soon.)

However, in theory it would be possible to establish a direct connection from a website to a TypeDB server. TypeDB client-server communication is powered by [gRPC](https://grpc.io). A client built with the [grpc-web](https://github.com/grpc/grpc-web) library should be able to connect to TypeDB from a website.

This is a generic gRPC library and it would still take some dev work to produce a TypeDB client that depends on it - but I would expect it to be pretty much a case of:

1. copy/fork [typedb-client-nodejs](https://github.com/vaticle/typedb-client-nodejs)
2. replace the dependency on `grpc-js` with `grpc-web`
3. massage the code a bit
