Transformando dados de produto em entendimento do usuário, sem alucinações.

Problema

Euconheciváriostimesdeprodutoquetentamfazerpesquisa.Elesatéfazem,masorestodotimeacabaignorandoosresultados.Nãoporqueelesnãoqueremusar,masporquenemconseguemconectaroquedescobriramcomasdecisõesdodiaadia.ApersonaficanumarquivonoFigmaounumPPT.AstranscriçõesdeentrevistasvivemnumdocdoNotionquenemmesmoapessoaqueparticipoudaentrevistavoltaprarevisitar.

Entãoeuviqueogapnãoeraesforço,eraaformaqueessesdadoschegavamprotime.PorissoeuconstruíoResense:paraajudartimesdeprodutoaextrairvalordoqueelestinhamemcasa,semprecisardeespecialistaprainterpretarenemprecisargastarhorasemartefatosdepersonaquevãopraúltimagaveta.

A stack de IA

OpipelinedegeraçãomapeiadadosbrutosdeprodutoporJTBDeguardrailsanti-otimismo,estruturandoemSyntheticUsersviaOpenRoutercomClaudeSonnetemproduçãoeGeminiFlashemdesenvolvimento.Euchegueinessaestratégiadedoismodelostestando:iteraçãoemdevprecisavadevelocidade,produçãoprecisavadequalidadederaciocínioparasíntesecomplexa.Servemjobsdiferentes.

AavaliaçãocomRAGrecuperachunksdefonterelevantesparaancoraraanáliseemdadosreaisdeusuário.Éissoquefazotimedeprodutoconfiarnooutput:cadainsightrastreiadevoltaaumafonte.

Opromptcachefazduascoisas:reduzcustodetokenecortaalatênciaderespostaem63%.Numaferramentadepesquisaondeagenteestáesperandoumasínteseantesdeumareunião,essadiferençadevelocidadeimportatantoquantooconteúdoemsi.

CadarequisiçãopassaporumacamadaBYOKparaofreetier:ousuáriotrazaprópriachavedeAPI(OpenRouter,Anthropic,OpenAIouGoogle),quenuncasaidobrowser.Auto-detecçãoroteiaparaoprovedorcerto.Oservidornuncaarmazenanemlogaaschavesdeconvidados.

As decisões de design

Calibrarconfiançafoioproblemadedesignmaisdifícil.LLMsparecemautoritativosmesmoquandoestãochutando,entãoomaiorriscodoprodutoeraentregaroutputsqueotimeusariasemquestionar.Euchegueiemtrêssistemasqueatacamissodefrente.

Citaçõesdefonteporatributo:todoinsightnumperfilSyntheticUserlinkadevoltaprafontedeondeveio.Camposinferidossãomarcadoscom[Inferido]nooutput.Ousuárioexatamenteoqueveiodosdadoseoquefoiinferênciadomodelo.

Oguardrailanti-otimismoéumalistadeproibiçõesnosystemprompt:quatropadrõesqueinvalidamumageração.Acamadaforçaomodeloadescreverpontosdefricçãocomosituaçõesespecíficas,quando,onde,oqueacontece.Seopontodefricçãoforvago,ageraçãofalhanavalidação.

Otriangulationscoremedediversidadedefontes(comportamental,atitudinal,contextual)commultiplicador:umtipodefonterende0.6xdeconfiança,trêstiposrendem1.0x.OConfidenceBadgerenderizacomoaviso,informaçãoouconfirmação,emostraexatamentequaistiposdefonteestãofaltando.

Avaliaçãoemelhoriasficamforadocaminhocrítico,disparadassobdemanda.Achamadaaomodeloparaperfisfecha,ousuáriodisparaumachamadaseparadaparapadrõeserecomendaçõesquandoprecisar.Doissegundossobdemandamantémoloopprincipalrápido,queéondeotimepassaamaiorpartedotempo.

O modo de falha

QuandoomodelonãotemdadossuficientesparagerarumSyntheticUserconfiável,eledizisso.EuconstruíumpainelDataHintqueexibetrêssinais:umaanálisedoqueestáfaltando,ostiposdedadosnecessárioseumaperguntadepesquisasugeridaprairbuscar.Opainelusaprogressivedisclosure.Aanáliseficavisívelporpadrão.Aslacunaseaperguntasugeridaexpandemnainteração.

EudecidiquemostrarumSyntheticUserruim,semsinaisdeincerteza,eramaisperigosodoqueserhonestosobreafaltadedados.Timesqueconfiamempesquisaruimtomamdecisõespiores,eeraexatamenteissoqueeuqueriaqueoprodutoajudasseaevitar.

AntesdequalquerdadochegaraoLLM,umanonimizadorremovePII:emails,CPFs,telefones,endereçosIPenomesemcontexto.Omodelorecebeapenastextoanonimizado.Dadosemrepousousamcriptografiaemníveldecampo.Eunãotenhoacessoaoconteúdobrutodosusuários.Issocustaconveniênciadeadministração.Valeuapena.

How I work with AI

OResensenãocomeçoucomoproduto.Começoucomoomeupróprioprocesso.SyntheticUserssãocomoeuchegonumaprimeiraleituraparaquemeuestoudesenhandoemhorasemvezdesemanas,eeuvalidoosqueimportamcompessoasreais.Euusocomopontodepartida,nãoparasubstituirapesquisa.

Omesmoinstintoatravessaorestodomeutrabalho.EuprototipofluxosnavegáveisnoClaudeCodeenoCursor,entãoaengenhariarecebealgoquepraclicaremvezdeumatelaestática,queéondeohandoffcostumaquebrar.EconstruíumagentededesignquecarregaosmeusprincípiosdedesigneumconjuntodeSyntheticUserscomocontexto,rodandotestesdeconceitoeusabilidadecontraelesantesdeeusentarcomumusuárioreal.Quandocompareiosvereditosdelecomsessõesreais,ficarampróximososuficientepraconfiarcomoprimeirapassada.

IAnãoéumaetapaqueeugrudonofinal.Elaestánapesquisa,noprotótipoenoteste,praeugastarmeutemponasdecisõesenãonosetup.

O que vem a seguir

EuqueroSyntheticUsersqueevoluamsozinhosconformenovosdadoschegam,semregeneraçãomanual.Eumagentedepesquisaqueaprendacomsinaisdecorreçãoesugiraoquevalidaraseguircombasenosgapsqueforamsinalizados.Oobjetivoéumsistemaqueficamaisútilquantomaisotimeusa.

Salvar links não te torna mais inteligente. Aprender com eles sim.

Problema

Eueraessapessoacomcentenasdelinkssalvosquenuncaiaabrirdenovo.Eusalvavaartigos,vídeos,referências.Masquandoprecisavadealgumacoisa,ficavaprocurandopelotítuloquemallembrava,naspastasquemalorganizava.Aferramentaqueeuusavaorganizavaoqueeutinhasalvo.Oproblemaéqueelanãomeajudavaaaprendercomissonemaacessaroqueeuprecisavaquandoprecisava.

EntãoeuconstruíoCoisas.spaceemtornodeumapergunta:eseoconteúdoquevocêsalvoupudesseaparecerquandoagenteprecisa,semprecisarlembrarqueexistia?

A stack de IA

Acategorizaçãorodacomgpt-4o-miniviaOpenRouteratemperature0.2.Euchegueinessatemperaturabaixatestando:temperaturamaiorintroduziacategorydrift,omesmolinkcategorizadodeformasdiferentesemsavesrepetidos.0.2aconsistênciaqueumafeaturedecategorizaçãoprecisaterpraousuárioconfiar.

Acamadaderecuperaçãoconversacionalusaacategoriacomosinaldecontextoescopado,umaabordagemRAG-likerápidaosuficienteparaUXconsumereprecisaosuficienteparaserútil.Eutesteicomembeddingcompletodedocumentoeficoumaislentodoqueospadrõesreaisdequeryjustificavam.

Quandoocontextoéraso,arecuperaçãofazfallbackportrêsníveis:conteúdovisíveldacategoriaativa(últimos3dias),depoistodooconteúdodessacategoria,depoistodooconteúdoindependentedecategoria.Aestratégiamantémasrespostasfundamentadasmesmopraquemacaboudecomeçar.

OalgoritmodematchingdoFocoTimeusaIAsemântica,então"AprenderReact"trazlinkssobrehooks,componentseJSX,inclusivelinksquenuncamencionamReactnotítulo.ResultadossãocacheadosemKVcominvalidaçãoporhash:quandoumnovolinkésalvo,ohashmuda,ocacheinvalidaeapróximarequisiçãodematchingregenera.

As decisões de design

Streamingfoiinegociávelpramim.Qualquercategorizaçãoqueexigisseesperaquebrariaohábitodesalvar.Oprodutofuncionasesalvarparecerinstantâneo.Olinkapareceimediatamentenogridcomumestadopending,acategorizaçãocompletaembackground,ostatusprogridedependingparaprocessedpararead.

Euescopeiainterfaceconversacionalporcategoriadepropósito.Chatabertosobretodooconteúdosalvoproduziarespostasirrelevantesnostestes,entãoestreitarocontextofoiadecisãoquefezafeaturefuncionar.Quandoousuáriotrocadecategoriacomumchataberto,umavisoinlineaparececomduasopções:manterocontextoatualoure-ancoraraconversananovacategoria.

Ocomando/resumirusaprogressivedisclosurebaseadoemFibonacci:aprimeirachamadaretorna5links.Ousuáriopodepedirmais,easequênciaexpandepara8,13,21,34.Ousuáriovaidescobrindooquetem,noritmoqueprecisar.

O modo de falha

Quandoomodelonãoconseguecategorizarumlinkcomconfiança(páginascompaywall,conteúdoambíguo,URLsquebradas),olinkvaiparaumestadoSemcategoriacomopçãodeoverridemanual.Olinkestásemprelá,sempreacessível.AIAéumacamadaaditivasobreosdados,entãoquandoelafalha,olinkcontinuadisponível.

Acamadadeprovedortemumfallback:seoOpenRouterretornar402(créditosesgotados),osistemaroteiaautomaticamenteparaoOpenAIcomumajaneladeretryde1hora.OstatusdoserviçoérastreadoemKV:provedor,últimoerro,tentativasfalhas,últimotempodesucesso.Ousuárionuncaumatrocadeprovedor.

Aextraçãodeconteúdousasilentfailure:seaextraçãoexpiraem10segundos,olinkcontinuafuncionandocomseusmetadados.Eupriorizeivelocidadederespostaaqui,porqueumlinknogridserveousuário,mesmosemotextocompletoextraído.

Row-levelsecurityéaplicadononíveldobancodedadosenacamadadeaplicação.CadatabeladedadosdousuáriotempolíticasRLSvinculadasaoauth.uid().Nenhumbugdeaplicaçãopodevazarosdadosdeumusuárioparaoutro.

O que vem a seguir

EuqueroadicionarleituraprofundaviaFirecrawl,extraindooconteúdorealdoslinkssalvosalémdosmetadados.EGmailOAuthparapuxarnewslettersethreadsdiretoparaabiblioteca,transformandoacaixadeentradaemumfeeddeaprendizado.Oqueeumaisqueroéacamadadeleitura,porqueéoquevaifazerasrespostasdeIAficaremancoradasnoquevocêdefatoleu,eelasficamrealmenteúteis.