Ferigolo
All projects

Professional project / Delivered

PDC — Fundação CERTI

Human-reviewed proposal PoC: a Next.js application, FastAPI API, hybrid document retrieval and agent-assisted generation.

My role
Full stack developer · architecture author · DevOps
Technologies
Next.js · React · FastAPI · Celery · Weaviate · Voyage AI · CrewAI · Supabase
Stage
Delivered

01 /The context

PDC uses institutional documents and user attachments to support Fundação CERTI proposal writing. The PoC implements initial context, missing information, abstract review, and proposal drafting and approval. The person reviewing the document retains decision authority.

02 /My contribution

I contribute across the full stack. My work connects the interface, API, document processing and context retrieval, including integration with IA modules and delivery with Jenkins. This case summarizes the four software layers without reproducing internal documents.

03 /Architecture and implementation

Main flow

  1. Context and attachments
  2. Additional information
  3. Abstract review and approval
  4. Proposal generation, review and approval

Frontend — stages and assisted editing

Next.js, React and TypeScript organize context input, files, missing information and review. Shared state tracks stages and task identifiers; the interface reads the processing status stream. Mantine and the BlockNote editor support document review. Administrative surfaces cover proposals, templates, files and users, alongside export of an approved proposal.

Backend — domain and document processing

FastAPI coordinates chats, proposals, templates and review and approval transitions, using Supabase identity and data. Celery with RabbitMQ processes documents and attachments; the backend exposes task status through Server-Sent Events. Approving the abstract triggers template resolution and multiagent generation. The API awaits generation; workers handle document and attachment processing.

AI — hybrid retrieval and agents

Weaviate combines text and vector search across the institutional corpus and temporary chat attachment collections. Context uses the template, project data and user answers; attachments receive priority and conflicting knowledge-base excerpts are handled. Voyage AI embeddings support indexing. CrewAI organizes generation, editing and review tasks. Excerpt, file and page provenance is persisted for traceability and auditing.

Data — relational state, files and vector index

PostgreSQL/Supabase stores chats, proposals, templates, stages and evidence; Supabase Storage holds files. A separate ingestion service receives institutional documents, queues extraction and cleaning, chunks text, and writes Weaviate vectors and Storage Markdown. SHA-256 hashes and artifact checks deduplicate complete ingestion and repair partial results. Chat attachments follow another processing path with Docling/OCR and temporary collections, separate from the institutional corpus.

04 /Status and next steps

Delivered. Running on local server through Portainer.

Next projectVLang Compiler

Let’s build the next idea.

Let’s talk about opportunities, projects and the engineering challenges ahead.

Connect on LinkedIn
Find me elsewhereGitHub