1

Lições que aprendi com meu projeto - Cálculo Inteligente


É claro que eu usei AI. E quem disse que não aprendemos mesmo quando temos mais uma ferramenta?

Porém, a IA não responde as seguintes perguntas

  • Qual vai ser a próxima feature?
  • Como ela vai funcionar?
  • Porque essa feature importa?

Vejo muitos falarem sobre que a programação/desenvolvimento é apenas sobre resolver problemas.

"Qual é o problema que o código resolve? … e ponto"

Na verdade, eu gosto de ir na contramão: pra mim desenvolvimento é sobre criar problemas. Parece marketing kkk
Não acho que as coisas devem ser assim "secas". Vejo os devs por aí agora nessa "era" da IA, que falam como as coisas ficaram chatas (entendo o sentimento), e que perderam aquele brilho no olhar de resolver um problema usando programação. Porque tentar escrever código se a IA faz tudo? Talvez porque ficamos acostumados por muitos anos pensando que o problema é apenas o código em si.

Pra mim desenvolvimento é uma arte. E como toda arte, ela envolve mais do que o trabalho em si.
Um pintor não apenas coloca tinta na tela. Ele, por exemplo, tenta expressar por meio da tinta algum sentimento, e pra isso ele pode usar cores e pincéis diferentes. Esse é apenas um exemplo de como as coisas não são meramente o que são. 
O problema do pintor não é pintar a tela. Para isso, basta ele colocar tinta no pincel e pincelar a tela.
O real problema dele é o que ele vai pintar, como vai alcançar o resultado/como vai ficar o resultado, e por que isso importa.
Então, ele precisa de um problema para chamar de seu. E daí resolvê-lo.
É interessante pensar assim, as coisas ganham vida e sentido.


No início de 2026 eu falei aqui sobre um projeto que eu estou desenvolvendo: o noteous.
É um web app (PWA) de notas. Aplicativos assim estão por todo lado. Se vc não olhar pra cima pode cair um na sua cabeça, ou se não olhar pra baixo vai acabar tropeçando em algum 😅😆
O objetivo do noteous é "puxar as fronteiras" do que é imaginável em um PWA de notas. Mais ainda assim ser inconfundivelmente um aplicativo de notas. (Parece que me inspirei em alguma big tech ao construir essa frase kkk)
O exemplo que eu usei antes foi para falar sobre esse projeto? Talvez. Mas de qualquer forma acho que esse tipo de discussão/pensamento é apropriado.

Quero compartilhar apenas 1 recurso que gostei muito de fazer, e tem a ver com o que comentei antes.

É um novo e empolgante recurso: Cálculo Inteligente (ou Smart Calc)
Aqui uma imagem animada para mostrar (é muito massa):

noteous smart calc

O problema é: como tornar o noteous mais inteligente e prático?
Bem, inspirado em algumas vezes que eu mesmo precisei anotar ali alguma coisa (algo que eu ia comprar) e aí toda vez precisava abrir a calculadora, ficar trocando um aplicativo pra outro, ou ter que dividir a tela, para fazer um simples cálculo; e inspirado também em um amigo meu que usa o noteous, e ele anota coisas também relacionadas a valores; Eu pensei no seguinte: 'porque o próprio noteous não tem algo que identifique quando quero fazer um cálculo e automaticamente mostre o Total?' Aí eu comecei a idealizar o que hoje é o Cálculo Inteligente.
O que eu imaginava na cabeça era o seguinte:

Assim como muitos aplicativos que você digita barra "/" e abre uma paleta de comandos, ou executa algo, assim no noteous digitaria igual "=" e depois uma expressão matemática (Exmpl: 5+10), e ao lado do igual apareceria o Total de forma automática. Ou seja, iria aparecer assim: 15=5+10 (seria uma expressão "invertida", em que o total vem antes da conta). E ao passo que fosse alterando, iria atualizar o Total, por exemplo: 7=5+10–2*4.

Mas eu acabei não fazendo dessa forma, pois gerou muitos problemas. Por exemplo:

  • Quando adicionasse o Total, isso iria "empurrar" o texto da frente. Mesmo que fosse deixado um espaço, dependendo de qual fosse o Total, poderia não ser uma experiência muito agradável.
  • Além disso, se esquecer de digitar "=" a função não seria ativada.

Assim, não segui dessa maneira. A ideia agora seria o aplicativo identificar uma expressão matemática e então exibir o Total.

É claro que você deve estar imaginando… e quem vai usar isso?

Bem, depende. O objetivo é fazer do noteous inconfundivelmente um aplicativo de notas. Ele é um app de notas e ponto. De repente, você vai esbarrar em um recurso prático e inteligente que outro e vai ficar maravilhado, pensando: "Uau, ele calcula também?" É como uma fase bônus em um jogo.

E há diferentes maneiras de se fazer isso. Por exemplo, como o Total seria exibido? Se for clicado, o que vai acontecer com o caret (cursor de texto)? Como vai ser a experiência no computador, e no celular? Bem, eu decidi fazer de uma maneira não intrusiva. Ao escrever um cálculo dentro da nota, o aplicativo reconhece e então marca o texto com um fundo de cor. Ao tocar/clicar/hover, o Total aparece e posiciona o cursor onde foi clicado/tocado (ou seja, não atrapalha o fluxo normal de digitação). Incrível! Isso já existe em algum outro aplicativo? Não sei, mas nunca vi e nem usei algo parecido.

Como fiz essa função? É claro, com IA. Mas ela só me ajudou no que eu já havia decidido e projetado fazer. Ela fez centenas e centenas de linhas de código em minutos. Eu demoraria semanas para encontrar a lógica de tudo isso e fazer acontecer sem problemas.

E ainda esbarrei em um outro problema que não imaginei que seria um problema: caixas de texto simplesmente não aceitam estilização! Por mais incrível que pareça, eu nunca tinha percebido isso. (E você já tinha percebido?)

Então, tive também que atualizar o Campo de Nota para que ele renderize texto de forma dinâmica (talvez abre possibilidade para contar mais sobre isso, mas se quiser saber mais, é só clicar aqui para ir para a Release no GitHub, onde expliquei melhor). Somente após a renderização dinâmica estar pronta que aí consegui prosseguir para o Cálculo Inteligente. Ainda bem que a AI fez o trabalho. Só quero depois com tempo revisar o que foi feito, pois foram centenas e centenas de linhas (será que vale a pena revisar?)

Ainda um outro ponto antes de finalizar: eu já iria disponibilizar esse recurso para todos ou ainda deixar como teste? Então, resolvi incluir esse recurso no noteous preview, onde os testes e experimentações acontecem.
Bem, e aí… quais foram as lições que eu aprendi?

  • Usabilidade: deixar a interface ser dinâmica e reativa. Por exemplo, o Cálculo Inteligente só aparece quando o usuário escreve uma expressão matemática. E ao mostrar o resultado, não adiciona fricções.
  • Nunca pensar que as coisas são simples. Elas não são. Para chegar nessa função tive que dar passos antes, com o Campo de Nota com renderização dinâmica.
  • Apreciar a beleza que há na engenharia das coisas. Por exemplo, agora toda caixa/campo de texto que eu vejo que tem estilização eu penso: quando trabalho teve aqui!

Espero que tenha gostado dessa história (são fatos reais kkk)
noteous é um projeto de código aberto, e você pode colaborar. Para isso existe o noteous preview, que é o branch onde esse recurso que eu contei aqui está disponível como teste. É no noteous preview que coloco os novos recursos. Quando eles estão prontos e com menos bugs, são lançados no noteous.
Obrigado por ler. Espero que eu tenha de alguma forma te inspirado a pensar em novas funções que nunca havia pensado. Se tiver algo para acrescentar, fique à vontade

Carregando publicação patrocinada...