> Aman Jaiswal

I build things I find interesting.

About Me

I'm a Founding Engineer at Blocvue, governance and compliance management software for RTM boards, RMCs, freeholders and managing agents responsible for UK higher-risk residential buildings. Working in a small team, I migrated the platform from prototype to production on AWS, and I build across Next.js, NestJS and PostgreSQL.

Before that I took a Distinction in MSc Artificial Intelligence at Queen Mary University of London. My dissertation concluded that zero-shot language models are too unreliable for systems where auditable accuracy is non-negotiable. I've spent the time since building systems that take that seriously.

The same pattern runs through everything here: correctness enforced at the data layer rather than in application code, AI that cites its sources and asks before it acts, and privacy handled by architecture rather than policy.

Portrait of Aman Jaiswal

Experience

Founding Engineer — Blocvue

Aug 2026 – Present

Governance & compliance management software for UK higher-risk residential buildings · Live since September 2026

Blocvue is governance and compliance management software for RTM boards, RMCs, freeholders and managing agents responsible for UK higher-risk residential buildings, where a missed statutory deadline can be a criminal offence for the duty holder rather than a support ticket.

Working in a small team, I migrated the platform from prototype to production on AWS: account structure, networking, PostgreSQL, storage, backups and separation across development, staging and production. Day to day I work on full-stack delivery and platform operations across Next.js, NestJS and PostgreSQL.

The tenancy model keeps row-level security as the enforcement boundary rather than application code. Across 100+ tables, every client's data is isolated at the database, not by a check somewhere in the API layer that someone can forget to write. The platform is designed to scale to 3,000 buildings.

I built the applicability engine that maps 55 statutory duties across four legal frameworks onto individual buildings from client-maintained building data, and the versioned document layer that holds the client's golden thread, a statutory record in which nothing can be silently replaced.

I also built the platform's regulatory-change monitor: an AI layer that watches legislation.gov.uk and regulator guidance for changes to statutory obligations, maps each change against the platform's obligation register, and surfaces what may need to move for the client's review. Every flag is cited to source and dated, and nothing is applied to a client's register without their sign-off. Blocvue gives duty holders the system of record; the compliance decisions stay theirs.

Next.js NestJS PostgreSQL TypeScript AWS Row-Level Security Multi-Tenant

Founder & Solo Developer — BillSync

Apr 2026 – Present

Personal finance tracker and bill splitter · Android and iOS

BillSync is a personal finance tracker and a social bill-splitter in one app. You track your own spending and budgets, and split bills with friends and groups, without switching between two apps. I designed, built and shipped it solo: product, backend, mobile client and store releases.

Its assistant runs Google's Gemma 4 (E2B, LiteRT-LM, roughly 2.6 GB) entirely on the phone. It can log an expense, split a bill or settle up, and every one of those is shown for confirmation before it runs. No question about your money leaves the device. There is no server-side AI, no model provider ever receives your finances, and there is no analytics or crash-reporting SDK in the app.

Money is computed in the database in exact decimal, never in floating point on the client. Shares round to the smallest unit of the currency and any rounding remainder goes to the person who paid, so a bill's shares always add up to the bill, and a balance that reads zero is zero.

Flutter Dart 3 Riverpod Supabase PostgreSQL Gemma 4 LiteRT-LM On-Device Inference
BillSync home screen showing current balance and recent transactions BillSync statistics screen showing spending by category BillSync split screen showing net position and groups

Projects

Anamnesis AI System screenshot

Anamnesis: AI Patient Intake & Clinical Memory

An end-to-end system that conducts structured conversational patient intake and turns free-text dialogue into a validated clinical note. Every answer it gives about a patient's history is traceable back to something the patient actually said.

Python FastAPI PostgreSQL pgvector RAG React
Calma emotional support system

Calma: Offline Emotional Support System

A multi-modal emotional support system that runs entirely offline, so nothing a user says ever leaves their machine. Real-time text and voice, with a fine-tuned emotion classifier at its core.

Python PyTorch RoBERTa LLaMA Whisper
Legal Search Engine screenshot

Legal Search Engine with BM25 Ranking

A Python desktop application for retrieving documents from the Lex-GLUE legal benchmark, using BM25Okapi for relevance ranking. Multithreaded so the interface stays responsive during search, with schema normalisation to handle inconsistencies across heterogeneous legal datasets.

Python Tkinter BM25 Threading
View on GitHub

Research

A Comparative Study of Transformer Architectures for Legal Clause Extraction

MSc Dissertation · Queen Mary University of London · Distinction

Automating contract review runs into two problems at once: contracts are far longer than a transformer's context window, and the clause types that matter most are often the rarest. I framed clause extraction as question answering on the CUAD benchmark and ran a controlled comparison of three architecture families on an identical, stratified test split of 4,180 items.

Fine-tuning beat zero-shot prompting by a wide margin, and the generative encoder-decoder model beat the purely extractive one, which was the less obvious result.

Model results on the CUAD test split, scored with SQuAD-style Exact Match and F1
Model Architecture EM F1
FLAN-T5 Encoder-decoder, fine-tuned 73.44% 75.91%
LEGAL-BERT Encoder-only, fine-tuned 69.40% 70.74%
Gemini 2.5 Pro Decoder-only, zero-shot 57.66% 67.98%

The diagnostic analysis was where it got interesting. Both fine-tuned models correctly identified absent clauses over 96% of the time, but paid for that precision with a higher false negative rate. LEGAL-BERT, which can only predict one contiguous span, is structurally handicapped on multi-span answers like a list of parties. And F1 tracks clause frequency closely, so rare clause types with fewer than 50 training examples remain the dominant source of error.

The conclusion I drew then is the one I still build on: zero-shot LLMs are a powerful baseline, but their variance and format drift make them unreliable for production systems where auditable, exact accuracy is non-negotiable.

Read the full paper

Technical Skills

Languages

  • Python
  • TypeScript
  • JavaScript
  • Dart
  • SQL

Backend & Data

  • PostgreSQL
  • Row-Level Security
  • JSONB & pgvector
  • NestJS
  • FastAPI
  • Supabase
  • Node.js

Frontend & Mobile

  • Next.js
  • React
  • Flutter
  • Riverpod
  • Tailwind CSS

AI & Infrastructure

  • Large Language Models
  • Retrieval-Augmented Generation
  • Fine-tuning & Evaluation
  • On-Device Inference (LiteRT-LM)
  • PyTorch & Hugging Face
  • AWS, Docker, Linux