40 of 40
Pages
HomeSpecialtiesPortfolioAboutContact
Projects
Easy TruckEngineering and operations · São Paulo, SP, BrazilDuvale ConveniênciaRetail · Carlos Chagas, MG, BrazilCacimbah Casa de PraiaHospitality · Caraíva, Porto Seguro, Bahia, BrazilPorto Engenharia ForenseEngineering and operations · Belo Horizonte, MG, BrazilGestFrotaPublic sector and education · Carlos Chagas, MG, BrazilFlávio PradoLaw · Minas Gerais, Brazil · serves clients nationwideHotel Avenida CCHHospitality · Carlos Chagas, MG, BrazilAbiel Gomes NutricionistaHealth and therapy · Carlos Chagas, MG, Brazil · online consultationsAna Paula MaiaHealth and therapy · Teófilo Otoni, MG, Brazil · online sessions in Brazil and abroadBarbearia LotusFitness and beauty · BrazilBrisa CumuruHospitality · Cumuruxatiba, Prado, Bahia, BrazilClínica EntrelinhasHealth and therapy · Teófilo Otoni, MG, Brazil · online sessions in Brazil and abroadE.E. Dr. João BeraldoPublic sector and education · Carlos Chagas, MG, BrazilEscola IDECPublic sector and education · Teófilo Otoni, MG, Brazil · online and in person coursesEspaço CrescerHealth and therapy · Carlos Chagas, MG, Brazil · in person sessionsEspaço PetsRetail · Brazil · internal pet shop useHōma e LojinhaRetail · Far south of Bahia, BrazilKronos Consultoria e TreinamentosConsulting and marketing · Vila Velha, ES, Brazil · serving MG, ES and BANexLarOwn products · Online, anywhere in BrazilOlá Amiga BagsRetail · Online sales over WhatsAppOliveira & Jesus AdvogadosLaw · Itamaraju, BA, Brazil · in person and by video callPH FitnessFitness and beauty · BrazilPoliana PachecoHealth and therapy · Teófilo Otoni, MG, Brazil · online sessionsRD Consultoria FinanceiraConsulting and marketing · Remote service, anywhere in BrazilSarah BarretoLaw · Teófilo Otoni, MG, Brazil · online and in personSocorro MenezesHealth and therapy · Online sessions across BrazilYanzimRetail · Brazil · used at the shop counterInova Odontologia IntegradaHealth and therapy · Eldorado, Contagem, MG, BrazilNorteOwn products · Online, anywhere in BrazilBabaOwn products · Boston, MA, United StatesFox Studio HubConsulting and marketing · Carlos Chagas, MG, BrazilYonder · Sistema de QualidadeConsulting and marketing · Minas Gerais, Brazil
Talk
Message on WhatsAppCall+55 (33) 98465 6356Ver em português
All projects

Retail · Website + ordering app + staff app

Duvale Conveniência

Carlos Chagas, MG, Brazil

Duvale site and apps: customers order in the app and pay on delivery, and staff run shift checklists on their phones.

Home screen of Duvale Conveniência, a project developed by André Gomes
Client
Convenience store in Carlos Chagas
Where
Carlos Chagas, MG, Brazil
Technology
React Native · Expo · TypeScript · Expo Router · TanStack Query · Zustand · NativeWind · PostgreSQL · Supabase (self hosted) · pg_cron · pgTAP · Deno
Status
Live · duvale.app.br
Development
André Gomes · NexiaLabs

In short

Duvale Conveniência is a convenience store in Carlos Chagas, Minas Gerais, Brazil. André Gomes, at NexiaLabs, built the duvale.app.br website, the ordering app with payment on delivery, in the final stage of store publication, the operations center and Duvale Checklist, the staff app published on Google Play, where the manager builds each shift checklist and the team answers with photos, even offline. All in React Native with Expo and PostgreSQL with row level security, on a self managed Hostinger server.

The client

Duvale is a neighborhood convenience store with counter service that wanted to sell by delivery too, without depending on a third party app. A convenience store runs a fixed routine per shift: opening, stock checks, cleaning, closing. At Duvale that routine depended on paper and on someone remembering to follow up. Without being in the store, the manager had no way to know what was done, by whom and when. Internal notices got lost in chat groups, with no way to tell who had read them.

The challenge

The app would be used at the counter, on basic phones, under bright light and with unstable internet. The manager needed to change a checklist without calling a developer. An item answered no needed a justification, and an item that asks for proof needed a photo, without burning through the store's data plan. And each employee could only see their own work, never a coworker's runs or history.

What was built

The site presents the store, shows the catalog straight from the app and explains how to order: customers pick in the app, give name, phone and address without creating an account and pay at the door, in cash, Pix or card. For the staff, andré built an Android app with two areas, manager and employee. The manager builds the checklist in the app's editor, picks each item's type, drags to reorder, sets who runs it by role or by person and previews it before publishing. Employees see the day's checklists by shift, with a deadline and progress bar; the camera opens directly when an item needs a photo, and the image is shrunk before upload. Offline, answers wait in an on device queue with a visible notice and upload by themselves when the network returns. Separation between stores and between people is enforced in the database, by an access policy on every table.

What the system does

  • Store website with a catalog updated straight from the app and a step by step on how to order.
  • Ordering without sign up and payment only on delivery, with the total shown before confirming.
  • Operations center with orders, catalog and dashboard in one place.
  • Checklist editor inside the app, with yes or no, text, number, choice and photo items.
  • Daily checklists split by shift, with a deadline and a progress bar.
  • Mandatory justification when an item is answered no, with an alert for the manager.
  • Works offline and syncs by itself when the connection returns.
  • Manager dashboard with completed, pending and late runs, and who still owes work this shift.
  • Internal notices by push notification, to the whole store, a role or specific people, with read and acknowledgment tracking.
  • Export any period to CSV for Excel.

// For whoever reviews the code: architecture and decisions.

Under the hood

  • React Native
  • Expo
  • TypeScript
  • Expo Router
  • TanStack Query
  • Zustand
  • NativeWind
  • PostgreSQL
  • Supabase (self hosted)
  • pg_cron
  • pgTAP
  • Deno

The app is React Native with Expo and Expo Router, one screen per file, reading and writing data through TanStack Query; session state and the offline queue live in Zustand with on device persistence. The backend is PostgreSQL with the Supabase stack running in Docker on a Hostinger VPS: a REST API over the database, authentication, photo storage and Deno functions to create users and send notices. Every table has a row level security policy per store and per person, covered by 29 pgTAP tests. A scheduled database job marks late checklists every 10 minutes, and the app does the same check on open in case the scheduler is missing.

Technical decisions

  1. Permissions are enforced in the database with row policies, not just in the UI, so no direct API call can reach another store's or another employee's data.
  2. Photos are resized to at most 1200 pixels wide and compressed on the device before upload, because the store has limited internet.
  3. Tailwind's default palette was removed and replaced with Duvale's scale, with an audit that compares every class used against the generated CSS, because a missing class fails silently.
  4. Automated check for missing Portuguese accents on screen text, because misspelled words pass every type check.

Does your business look like this one?

Fits stores, restaurants, gas stations and any business with shift routines that still rely on paper and verbal follow up.

Frequently asked questions

Who developed Duvale Conveniência?

Duvale Conveniência was developed by André Gomes Andrade, a full stack developer from Carlos Chagas, Minas Gerais, Brazil, at NexiaLabs, from planning to launch.

Where is the client of Duvale Conveniência based?

Convenience store in Carlos Chagas. Carlos Chagas, MG, Brazil.

Which technologies were used to build Duvale Conveniência?

Duvale Conveniência uses React Native, Expo, TypeScript, Expo Router, TanStack Query, Zustand, NativeWind, PostgreSQL, Supabase (self hosted), pg_cron, pgTAP, and Deno.

Can you build a similar project for my business?

Yes. Every project is custom built, with code and accounts in the client's name. The first step is a WhatsApp conversation at +55 (33) 98465 6356 to understand what you need.

More retail projects

A custom system starts with a conversation.

Tell me quickly what you need. The reply comes from a real technical path, not a ready made template.

Prefer to go straight there?

Message on WhatsApp

Or call: +55 (33) 98465 6356