Real client, real operations
The application had to support an active business, existing domain and day-to-day contact workflows rather than a portfolio-only environment.
Case Study · Production Client Project
How an accounting firm's website became a production web application that combines institutional content, SEO, intent-based lead capture, guided pre-service and operational safeguards for a real client.
01 / Client context
The project modernized the public digital presence of a Brazilian accounting firm. The goal was not only to refresh the interface, but to create a website that could explain services clearly, support local discovery, capture qualified demand and fit the operational reality of the client's hosting environment.
02 / From brochure to working system
A service website becomes more valuable when it reduces friction before the first human conversation. The engineering challenge was to connect content, user intent and lead capture without making accounting guidance look automated or replacing professional judgment.
03 / Constraints that shaped the solution
The application had to support an active business, existing domain and day-to-day contact workflows rather than a portfolio-only environment.
Contact and business information required server-side validation and controlled persistence instead of being treated as disposable form payloads.
The deployment model had to work with a constrained Node.js hosting environment where builds were more reliable when prepared locally.
The digital assistant could triage and organize context, but definitive accounting guidance remained explicitly with qualified professionals.
04 / A conversion path built around intent
Instead of sending every visitor to the same generic contact form, the site adapts the first interaction to why that person is there.
General visitors can answer a short set of questions before continuing to WhatsApp.
The pre-service flow asks about the current situation and the reason for evaluating a transition.
The flow captures the type of accounting support and the company's current need.
The experience gathers initial context such as activity, location, partners and expected start.
Visitors can ask specifically about digital processes, information security and service technology.
A general contact path still exists for requests that do not fit a specialized entry point.
05 / Lead architecture
The lead flow separates user experience, validation, persistence and communication so a temporary failure in one channel does not have to erase the request.
Reusable components collect context according to the page and generate a structured handoff to WhatsApp.
A decision-tree experience guides visitors through company opening, accountant change, tax planning, regularization, income tax and consulting contexts.
A shared Node.js route receives both the traditional form and assistant payloads through one server-side entry point.
Payloads are normalized and checked before persistence, including required contact data and the selected service context.
The lead is written server-side and receives a year-based sequential protocol before external messaging is attempted.
The office receives the structured request by email, the visitor receives confirmation, and a prepared WhatsApp conversation can continue the flow.
06 / RESILIENCE
The lead is persisted before SMTP delivery is attempted. If email sending fails, the request can still remain recorded, a protocol can still exist, and the API can report that messaging failed without pretending the entire capture failed. This small ordering decision protects business intent from an external dependency.
07 / SEO and content architecture
The project treats discoverability as part of the application rather than as a final marketing patch.
Pages use reusable metadata generation with canonical URLs, descriptions, Open Graph and Twitter information.
The root layout publishes Organization, LocalBusiness and AccountingService schema for the firm's public identity.
Services, company opening, accountant transition, technology, contact and blog content each have their own navigable context.
A blog with dynamic article routes extends the site beyond institutional pages and creates room for useful accounting content.
08 / DEPLOYMENT
Production constraints influenced the delivery workflow. Builds are prepared outside the hosting panel, the Next.js output is packaged for deployment, and a custom Node.js server provides a predictable startup path. A health endpoint, process-level error logging and an optional PM2 configuration add operational visibility without changing the client-facing experience.
09 / QUALITY
The project includes build and lint commands, server-side input validation, a health endpoint and a detailed post-deploy checklist covering navigation, responsive behavior, images, contact flows, the assistant and server logs. The repository does not currently contain an automated test suite, which is a clear next engineering improvement: component, API and end-to-end tests would reduce reliance on manual regression checks.
10 / What this project proves
The value of the project is not a single visual feature. It is the combination of product thinking, business context and production engineering.
The application serves a real accounting business with public users, operational contact flows and deployment constraints.
The site captures context before the conversation reaches the accounting team, reducing the blank-page effect of a generic contact form.
Lead persistence is separated from email delivery so an SMTP problem does not automatically discard the request.
Canonical metadata, social previews, structured data and content routes make discoverability part of the implementation.
11 / LESSONS
Confidentiality note: the source repository is private. This case describes architecture and engineering decisions without exposing credentials, private customer data, internal server paths or sensitive operational details.