SuryanshChourasia
All work

Public-tender startup · 2026

Scriva

I built the frontend and redesign of Scriva, an AI workspace that reads a tender, answers its questionnaire with cited sources, and drafts the bid with an AI co-writer.

Frontend developmentInterface design in codeAI integration

Scriva is an AI bid-writing workspace for companies that answer government and commercial tenders. You upload the buyer's documents, and it reads them, lists what the buyer is asking for, answers the selection questionnaire from your own company files, and drafts the submission documents. Each bid moves through four stages, brief, compliance, draft and submit, until a finished PDF goes out.

It is hard to build because every AI step is slow and has to be trusted. Analysis and drafting run for minutes on background workers, so the interface has to stream honest progress and survive refreshes, double clicks and switching tabs mid-answer. And in a bid one wrong claim can cost the contract, so every answer has to point to the page it came from, and the AI can never quietly rewrite the document.

I owned the frontend from February 2026: the AI features, the document editor and its co-writer, the data layer and the contract with the backend, then a demo-readiness bug hunt and a full redesign of the product into Scriva's warm-paper system, built directly in code.

Scriva proposal editor on an iPad held in both hands, an eight section outline rail on the left and an AI Explain panel reasoning about a highlighted sentence.
Scriva bid desk: 'Good morning, Sana', active bids, pipeline value and win rate, a 'Needs you today' list of four tasks, and a pipeline from Qualifying to Decision.
The bid desk opens on what needs you today: deadlines, unanswered requirements, drafts to review.
A Scriva tender page for City Rail Signalling Upgrade: deadline, contract value, win probability, a Brief, Compliance, Draft, Submit stepper, and submission documents being generated.
Each tender moves through four stages, with the submission documents generated and tracked in place.
Scriva questionnaire analysis dialog: answers to ISO 9001 and comparable-contract questions, each with a citation chip naming the source PDF and page.
Questionnaire answers grounded in your own documents, each one citing the file and page it came from.

The decisions that made it work

01

Every answer points to a page

Questionnaire answers and Ask AI replies come back with citation markers. I parse them into chips naming the file and page, like ISO_9001_Certificate.pdf, page 1, that open the source PDF through a short-lived signed link, so any claim can be checked before it goes into a bid.

02

Long jobs you can trust

Reading a tender, answering a questionnaire and generating a bid take minutes. Their progress streams over SSE into a task tracker. Where the backend sends no percentage, the bar says Working rather than faking a number, and it never shows done before the job is.

03

A co-writer inside the editor

Drafts open in a Plate.js editor with an AI panel beside it. The agent streams its reasoning, keeps separate chat sessions, and sends edits as proposals. When a task finishes, the editor is replaced with the server's version so the two never drift.

04

Redesigned in code

I wrote the design brief, then rebuilt every screen to it in one pass: one clay accent on warm paper, a quiet icon rail, a calmer agent UI, from the bid desk to the auth pages, without changing how anything behaves.

05

The AI suggests, the writer approves

The agent never writes straight into the document. Each change arrives as a proposal the writer can apply or reject, one by one or all at once, and only then does the document change. In a bid, that control is the product.

4 stages

brief, compliance, draft, submit

Page-level

citations on AI answers

38K+

lines of frontend shipped

Every screen

redesigned in code

Built withReactTypeScriptVitePlate.jsVercel AI SDKTanStack QuerySupabase AuthTailwind
Next projectImagikaMine. Live, with paying users
Want one like this?Landing pages from $999, live in about 10 days.Start a project