Frontend Engineering
Product Engineering
Braudit
Frontend engineering for a multi-tenant SaaS platform helping organizations manage employee productivity, tasks, goals, and performance.
- React
- TypeScript
- GraphQL
- Apollo Client
- GraphQL Code Generator
AI Integration
Product Engineering
ParseHQ is an independent AI-powered invoice processing application designed to reduce the manual work involved in extracting and verifying supplier invoice data. I started developing the application in April 2026, building a full-stack system with Next.js, TypeScript, PostgreSQL, Drizzle ORM, Better Auth, and Cloudflare R2. The application integrates Gemini and OpenAI through a provider-independent model layer to extract structured invoice information, including individual line items. Extracted values are validated with Zod, checked for arithmetic inconsistencies, and presented alongside the source document for human review. The engineering work also includes OCR-backed source references, tenant-level data isolation, transaction-safe trial usage limits, background processing, and automated testing of core workflows. ParseHQ is an independent project, not a commissioned client application. Development is currently on hold, and the product has not been publicly launched.
Project details
Context
ParseHQ is an AI-powered application for extracting structured information from supplier invoices and making that information easier to review and verify. Businesses that regularly receive supplier invoices often need to transfer information from PDF documents into spreadsheets, accounting systems, or internal records. This process can involve manually identifying suppliers, invoice details, individual line items, quantities, prices, and totals. The challenge extends beyond extracting text. Invoice layouts differ between suppliers, financial values must be interpreted correctly, and extracted results need to be checked before they can be trusted. ParseHQ approaches this problem by combining document processing, large language models, structured data validation, and a human-review interface. Users can review extracted invoice information alongside the original PDF, while the application identifies inconsistencies that require attention. I developed ParseHQ independently to explore the engineering challenges of building reliable AI-powered business software, particularly the interaction between probabilistic AI outputs and deterministic application requirements. The application is currently in private development and testing, with development paused. It has not been launched as a production service.
ParseHQ was conceived as a B2B application for people handling recurring supplier invoice workloads, including small teams processing approximately 20–100 invoices per week. That workload represents the intended audience and problem space, not measured production usage. The application combines conventional full-stack engineering with AI integration. Its central technical challenge is not simply obtaining an LLM response, but ensuring the response is structured, traceable, mathematically checked, and handled safely within a multi-user application. The project also explores how different AI providers can be supported behind a shared interface without tightly coupling the application to one model.
Contribution
I am the independent full-stack engineer behind ParseHQ, responsible for its application architecture, frontend interfaces, backend integration, AI extraction pipeline, data models, authentication, and reliability safeguards. My work spans document ingestion, model-provider integration, structured output validation, financial reconciliation, multi-tenant access control, and the user experience for reviewing extracted information.
ParseHQ combines several engineering concerns that become important when AI-generated information is used in business applications. The extraction system must handle varying invoice formats while producing data that conforms to a predictable structure. Financial values must be checked independently of the AI model, and users need enough information to review questionable results. The application also needs conventional SaaS safeguards around authentication, data isolation, file storage, usage limits, and failure handling. I designed the implementation around these concerns, treating AI output as information that requires verification rather than automatically trusted application data.
Designed and developed the application using Next.js, React, TypeScript, PostgreSQL, and Drizzle ORM. Structured the system around invoice documents, extraction results, user accounts, and related processing workflows, connecting the application interface with persistent data and AI services.
Implemented an abstraction for Gemini and OpenAI so invoice extraction can use different model providers through a consistent application interface. Separated provider-specific interactions from the structured extraction contract, allowing the application to validate results independently of the model generating them.
Developed an AI processing flow for extracting invoice information and individual line items from supplier PDFs. Used Zod to validate structured model responses and implemented checks for financial inconsistencies, including arithmetic mismatches that require further review.
Built functionality for presenting extracted invoice information alongside its source document. Implemented OCR-backed source references and highlighting to help associate extracted values with their locations in the original invoice. This provides a way to inspect AI-generated results rather than relying exclusively on the extracted data.
Integrated Better Auth and implemented tenant-level access checks around application data and document operations. Focused on ensuring that invoice records and associated resources are accessed within the appropriate account context.
Implemented server-side trial usage limits with transaction-safe enforcement. Designed the quota checks to account for concurrent document uploads, preventing separate requests from independently consuming the same remaining allowance.
Worked on background invoice-processing functionality with retry handling for recoverable failures. Implemented automated end-to-end coverage across document upload, extraction, and review workflows to exercise the application's core functionality during private testing.
ParseHQ is an independent engineering project rather than a paid client engagement. It demonstrates the combination of AI integration and conventional software engineering required to build applications that process business-critical information. The emphasis has been on controlling and verifying AI-generated data, maintaining tenant boundaries, enforcing usage rules, and providing an interface through which users can inspect extraction results. Development began in April 2026 and is currently on hold. The application remains a private, pre-launch project.
Implementation
ParseHQ is built with Next.js and TypeScript, using PostgreSQL and Drizzle ORM for persistent application data, Better Auth for authentication, and Cloudflare R2 for document storage. The AI processing layer integrates Gemini and OpenAI through provider-independent adapters, with Zod validation applied at the boundary between model-generated responses and application data. The implementation includes document extraction, OCR-backed source references, arithmetic verification, tenant-level access controls, usage-limit enforcement, and automated testing.
Developed the document-handling flow around supplier invoice PDFs, connecting file upload functionality with application records and subsequent extraction processing.
Cloudflare R2 provides object storage for invoice documents, while the application uses signed URLs for controlled document access during processing.
The extraction workflow connects stored documents to their corresponding processing results, allowing invoice information to be retrieved and reviewed within the application.
Implemented AI extraction using Gemini and OpenAI through a provider-independent integration layer.
The architecture separates model-specific API communication from the rest of the invoice-processing application.
Both providers operate behind a consistent extraction contract, reducing the need for downstream application logic to depend on one model's response format.
The extraction process focuses on converting supplier invoice information, including line items, into structured data that can be validated and presented for review.
AI models can produce results that appear plausible while containing missing fields, unexpected data types, or incorrect calculations.
Implemented Zod validation to check extracted responses against expected application structures before accepting them as valid data.
Added financial reconciliation checks to identify inconsistencies between invoice values, including arithmetic mismatches involving line items and totals.
The extraction process also accounts for potential problems such as duplicated information and incorrectly aligned values.
These checks help distinguish a successfully generated model response from an extraction result that is sufficiently consistent for further processing.
Developed functionality for connecting extracted invoice information back to the original PDF.
The review experience presents structured extraction results alongside the source document, giving users the context needed to compare values.
OCR-backed source references support highlighting relevant areas of the document, helping users locate the information associated with extracted fields.
This approach acknowledges that even structurally valid AI output can contain incorrect values and therefore benefits from independent human verification.
Used PostgreSQL and Drizzle ORM to model and manage the application's persistent data.
The data layer supports invoice documents, extraction information, and account-related records.
Integrated Better Auth for authentication and implemented tenant-level access checks to control access to application resources.
These controls are important because invoice documents may contain sensitive business information, and one account must not be able to retrieve another account's records through an improperly scoped request.
Implemented server-side trial quota enforcement for invoice-processing operations.
A particular challenge involves concurrent uploads, where multiple requests may attempt to consume the same remaining trial allowance.
Used transaction-safe database operations to enforce usage limits consistently rather than relying on frontend checks or independently evaluated requests.
This helps prevent concurrent operations from bypassing the intended allowance.
Worked on background processing for document extraction so the workflow could handle operations beyond a single immediate interface interaction.
The processing pipeline connects document retrieval, AI extraction, structured validation, and result persistence.
Implemented retry handling with exponential backoff for recoverable processing failures.
The objective is to make document processing more resilient while keeping failures visible rather than treating every unsuccessful operation as a valid extraction result.
Implemented automated end-to-end tests covering the application's core invoice-processing journey.
The coverage includes document upload, extraction, and review workflows.
Testing focuses on the interaction between application features rather than evaluating the model integration only as an isolated API request.
These checks support development and private testing of the application but do not establish production readiness or reliability under real-world usage.
Outcomes
ParseHQ remains a private, pre-launch application with development currently on hold. Its outcomes are engineering deliverables rather than measured business results or production adoption. The project demonstrates a full-stack approach to integrating language models into a document-processing product, with particular attention to structured validation, financial verification, data isolation, and reliable application behavior.
Deliverable
Implemented a provider-independent AI integration layer supporting Gemini and OpenAI for structured supplier invoice extraction.
Measured impact
Gemini and OpenAI, accessed through a shared extraction interface.
The architecture separates provider-specific API calls from the extraction contract used by the application.
Deliverable
Developed a processing flow that extracts invoice information and line items, validates model-generated results with Zod, and checks financial values for inconsistencies.
The validation process includes arithmetic reconciliation and checks for results that may require manual correction or review.
Deliverable
Implemented a review experience that presents extracted invoice data alongside the source PDF, supported by OCR-backed references and highlighting.
The feature helps users compare extracted information with original documents rather than relying on AI-generated values without inspection.
Deliverable
Implemented authentication and tenant-level access checks for invoice-related application data and operations.
Better Auth, PostgreSQL, and Drizzle ORM support the application's account and data-access architecture.
Deliverable
Built server-side usage-limit enforcement designed to prevent concurrent uploads from bypassing trial processing allowances.
Transaction-safe database operations provide consistency when multiple processing requests attempt to consume a limited allowance.
Deliverable
Implemented background document-processing functionality with retry handling for recoverable extraction failures.
The processing workflow connects document retrieval, AI extraction, structured validation, and persistence, with exponential-backoff retry behavior.
Deliverable
Implemented automated end-to-end testing for document upload, extraction, and review functionality.
The testing supports private development and verification of core application interactions. It is not presented as evidence of production deployment.
Deliverable
Developed the foundations of an AI-powered invoice processing SaaS application, combining a Next.js frontend, PostgreSQL persistence, document storage, authentication, and multiple LLM integrations.
The application has not been publicly launched or deployed for a paying client. No customer adoption, time savings, extraction accuracy, or revenue metrics are claimed.