Caso de estudo · Full Stack Developer · desde janeiro de 2026

Celina: um marketplace em produção construído por mim sozinho, do primeiro commit até ao lançamento

O Celina (celinaeda.ru) é um marketplace que junta cozinheiros caseiros e clientes. Trabalho nele em Lisboa desde janeiro de 2026, e em julho de 2026 lancei-o a partir de Lisboa, Portugal. Desenhei e construí todas as camadas — front-end, back-end, infraestrutura e SEO — e continuo a mantê-lo no ar. Não é uma demonstração, é um negócio a funcionar.

celinaeda.rulive
Catálogo do Celina: cartões de cozinheiros com avaliação, cidade, custo de entrega e valor mínimo
O catálogo. Filtros por cozinha, pesquisa e, em cada cartão, a avaliação, a cidade, o custo de entrega e o valor mínimo — as quatro coisas que decidem uma compra.
celinaeda.ru/loginlive
Ecrã de entrada do Celina, com as notificações reais ao lado do formulário
Entrada. As notificações reais aparecem ao lado do formulário, para que um visitante novo veja o que o produto faz antes de criar conta.

O desafio

Um marketplace de dois lados é dos sistemas mais difíceis de construir sozinho. Os dois lados têm de funcionar ao mesmo tempo: cozinheiros que se inscrevem e cuja identidade é verificada, e clientes que se atrevem a encomendar a alguém que não conhecem.

A isso junta-se uma terceira exigência que em muitos projetos só recebe atenção no fim: ser encontrado. Um marketplace que ninguém encontra no Google já nasce morto.

O front-end: uma aplicação React que o Google consegue ler

Um marketplace vive de tráfego orgânico, mas uma single-page app clássica entrega ao rastreador uma página HTML praticamente vazia. Optei por React 18 com TypeScript e geração estática através do Vite: o visitante recebe uma aplicação, o motor de busca recebe HTML pronto.

Daí resultaram mais de 100 landing pages geradas previamente, indexadas tanto pelo Google como pelo Yandex. Em cada deployment, o site submete automaticamente as páginas novas e alteradas através do IndexNow, para que uma página nova não fique à espera de que um rastreador passe por acaso.

O back-end: encomendas, identidade e acessos

Nos bastidores corre Node.js com Express e Prisma sobre MySQL. O centro de tudo é o ciclo de vida de uma encomenda: de colocada a entregue, com um estado que ambas as partes veem em tempo real. Enquanto o cliente conseguir ver onde está a encomenda, ninguém tem de telefonar.

Para os cozinheiros existe um processo de KYC: carregam o documento de identificação, que é analisado antes de a sua cozinha ficar visível. As permissões são validadas no servidor e não na interface — aquilo que o browser esconde, o servidor também bloqueia.

A infraestrutura

A aplicação corre em contentores Docker atrás do nginx num VPS próprio, com certificados Let's Encrypt que se renovam sozinhos. Um deployment é um único comando; não há um passo manual onde eu me possa esquecer de alguma coisa. Todas as noites corre automaticamente uma cópia de segurança da base de dados e dos documentos carregados.

Além disso, meço o funil completo: da visita ao catálogo e do catálogo à encomenda. Em conjunto com os dados da Search Console, é isso que determina quais as páginas que recebem atenção — e não a minha intuição.

Escolhas e compromissos

Cada escolha neste projeto teve um custo. A geração estática torna o site encontrável, mas qualquer alteração de conteúdo obriga a uma nova build; isso é aceitável enquanto a build for automática. A análise manual de KYC não escala indefinidamente, mas um serviço externo de verificação custa, nesta fase, dinheiro que fica melhor aplicado no produto.

Tão importante como isso é o que deliberadamente não fiz: nada de Kubernetes, nada de microsserviços, nenhum serviço extra com mensalidade. Um servidor, uma base de dados e um back-end monolítico são, com este volume, a opção mais barata e mais fácil de manter — e sou eu que me levanto a meio da noite quando alguma coisa parte.

O resultado

100+páginas indexadas pelo Google e pelo Yandex
100%construído, publicado e gerido por um só programador
Liveem produção em celinaeda.ru

O Celina corre em produção em celinaeda.ru. Há mais de 100 páginas no índice do Google e do Yandex, os cozinheiros inscrevem-se e são verificados, e os clientes fazem encomendas que podem seguir em direto. Design, construção, publicação e gestão estão a cargo de uma só pessoa.

Mais importante do que os números é aquilo que não acontece. Não há uma agência a quem telefonar quando algo parte, não há uma plataforma que aumente os preços a meio do caminho, e não há uma parte da stack que eu não consiga reparar sozinho.

O que isto significa para o seu projeto

Tudo o que torna caro um projeto como o seu — autenticação, um processo de encomenda pronto para pagamentos, verificação, publicação e SEO técnico — já resolvi em produção na minha própria plataforma. Não me está a pagar para aprender à sua custa.

Sou português e vivo e trabalho em Lisboa. Faturo em euros, com um descritivo detalhado. O RGPD está no desenho desde o início: nenhum rastreador que não tenha pedido, estatísticas que só carregam depois do consentimento e alojamento numa região à sua escolha.

Perguntas frequentes

Consegue construir algo assim para a minha empresa?
Sim. O Celina não é uma exceção, é a forma como trabalho: a mesma stack, a mesma abordagem. Definimos juntos o que pertence à primeira versão e o que pode esperar, e sobre esse âmbito assenta um preço fixo.
Quanto tempo demora um projeto destes?
Depende da dimensão. Uma landing page fica normalmente pronta em uma a duas semanas, um site empresarial com SEO técnico em duas a quatro. Uma aplicação web como o Celina é um percurso mais longo; em 48 horas recebe um orçamento fixo com um calendário concreto.
Trabalha com empresas portuguesas?
Sim. Sou português, vivo em Lisboa, falo e escrevo em português e faturo em euros. O site é entregue integralmente em português e falamos português entre nós.
Como é a fatura?
Recebe uma fatura detalhada em euros.
Posso ver o seu código antes de o contratar?
Do Celina pode ver a versão em produção em celinaeda.ru. O Purchases, uma plataforma com papéis e permissões construída em Java 17 e Spring Boot com autenticação JWT, está público no GitHub; aí pode ler o código antes de decidir.
Podemos falar pessoalmente?
A primeira conversa é por videochamada, quando lhe der jeito. Depois disso acompanha o progresso num ambiente de testes que abre você mesmo, e falamos por WhatsApp ou videochamada, para nunca ter de esperar por um e-mail com o ponto de situação.