Project Story

💡 Inspiration: The $100M Question

The tech world was recently buzzing about OpenAI's acquisition of Prism (rumored at $100M). As a Master's student in Mathematics at NTU (Nanyang Technological University) and a heavy LaTeX user, I immediately put it to the test.

The results were disappointing. For a product valued at over $100 million, it struggled significantly with CJK (Chinese, Japanese, Korean) characters and failed to generate correct TikZ circuit diagrams for my physics assignments.

I realized that the barrier to entry wasn't funding—it was insight. I decided to challenge this "unicorn" status quo. I didn't hire a backend team. Instead, I set a timer for 24 hours to see if a single developer, armed with Gemini and a "Vibe Coding" methodology, could build a superior solution.

🛠️ How we built it: Vibe Coding & The "Technology Transfer"

This was my first time ever using Google Cloud Platform, and the speed was exhilarating.

1. The "Vibe Coding" Methodology I bypassed traditional software engineering cycles (specs -> code -> debug). Instead, I treated Google Antigravity as my co-founder. I fed the core logic of our proprietary "Self-Correction Engine" into the model, and it helped me scaffold a production-grade FastAPI backend in hours, not weeks.

2. Architecture: "Dimensional Strike" from the Film Industry The secret sauce of Frism comes from my startup, PixelRaft. We usually build AI tools for film script generation, which requires highly complex, structured outputs for directors.

  • We took that mature Structured Output Engine (originally designed for screenplays) and applied it to LaTeX.
  • For an AI that can handle complex movie scenes, LaTeX syntax is child's play. This "technology transfer" is why Frism is so stable compared to other wrappers.

3. The Google Stack

  • Brain: Gemini 3 Flash on Vertex AI for the agentic loop.
  • Compute: Google Cloud Run (Serverless) for instant deployment and scaling.
  • Storage: MongoDB Atlas on GCP.

🧩 Challenges: The "Feedback Loop"

The biggest challenge was not generating code, but fixing it. LaTeX compilers are unforgiving.

  • The Problem: LLMs often hallucinate invalid packages or syntax errors (e.g., in TikZ graphs).
  • The Solution: We built an Autonomous Agentic Loop.
  • The Agent writes code.
  • We compile it in a sandbox.
  • If it errors, we feed the compiler log back to Gemini.
  • Gemini analyzes the error and self-corrects. This cycle repeats until the document renders perfectly—usually in under 10 seconds.

📚 What I learned

Building Frism taught me two things:

  1. Google Cloud is surprisingly developer-friendly. As a first-time user, going from "empty folder" to "deployed serverless app" in one night was seamless.
  2. The era of the "10x Engineer" is over; it's the era of the "100x Founder." With tools like Gemini and Vertex AI, a small team (or even one person) with deep domain insight can outperform generic tools backed by millions in funding.

Frism is not just a LaTeX editor; it’s proof that in the AI era, insight is the only moat.

Built With

Share this project:

Updates