A 3v3.ai capability · the toolkit behind the engine room

The toolkit behind the engine room.

Where we ship things from. The systems, libraries, integrations and patterns that turn a 30-minute discovery call into shipped code two weeks later. If you're evaluating us - this is where you check our work.

AI & LLM layer

Where the intelligence lives.

Vertex AI for production reliability, region-pinning and audit logs. Anthropic Claude where structured reasoning matters. The patterns we use to keep AI outputs deterministic, auditable and safe - so a Yi.X feature doesn't ship one good demo and three weird ones.

Vertex AI Gemini 2.5 Pro Gemini 2.5 Flash google-genai SDK Anthropic Claude API Structured JSON output Thinking-budget tuning Confidence-gated fallbacks Banned-phrase scrubbing MCP-pattern integrations Vector embeddings Google Docs → mini-RAG Multi-agent orchestration
Data & persistence

The substrate, not the spreadsheet.

Books live in real databases. Analytics live in OLAP engines. State lives where it belongs. Every Yi.X SKU runs on this stack - which means by the time we propose it to you, it's already shipped to 488+ clients.

DuckDB (columnar OLAP) SQLite (operational) PostgreSQL (scale) Auto-migrating schemas Append-only event logs Bidirectional sync Real-time polling (no WebSockets) CSV + Excel import / export PDF stream ingestion SQL chat (NL → SQL) Vector store (pgvector / Vertex)
Integrations

We meet your systems where they are.

Your firm runs on Google Workspace, Xero and a shared mailbox. We don't make you migrate. We integrate. Every line below is shipping to a real client right now.

Gmail API (read + send) Google Sheets API Google Workspace DWD Google Drive API Multipart MIME send Fuzzy match (488 clients) Xero API (read) QuickBooks Online API MYOB API PayNow EMV QR generation OCBC batch-file generator Bizfile PDF extraction Bank statement OCR WhatsApp share URLs iframe + postMessage embed
Web & front-end

Two flavours, one team.

We ship server-rendered Jinja for accounting-grade reliability, and we ship React when the UX demands it. Mobile-first by default - phones are how owners actually open this stuff. No build steps where they're not needed.

Flask 3.x Jinja2 templates Vanilla JS (no build) React (where it earns it) Tailwind (when shipping fast) Mobile-first responsive SVG charts & flywheels Canvas (Yi.Suite ignition) IntersectionObserver localStorage state CSRF Flask-WTF Werkzeug auth (PBKDF2)
Cloud & security

Hosted in Singapore.
Run by accountants.

PDPA-defensible by design. Region-pinned to asia-southeast1. No API keys on disk - Application Default Credentials only. Service-account auth with Cloud Audit Logs on every call. Your IP stays yours - we don't train models on your data.

Google Cloud Platform asia-southeast1 region Application Default Credentials Cloud Audit Logs Service-account auth IAM role-based access Encryption at rest Encryption in transit (TLS) PDPA-defensible architecture No model training on customer data Sandboxed iframe embeds CSP frame-ancestors Path-traversal-guarded uploads Pre-commit credential scan
Singapore-native

Built where you file.

Most accounting software treats Singapore as a regional config. We built where you file. The local rules aren't a feature flag - they're first-class citizens baked into categorisation, validation, and reporting.

IRAS - Owner CPF disallowed IRAS - S-plate disallowed IRAS - Entertainment 50% IRAS - Medical 1-2% cap S19A - 1yr (computer) / 3yr (equip) GST Box 6 / Box 7 GST standard / zero / exempt CPF 17% ceiling check FRS 2 (inventory) FRS 16 (PPE) FRS 19 (employee benefits) FRS 21 (FX revaluation) FRS 23 (finance charges) FRS 37 (accruals) FRS 38 (intangibles) FRS 115 (revenue) DTDi auto-claim cap tracking SUTE eligibility from Bizfile MRA grant sub-caps PSG pre-approval check PDPA data residency ACRA Bizfile PDF parse
Patterns we ship by

How we keep AI honest.

Six patterns we apply on every project. They turn "AI sometimes goes off the rails" into "AI stays on rails - and when it doesn't, we catch it before the user does." None of this is novel research. All of it is rigour we wouldn't ship without.

01

Structured JSON enforced

Every AI call returns parseable structured output. response_mime_type=application/json, schema validation on receive, graceful failure if shape is wrong.

02

Banned-phrase scrubbing

Every Gemini output passes a post-filter before reaching users. Banned phrases (industry no-nos, regulatory tripwires) get stripped and logged as ai_phrase_suppressed.

03

Confidence-gated fallbacks

Low-confidence outputs escalate to human review. Sensitive-keyword pre-filter (refund / lawsuit / complaint) bypasses AI entirely - straight to manager.

04

Append-only event logs

Nothing deleted, ever. Every classification, override, save, send, archive - logged as an immutable event. Full audit trail for IRAS, the team, or future-you.

05

Bidirectional sync

Your system of record (Gmail INBOX, Google Sheet, accounting GL) stays the source of truth. Our database mirrors and reconciles. Nothing fights nothing.

06

Thinking-budget tuning

Gemini's "thinking" tokens count against output - and silently truncate JSON if you leave it on for extractions. We default thinking_budget=0 on structured calls. Audits keep thinking on.

In production today

The receipts.

Every claim on this page runs in production today. Click any product to see the landing - the stack tags show the slice of this toolkit that product actually uses. Nothing here is roadmap. (WIP items are explicitly tagged.)

Want the deep-dive on any of this?

30 minutes. A real chat about what you're building, what stack would fit, and what we can ship. No slides, no NDA paperwork up front, no sales pitch.

Hosted in Singapore · built by accountants who code · shipped to 488+ clients