Digi Setu AI — an AI co-author for Typst (looking for 100 users)

Hi Typst community :wave:

For the last few months I’ve been building Digi Setu — a hosted AI co-author that writes, compiles and iterates on Typst documents the same way you would in your editor, but via a chat interface. It’s free to try while it’s in beta, signed-in users only:

:globe_with_meridians: https://digi-setu.com

Walkthrough video (≈2 min): see the second link at the bottom of this post.

:warning: Heads up before you sign in: the site is still buggy and not yet production-ready. Please don’t store anything important — sessions may be wiped between deploys. Only Typst core, CeTZ, Quill, Touying, Fletcher, Circuiteria, Codly are wired into the doc-search; the model can still write other packages but I can’t guarantee clean compiles for those yet. A desktop version will follow once the web app is stable.

I’d love to hand it to 100 of you and let your feedback drive the next round of work. Forum DMs and replies welcome.


Why I built this

Typst is fantastic at the language level, but the discovery loop is still a friction point — for newcomers especially. Every package (fletcher, cetz, quill, codly, circuiteria, touying, …) has its own vocabulary, and the answer to “how do I draw a state diagram?” lives across half a dozen READMEs and example files.

Digi Setu is my attempt to keep all of that in one chat-shaped place, without hiding Typst behind it. Every output is real .typ source you can copy out, version-control, and own.

What it does today

The shape of every interaction is:

User asks → Agent reads Typst + package docs → writes / edits a .typ file → runs typst compile → fixes errors in a loop until the PDF is clean → shows you the source, the PDF, and the inline render.

A few things that took some work to get right:

  • Per-corpus document search. Seven separate tools, one per package (search_typst_docs, search_cetz_docs, search_fletcher_docs, search_quill_docs, search_codly_docs, search_circuiteria_docs, search_touying_docs). The model has to pick the right corpus before searching, which keeps results tight. Mid-task re-searches are encouraged, not just at the start.
  • Compile-and-iterate loop. The model owns bash typst compile and treats every error as a signal to read, search, fix, recompile. Most “doesn’t compile” rounds resolve in 1–3 turns.
  • Multimodal attachments. Drop a PDF, image, or .typ file into the chat and the model reads it through Gemini’s vision pipeline (PDFs, PNGs, JPEGs, WebP, HEIC supported). Code/text files inline directly.
  • Marker feedback. Right-click “Marker mode” on the inline PDF, highlight the part that’s off, type a comment, and the model receives the screenshot + your note as a proper turn — no copy / paste / “the third paragraph on page 2” gymnastics.
  • Queue-based input. While the agent is mid-turn, anything you type (or any new marker comment you ship) drops into a visible queue and runs as soon as the current turn finishes. So you don’t have to block.
  • Memory + cross-session reads. Every project’s prior chats are searchable from inside the agent, so on session 4 of “my thesis” it can recall what worked and what failed in session 1.
  • Workspace persistence. Chat history survives reloads, sign-outs and redeploys — only “Clear all” in the sidebar wipes it. Each conversation has its own filesystem under the hood (cross-readable between your sessions, isolated from other users).

What’s NOT working as well as I’d like

I want to be very upfront about this, because asking for 100 testers means asking you to run into rough edges:

  • Rendering bias. The model still defaults to flowcharts when asked for “a diagram”, even when the subject calls for a stack (TCP/IP), a tree, or a coordinate-system drawing. I’ve added a Subject → Package matrix to the system prompt to push it; would love to see your “this should not have been a flowchart” examples.
  • Hand-rolled long edits. For multi-section rewrites the model occasionally writes a perfect first draft and then partially refactors it on a follow-up. Memory recall helps, doesn’t fully solve it. Suggestions on prompt tightening welcome.
  • PDF preview latency. The first compile per session can take 3–5s as Typst pulls preview-tagged packages. Cached after that.
  • No collaboration yet. Each session is single-tenant — no live cursors, no shared sessions. On the roadmap.

The ask: 100 testers, two weeks

If you’ve got 30 min in the next two weeks, here’s what would help most:

  1. Sign in, open a fresh session, and try one document you’d normally write yourself in Typst. Anything: a problem set, a slide deck, a paper draft, a circuit diagram, a state machine, a poster.
  2. Submit one piece of marker feedback (“redo this chart prettier”, “the heading is too tight”, “TCP/IP layers should be stacked, not branched”). This is the surface where I most want to hear “it didn’t get it”.
  3. Drop a bug report or surprise in this thread or via the in-app feedback. The format I find most useful: what you typed → what you expected → what you got → screenshot if visual.

I’d also love to hear what would make your Typst workflow smoother in general — is it the design? Faster iteration? Better package discovery? Templates? Tell me what you’d want from a tool like this so I can build toward it.

In return I’ll read every report, fold the high-leverage ones into the next two weeks of work, and credit testers in the changelog. Pricing-wise: free during beta, and I’ll keep a low-cost tier (with options) for the community after that.

Quick start

  1. Visit the site (link at the top) and sign in.
  2. Click “New chat”.
  3. Try: “Build me a one-page PDF poster of the OSI model with the seven layers stacked vertically and the TCP/IP layers shown alongside on the right. Use cetz for the layout.”
  4. After the PDF compiles, click any layer in the inline preview, choose Marker, drag a circle, type “make this layer cyan instead”, press send.
  5. Watch the queue + the second compile.

:video_camera: Walkthrough video: Typst AI demo | Loom

Thanks for reading — looking forward to your feedback.

4 Likes

It’s honestly a bit surprising to see how well this tool is designed. I’ve been playing around with it, and as a junior developer, I noticed some interesting coding decisions it makes to resolve issues on its own.

One thing I’ve consistently seen AI struggle with is fonts — which is understandable since hallucinations around typography are pretty common.

A couple of things I found a bit frustrating:

  • You have to be very precise with prompts. It’s not great at making independent design decisions.
  • I often need to hit the refresh button multiple times when it updates PDFs just to see the latest version, which gets annoying.

That said, I’ll definitely keep using it for daily use cases and plan to provide more feedback over time. It’s pretty cool to see AI “figure things out” and generate clean typ files. The tool is easy to use overall, and I’m curious to see how it evolves.

1 Like

Hi! I see that you’re posting answers with Digi Setu across the forum.

Please be aware that “all posts on this Forum are licensed under the Creative Commons Attribution 4.0 International license” (according to FAQ - Typst Forum). Therefore, posting with AI might be controversial. (I’m personally okay with that, though.)

3 Likes

Hi Y.D.X,

Thanks for letting me know, I will make sure I will look at license details and make sure follow forum guidelines. I am validating my response before posting the details into the forum. I will also provide validated details for detailed analysis, So I won’t be spamming answers and diverting users in a wrong direction.

3 Likes

Hi! Digi Setu looks like an interesting project and a good fit for a showcase post.

That said, we would ask everyone to not post answers to the Forum using AI. We want the Forum to be a high-quality source of original information. If users wish to receive help from AI, they can directly ask an AI model of their choice.

I’ve adjusted the the guidelines in How to post in the Questions category to include this.

8 Likes

Looks interesting and was surprised how well it can use one of my packages. While its neat, I’ve got some question in general of the website

  • How can I delete an account? Clicking on the profile picture does not open any window for profile settings. E-Mail deletion request is not allowed in certain countries.
  • Why make the Feedback windows slightly angled? It was also not clear who this feedback is sent to (I thought I would send it to you). Maybe change “send” to “prompt”?
  • Who owns the output? I saw that Gemini is used, but their output ownership depends on the subscription.
  • Generally, how is data handled?
2 Likes

Well currently its in web, later I want to release it in desktop mode where you own the data and it runs locally without storing anything in cloud. And also provide an option to add your own google key so I wont have access to anything except maintenance cost.

I am planning for three types of solutions

  • Web → to access instantly and we handle the data & security
  • desktop → we don’t have access to data, only security is handled by our application when you use our google key
  • desktop & custom google key → we only provide app no data & security only monthly maintenance cost for updates and to provide support.

currently I am urging everyone whether I should continue or stop my project
is it useful for you & and what is your expectations on using AI for typst?
why do you need an AI for your daily workflow?

These are my biggest questions if I know answers and choices I will make a worthy AI to resolve your issues and provide a companion.

And to answer your questions:

How can I delete an account? Clicking on the profile picture does not open any window for profile settings. E-Mail deletion request is not allowed in certain countries.

under implementation, this logic was to separate users only. The manage users module I didn’t release yet, because as I have said if I see value in it I can complete the whole project in a week once I get suggestions and clarity. I will make sure abide by the guidelines of the country that I am going to release.

Why make the Feedback windows slightly angled? It was also not clear who this feedback is sent to (I thought I would send it to you). Maybe change “send” to “prompt”?

nice suggestion I will make sure to remember that & I can understand words sometimes create confusion

Who owns the output? I saw that Gemini is used, but their output ownership depends on the subscription.
→ well its Enterprise Account with vertex AI integration so the data is private and secured. They are ready to sign HIPPA compliance agreement with our company if needed.

Generally, how is data handled?

→ The product runs on Google Cloud (a single Compute Engine VM in attached to an enterprise GCP project). Once we’re past the early-access phase we’ll begin the SOC 2 Type II process.

Today the stack uses these data-handling controls:

  • Hosting — Google Cloud Compute Engine . All user data lives on a GCE persistent disk that is encrypted at rest by Google (AES-256, Google-managed keys).
  • Per-tenant isolation — Each user gets a private workspace directory on the host.
  • The AI’s code execution runs inside a locked-down Linux account that cannot read the application code, the auth database, or the signing keys. Isolation is enforced by the operating system, not by filtering, so even a misbehaving model cannot reach those files.
  • Auth — Per-deployment secret. SSO via Google and Microsoft OAuth. Plus optional email + password (bcrypt-hashed).
  • LLM access — Google Vertex AI via Application Default Credentials on the VM’s attached service account. No prompt or document content leaves Google’s network — the request goes from the VM straight to Vertex over Google’s internal backbone.
  • Network — Cloudflare in front of the VM (DDoS + WAF), host networking inside the VM so containers don’t expose extra ports.

I would urge users to experience the AI and provide feedback & suggestions to create a useful product. Thanks for the feedback!