r/devpt • • May 09 '26

Projecto Nacional (OC) Criei um site anónimo para partilhar salários de Devs em Portugal

54 Upvotes

Olá a todos,

Entrei no mercado de trabalho no último ano e fui o primeiro da minha família a trabalhar em tecnologia. Isso significa que não tinha ninguém a quem perguntar "isto é normal? estou a ser bem pago?". Fui às cegas durante muito tempo.

Acho que isto é mais comum do que parece. Em Portugal ainda existe muito o tabu de falar sobre dinheiro, especialmente salários. Mas a verdade é que essa cultura só beneficia as empresas - quando ninguém partilha o que ganha, é muito mais fácil pagar abaixo do mercado a quem não sabe o que pode exigir.

Por isso criei o [SITE OFF] - um pequeno projeto pessoal onde qualquer dev português pode partilhar o seu salário de forma completamente anónima, e consultar o que os outros ganham filtrado por função, linguagem, empresa, nível e anos de experiência.

Não há contas, não há emails, não há rastreio. Só dados reais.

Uns ganharem mais e outros menos é completamente normal - o mercado é assim. Mas para ser verdadeiramente competitivo, precisamos de ter essa informação disponível. Saber o que as empresas pagam, como é o ambiente de trabalho, a maturidade técnica - tudo isso ajuda-nos a tomar melhores decisões de carreira.

É um projeto pequeno e simples, mas pode ser muito útil se a comunidade contribuir.

Se tiveres 2 minutos, partilha o teu salário atual. Cada entrada faz a diferença.

👉 Site OFF

Feedback é bem-vindo 🙂

r/devpt • • Feb 09 '26

Projecto Nacional (OC) Lancei uma alternativa ao Discord

207 Upvotes

Eu não estava a planear lançar isto tão cedo, mas dadas as recentes notícias sobre o Discord pensei: porque não?

Contexto: sempre fui um utilizador de Teamspeak e nunca gostei muito do Discord. Sempre que utilizei nunca achei particularmente bom. Não gosto da quantidade de bloat que tem, features que não vou usar, não gosto dos paywalls, não gosto da falta de privacidade. No entanto, o Teamspeak esteve parado no tempo. Em relação a streaming de voz: qualidade, segurança e estabilidade o Teamspeak é e sempre foi o melhor, mas a falta de um chat que possibilitasse partilha de ficheiros, imagens, screen share, webcam, etc. fez com que a maioria dos users migrasse para o Discord. Portanto, há uns anos decidi criar (para mim) o melhor de dois mundos: a filosofia do Teamspeak (self-hosted, privacy first, minimalista) com as features que faltavam, tudo isto numa stack atual e open source. Tenho várias versões disto de há uns 5 ou 6 anos até agora, nunca nenhuma saiu porque eu perdia sempre o interesse. Mas esta finalmente está algo usável.

Para quem quiser dar uma vista de olhos: https://sharkord.com

Está em fase muito alpha, há muitas coisas que são preciso melhorar, mas tenho usado nos últimos meses (sobretudo a parte de voz e screen sharing) e não tive grandes problemas. Só tem web app, o layout mobile está longe de estar minimamente funcional, por isso boa sorte a tentarem entrar na demo pelo telemóvel.

Também tem um sistema de plugins que permite integrar funcionalidades extra on demand programando plugins. Este sistema ainda é mais alpha que o alpha. Podem por exemplo fazer watch party de canais totalmente legais (wink wink) de IPTV para vários users ao mesmo tempo (https://github.com/diogomartino/sharkord-iptv).

Stack: React, Bun, Typescript, Tailwindcss, tRPC.

Estou aberto a qualquer tipo de feedback ou pergunta.

r/devpt • • Jul 15 '26

Projecto Nacional (OC) Fiz uma app que resume (via LLMs) o Diário da Republica em linguagem mais acessivel

120 Upvotes

Live: https://arcada.naps.pt

Source: https://github.com/naps62/arcada

TL;DR: automaticamente indexa e resume todos os artigos do Diário da Republica, tentando usar linguagem acessível.

O objectivo não e ser uma fonte 100% exacta (ate porque todos sabemos que LLMs falham bastante), mas simplesmente tentar criar um sinal que responda a pergunta "sera que isto e relevante para mim? devo ir informar-me mais?"

A ideia surgiu inicialmente por passar varias vezes pela situação de aprender sobre uma lei através do passa a palavra, e nunca por uma fonte oficial. Muitas vezes o facto da informação estar disponível não e suficiente para ela chegar as pessoas.

Por coincidência, o modelo Amalia foi lançado pouco depois de ter a primeira versão funcional disto, por isso acabei por testa-lo e ficar positivamente surpreendido com os resultados (com algumas reservas)

Diria que este e precisamente o use case perfeito para o Amalia brilhar (traduzir texto pt-pt com demasiado palavreado técnico). Modelos de todo (opus 4.8 e GLM 5.2) pareciam tentar com demasiada forca não perder informação ao resumir, que resultava num resumo por vezes 2x ou 3x maior, e ainda com algum legales. A mesma prompt com o Amalia deu resultados mais próximos dos que queria.

Nota sobre AI (porque isto parece ser obrigatório hoje em dia, não sei necessariamente as regras neste sub):

- Para alem do próprio produto usar LLMs, fica o disclaimer de que usei AI extensivamente no desenvolvimento (sobretudo Claude Code). Nunca em modo vibe coding, mas de forma algo parecida ao que ja aplico muito no trabalho diário, e onde tenho tido excelentes resultados

- o github repo existe como mirror publico, mas não tem grande parte do histórico. Faço todo o desenvolvimento num gitea privado self-hosted, e numa devbox também isolada do resto onde posso correr models sem me preocupar com permissões e acesso muito selectivo ao resto dos meus sistemas. dai não haver issues, branches, ou muito outro do contexto normal

r/devpt • • Jun 07 '26

Projecto Nacional (OC) Construí uma PWA de basquetebol aos 14 anos - React, Supabase e Proxy em tempo real

Thumbnail
gallery
96 Upvotes

Olá malta. Chamo-me André, tenho 14 anos e sou atleta de basquetebol.

Todos os fins de semana, eu, os meus colegas de equipa e os nossos pais tínhamos o mesmo problema: tentar ver resultados, classificações ou descobrir onde era o pavilhão do próximo jogo no telemóvel era um pesadelo. Os sites oficiais (FPB, Swish, etc.) não funcionam bem em mobile, são lentos ou confusos.

Como gosto de programação, decidi passar as últimas 4 semanas a resolver isto (+2 semanas no início da época). Criei a Dribly (dribly.pt).

O Desafio Técnico e a Arquitetura O maior problema é que a Federação Portuguesa de Basquetebol (FPB) não tem uma API pública. Para conseguir os dados em tempo real sem sobrecarregar o site deles ou levar ban de IP (só depois descobri que a fpb.pt não tem rate limits), montei a seguinte stack:

  • Frontend: PWA feita em React 18, TypeScript (strict), Vite 6 e Tailwind CSS. Instala nativamente no telemóvel
  • Dados em Tempo Real: Uso Edge Functions (Vercel) como proxy. Quando um user abre a ficha de jogo, a app faz um pedido à function, que por sua vez vai ler o site da FPB/TugaBasket, faz o parse do HTML no momento (usando Cheerio) e devolve tudo formatado (com cache no Supabase)
  • Base de Dados e Scraping: Para dados persistentes e para o histórico de 23 épocas, escrevi scripts em Node.js (CLI) que extraem os dados e fazem upsert para uma base de dados PostgreSQL no Supabase (que também gere as contas e os follows dos clubes).
  • Mapas e Auth: Leaflet para mapear os mais de 400 pavilhões e Clerk para a autenticação
  • Testes: Para garantir a estabilidade, implementei 111 testes unitários com Vitest e E2E com Playwright, tudo integrado no GitHub Actions.

A Dribly é 100% gratuita, sem anúncios e open-source.

Sobre os principais problemas e o que aprendi:

Migrei para o uso de Edge Fuctions apenas pelos meus antigos scrapers com bibliotecas em Python não serem em tempo real e gastarem minutos no Github Actions, tendo de descobrir, com IA, como funcionava os endpoints de um site e o "backend" (entre aspas) da fpb.pt.

O meu outro grande problema foi quando pensei em criar um Mapa com todos os pavilhões presentes na fpb.pt. Tive guardar o nome de cada pavilhão e a sua morada presente na FPB, tive de transformar essa morada em coordenadas e ainda tentar implementar um sistema de scripts para baixar imagens dos pavilhões (coisa que ainda estou a tratar) pois não queria pagar pelo Google Console e aprendi várias técnicas de resolução de problemas.

Sobre a IA: Eu já tive outros projetos nos quais usei IA mas foi sempre de uma forma produtiva. Ou seja, eu não dizia apenas ao modelo "Faz este site". A Dribly foi criada ao longo de tentativa e erro e planificação da minha parte. Todas as ideias, desde a necessidade de haver uma app destas, até agora um site com mais de 250 clubes e 400 pavilhões, foram feitas por mim. Os modelos usados foram DeepSeek V4 Pro e o DeepSeek V4 Flash, para os mais interessados (e ao aproveitar do cache destes modelos gastei 30 dólares apenas)

Gostava muito de ouvir a vossa opinião crítica de seniores sobre a organização do código ou a arquitetura!

Podem testar em: dribly.pt

Repositório: github.com/mefrraz/dribly

Obrigado!

r/devpt • • Jul 08 '26

Projecto Nacional (OC) Fiz um mapa de fogos de Portugal baseado no fogos.pt, open source

53 Upvotes

Boas pessoal. No último fim de semana decidi fazer uma espécie de clone do fogos.pt como projeto pessoal e também para ver até onde o Fable 5 da Anthropic conseguia ir.

Está live aqui: fogosportugal.pt

Tem mapa em tempo real com os dados da ANEPC, camadas de meteorologia (radar de chuva, vento), páginas por concelho, estatísticas, notificações push e uma API GraphQL. Não está perfeito, os dados podem não estar 100% corretos e de certeza que existem bugs por aí espalhados, mas acho que pode ser útil para todos.

A ideia será abrir a API publicamente, via API Key (100% free) para que possam consultar livremente os dados e fazerem o que bem entenderem. Ainda está WIP mas devo ter isso orientado breve.

Outra coisa que também estou a pensar lançar, dentro deste projeto, é uma app mobile (expo + react native) com basicamente as mesmas features, mas onde as notificações seriam mais úteis.

Não tem publicidade nem monetização nenhuma, nem vai ter. O código está todo no GitHub portanto se quiserem contribuir, feel free: https://github.com/adamtrip-solutions/fogos-portugal

Stack: backend em .NET com GraphQL, frontend em React (TanStack Start) com SSR, tudo a correr em Docker.

Créditos totais ao Fogos.pt original, isto é baseado no trabalho deles. Fiz isto sobretudo para aprender e porque me pareceu um projeto giro, não para competir com ninguém.

r/devpt • • 10d ago

Projecto Nacional (OC) Fiz uma app de estudo open source que sincroniza o Moodle e monta um plano diário (Electron, SQLite, sem servidor)

44 Upvotes

Olá! Sou estudante de Engenharia Informática e passei o semestre a fazer o Caderno, uma app para Windows que uso para estudar. Abri o código e queria opinião de quem percebe disto.

O que faz

  • Liga-se ao Moodle (os mesmos Web Services que a app móvel oficial usa) e descarrega os PDFs e prazos das cadeiras para uma pasta local.
  • Monta um plano diário com base nas datas de exame e no tempo que tens em cada dia. Recalcula quando marcas um bloco como estudado.
  • Com IA (opcional), cada PDF ganha resumo, conceitos, flashcards, treino, simulado e explicações que apontam para a página de onde vieram.

Como está feito

  • Electron + Node 24, interface em JS sem framework.
  • SQLite local (node:sqlite), sem servidor nem contas: tudo fica no PC.
  • Texto dos PDFs extraído com unpdf.
  • IA com a chave da própria pessoa: Anthropic, OpenAI, DeepSeek, Groq (tem plano gratuito) ou qualquer API compatível com Chat Completions. A chave fica cifrada com AES-256-GCM.
  • Atualizações automáticas pelas releases do GitHub (electron-updater), build e testes no GitHub Actions.

Limitações que já sei

  • Só Windows, por agora.
  • O instalador não é assinado (a SignPath Foundation pediu mais reputação pública primeiro), por isso o SmartScreen avisa. O build é público no GitHub Actions e cada release tem o SHA-256 e a análise do VirusTotal.
  • Contas Moodle com SSO (entrada pela página da universidade ou com Microsoft/Google) não conseguem ligar; nesse caso dá para criar cadeiras à mão e enviar os ficheiros.
  • PDFs digitalizados sem texto ainda não são lidos (sem OCR).

Onde gostava de opinião

  1. Como resolveriam o login em Moodles com SSO sem pedir a palavra-passe? Estou a pensar no fluxo de token da app móvel.
  2. OCR local leve para PDFs digitalizados: Tesseract em WASM vale a pena dentro do Electron?
  3. Qualquer coisa no código que vos faça torcer o nariz.

Site: https://caderno.me Código (MIT): https://github.com/miguelaopt/caderno

r/devpt • • Jul 02 '26

Projecto Nacional (OC) Fiz uma extensão anti-burla para OLX/Idealista — código todo aberto, feedback?

Post image
38 Upvotes

Boas malta para quem quiser explorar sem dó nm piedade está open source a NETTUNO, eu fiz tudo com varias inteligencias artificiais, mas o claude code foi onde fiquei e terminei o project,cheguei aqui com muita ajuda de IA. por isso peço mesmo olhos de fora. abri tudo em open source, não só o cliente: o backend também (cloud functions, motor de scoring, regras firestore). licença MIT: https://github.com/NEWTOWN-BORGES/nettuno-extension

Link da web store pra quem quiser testar: https://chromewebstore.google.com/detail/nettuno/mgddelgeeeopanechjlbgelhbmnegdpl

as partes que mais me interessava ver criticadas:

o scoring dos votos (bayesiano + wilson, peso por confiança do votante) o anti-abuso: acabei de mover a votação toda para server-authoritative e trancar as regras pra ninguém forjar reputação — se virem furos, digam a arquitetura em geral

sei q essas AI falham e deixa escapar muita coisa, recebi vários feedbacks positivos e negativos melhorei o que podia mas acredito q tenha mais, não sou Dev sei o básico de python e javascript ainda estou aprendendo e tenho uma grande paixão pelo backend resolver problemas/bugs fazer a maquina trabalhar perco horas com a Ai tentando resolver vários problemas bugs, é uma cena q curtoi mesmo e estudo o maximo q posso. neste caso preciso mesmo de ajuda pois tudo me parece bem e a funcionar isto por um olhar de um iniciante acredito q pessoal q tenha mais experiancia pode ver o q nao estou a ver e a deixar escapar. obrigado e aguardo feedback.

r/devpt • • Aug 15 '26

Projecto Nacional (OC) Criei um tracker de filmes, séries, livros, jogos, animes e mangás open-source

0 Upvotes

Decidi lançar o TrackGeek, uma plataforma que unifica o tracking de múltiplos tipos de mídia em um só lugar.

Problema

Sempre achei que ter 5 apps no telemóvel para fazer o tracking de cada tipo de mídia individualmente era algo que tornava-se confuso e também ocupava espaço. Cheguei a usar o Simkl, Anilist, StoryGraph e o RankOne, mas mesmo assim eu sempre ficava insatisfeito com algumas das experiências oferecidas.

Ainda tentei procurar outras plataformas que fizessem o mesmo que o TrackGeek de poder juntar tudo, mas sempre encontrei problemas, ou os dados eram de certa forma limitados porque vinham de fontes que não tinham a maioria dos conteúdos ou a falta de funcionalidades importantes para mim como filtros ou um botão para aleatorizar o meu planning.

Então decidi fazer algo que tenha tudo isso junto com um amigo.

Stack

Decidi fazer tudo open-source e uma ideia bem aberta onde o TrackGeek seria um ecosistema bem grande com planos para apps nativas, extensões para o navegador e futuramente integrações para plataformas como o Stremio/Nuvio.

Para o front-end decidimos usar React + TanStack Start + Typescript.

Já para o back-end decidimos usar NestJS + Better Auth + Redis + Typescript.

Solução

O TrackGeek permite:

  • Trackear progresso de anime, games, filmes, séries, mangá e livros em um único perfil
  • Acessar estatísticas sobre hábitos de consumo
  • Conectar-se com amigos e comparar listas

O foco é ser um "banco de dados pessoal + social" para power users de entretenimento, com uma abordagem mais generalista e integrada que as soluções atuais.

Futuramente, pretendo implementar a integração com o Trakt e outras plataformas consolidadas. No entanto, como ainda não compreendo totalmente a arquitetura do Trakt para viabilizar essa conexão, necessito, de algum import mais completo dele.

Link: https://trackgeek.net

Se quiserem ajudar a testar, reportar bugs ou sugerir melhorias, estou à disposição nos comentários, assim como também nas Discussions do Github.

r/devpt • • 14d ago

Projecto Nacional (OC) Fiz um Jogo do Galo com IA (Python). Desafia o JEV 🤖

Thumbnail
github.com
0 Upvotes

Neste jogo jogamos contra o JEV, um decision model simples e rápido.

Projecto mesmo muito simples apenas para ver o JEV a funcionar.

Mesmo que não percebam nada de Python basta olhar para o código para ficar com uma idea de como funciona o JEV e começar a explorar as suas potencialidades.

EDIT: Caso não saibam o que é o JEV com uma pesquisa google (ou perguntado ao chatgpt) vão ficar com uma explicação de certeza melhor que a minha.

EDIT2: Agradeço em avanço as estrelas no github, ajudam a pagar as contas cá em casa ;)

r/devpt • • 11d ago

Projecto Nacional (OC) Projeto: Classificação de Objetos com Radares Automóveis: Uma Abordagem Multi-Scan em Nuvens de Pontos

Thumbnail
gallery
47 Upvotes

Olá a todos,

Construí um classificador de objetos radar sobre o RadarScenes, estendendo um classificador single-scan anterior para acumular observações ao longo do histórico de um objeto seguido (tracked), em vez de classificar cada scan isoladamente.

Uma única instância de objeto no RadarScenes contém, em média, apenas cerca de 2,9 pontos radar, ou seja, é muito esparsa. Um único scan também não consegue captar características temporais: o RCS e o micro-Doppler variam continuamente à medida que o objeto se move. Os peões produzem um micro-Doppler característico do movimento dos membros, e as diferentes classes de objetos apresentam padrões distintos de flutuação do RCS à medida que o ângulo de aspeto e a geometria de scattering mudam de scan para scan. Acumular observações dá maior densidade de pontos e fornece dinâmica temporal.

Baseline multi-scan

Encoder DeepReflecs (Ulrich, Glaser & Timm, RadarConf 2021), estilo PointNet, com pesos partilhados por ponto, em single scans, nas classes car, large_vehicle, two_wheeler, pedestrian e pedestrian_group: 0,7370 de macro F1.

Usando o track_id persistente do RadarScenes, construo um buffer causal, N=20, em sliding window por track:

  • x_seq/y_seq: coordenadas globais, corrigidas por odometria, recentradas em cada scan no centroide do objeto. Ao contrário de x_cc/y_cc (coordenadas no referencial do carro, que se acumulam ao longo do tempo e formam uma trajetória).
  • Buffer cross-sensor: qualquer um dos 4 sensores que esteja a observar o track nesse momento escreve para o mesmo buffer.
  • Stride 1, causal: cada novo scan atualiza o buffer e produz uma previsão. Sem contexto futuro, compatível com streaming em tempo real.
  • Cada scan é codificado uma única vez por um encoder per-scan congelado (frozen) e guardado em cache.
  • A fusão concatena o hidden state do GRU causal (sensível à ordem) com um embedding agregado (pooled) invariante à ordem (todos os pontos dos N scans como um único conjunto, sem estrutura de sequência), através de uma pequena MLP head treinada.

Resultados

Modelo Macro F1 Delta
Single scan 0,7370 (baseline)
Pooling de pontos de 20 scans 0,8613 +0,1243
GRU causal 0,8895 +0,0282 sobre o pooling
GRU + pooled embedding (fusão) 0,8897 +0,0002 sobre o GRU, ruído

Só o pooling, sem modelo de sequência e sem qualquer noção da ordem dos scans, recupera +0,1243 de macro F1. O GRU acrescenta um ganho real, mas muito menor: +0,0282. A fusão não acrescenta nada mensurável além do GRU.

Ablation

GRUs maiores, um Transformer, um state space model e self-attention ao nível do ponto, todos treinados exatamente sobre os mesmos embeddings per-scan congelados, ficam dentro de uma banda de 0,86 a 0,89, uma dispersão de 0,03. O fine-tuning end-to-end do encoder congelado piora ligeiramente os resultados (cerca de -0,002 a -0,003), em vez de os melhorar.

Conclusão

Neste setup, o maior ganho vem de dar ao modelo mais observações do mesmo objeto seguido: o pooling de pontos de 20 scans melhora o macro F1 de 0,7370 para 0,8613 sem usar a ordem dos scans.

A modelação temporal traz depois uma melhoria adicional, e significativa. O GRU causal chega a 0,8895, acrescentando +0,0282 sobre a representação com pooling. Portanto, a ordem temporal contribui claramente com informação útil, mas explica uma parcela menor do ganho total do que a acumulação de observações.

Com o encoder per-scan congelado, o facto de as diferentes arquiteturas de sequência testadas ficarem todas na mesma banda sugere que o bottleneck é a qualidade da representação per-scan, mais do que o mecanismo concreto usado para agregar a sequência.

Podem ler o relatório completo em https://github.com/brunopinto900/radar-ml-autonomous-driving/blob/main/final_report.md

r/devpt • • 18d ago

Projecto Nacional (OC) Portugal Live: mapa open-source de dados públicos portugueses — feedback e contribuições

22 Upvotes

Olá a todos,

Tenho estado a desenvolver o Portugal Live, um mapa para explorar dados de interesse público em Portugal. A ideia foi inspirada pelo God’s Eye View.

A ideia do Portugal Live é reunir várias fontes numa interface geográfica, mantendo visíveis a origem, a hora dos dados e as limitações de cada camada.

Neste momento inclui sismos e avisos meteorológicos do IPMA, ocorrências de incêndios, posições de aviões, deteções térmicas de satélite, marés, qualidade do ar e localizações de câmaras públicas com ligação às páginas de origem.

O repositório ficou agora público e gostava de receber feedback e contribuições. O projeto ainda é um MVP e não tem uma demo pública alojada; pode ser executado localmente seguindo as instruções do README.

Há várias áreas onde ajuda seria bem-vinda: UX e acessibilidade do mapa, testes, documentação e integração ou validação de fontes. Cada fornecedor tem as suas próprias condições de acesso e reutilização, por isso estas estão a ser documentadas separadamente. O código está sob licença MIT.

GitHub: https://github.com/gpirescampos/portugal-live

Se tiverem sugestões ou encontrarem problemas, podem abrir uma issue ou deixar feedback aqui. Quem quiser contribuir pode consultar o CONTRIBUTING.md no repositório.

r/devpt • • Sep 19 '24

Projecto Nacional (OC) Queriam aqui quase todos que eu usasse uma AWS (em vez de uma VPS), mas já vou com 250k pedidos por dia. Num serviço completamente gratuito e sem publicidade, seria a minha falência ;)

Post image
115 Upvotes

r/devpt • • 27d ago

Projecto Nacional (OC) Open Source Real-Time Chess Assistant (C++ DirectX, OpenCV, ImGui and Stockfish)

10 Upvotes

Não sei se isto interessa a alguém mas há cerca de 2 anos fiz este projeto, que é um assistente de xadrez open-source feito em C++ que "vê" o tabuleiro diretamente no ecrã e sugere as melhores jogadas em tempo real.

O objetivo era criar uma ferramenta universal que funcionasse em qualquer site ou aplicação desktop sem recorrer a extensões, scraping ou packet interception.

Tenho a certeza que há ali falhas de design, más práticas de C++ (usei C++17) ou coisas menos "polidas" digamos assim, mas acho que o produto final até ficou fixe.

Link para o repo: https://github.com/rccmb/oracle

Perguntas e críticas são sempre bem-vindas!

r/devpt • • Jan 30 '26

Projecto Nacional (OC) Criei uma calculadora de salário líquido para 2026 (Recibos Verdes vs Contrato) para me ajudar, alguém quer testar?

10 Upvotes

Pessoal, sou dev e cansei de nunca saber quanto ia sobrar no meu bolso com as mudanças de escalões de 2026. Fiz uma calculadora para uso próprio que compara Recibos Verdes vs. Lda vs. Conta de Outrem. Alguém topa testar e ver se os valores batem com o que o vosso contabilista diz?

r/devpt • • Apr 16 '26

Projecto Nacional (OC) [Ferramenta] IRS Helper – preenche automaticamente os Anexos G e J do IRS com os dados das corretoras

33 Upvotes

Olá a todos,

Como este ano tinha muitas linhas por preencher no IRS, desenvolvi uma pequena aplicação para ajudar quem investe através de corretoras como a XTB ou a Trade Republic e tem de preencher o IRS todos os anos à mão — nomeadamente os Anexos G e J.

IRS Helper: https://irs-helper.vercel.app

GitHub: https://github.com/almeiduh/irs-helper

A ideia é simples:

  1. Obter o teu XML pré-preenchido do Portal das Finanças

  2. Juntar os PDFs de relatórios das corretoras, e a aplicação extrai os dados e insere-os automaticamente nas tabelas certas.

  3. No final é possível ver um resumo do que foi alterado e um comparador antes/depois, antes de descarregar o ficheiro para importar nas Finanças.

**Privacidade em primeiro lugar:** tudo corre no teu browser, nenhum ficheiro é enviado para nenhum servidor (funciona com a internet desligada)

**Limitações atuais:** algumas funcionalidades ainda estão em falta. A razão é simples — desenvolvi isto com os meus próprios ficheiros, e não tenho acesso a outros tipos de relatórios para os testar e implementar corretamente. Se alguém quiser ajudar com ficheiros de exemplo (anonimizados), fico grato :).

O feedback é muito bem-vindo, espero que possa poupar tempo a alguém nesta época de IRS. Lembrem-se sempre de no final validar manualmente antes de submeter :)

r/devpt • • Jul 29 '26

Projecto Nacional (OC) Boas pessoal! Alguém me ajuda a testar esta app no Windows?

8 Upvotes

Desenvolvi uma app para comprimir imagens que me tem dado bué jeito, e juntei nela duas coisas pessoais: 1) obrigar-me a voltar a desenhar. Gosto muito, mas fui deixando de o fazer; 2) ter num só sítio características específicas que não encontrava fáceis juntas.

Chama-se Fart Compressor. Há mil compressores por aí, é tudo "Image" e "Optim"... o meu é um gajo a soltar-se, desenhado à mão. E a ilustração do cabeçalho muda todos os meses (um desenho novo meu, a desculpa perfeita para me obrigar a pegar no lápis outra vez; como uso a app quase todos os dias, sei que me vou lembrar).

Stack: Tauri (Rust + frontend web).
O que faz: comprime imagens com saída em AVIF, WebP, JPEG e PNG; converte PSD (algo de que eu precisava e nunca encontrei como queria) comprime PDF e ainda comprime vídeo para MKV.

Não consigo partilhar um vídeo da app a comprimir, mas deixo imagens:

Agora o pedido:
Trabalho em macOS. A app nasceu lá. Estive de férias e sem o Mac à mão. Tive de comprimir imagens por um site na web. Então pensei: "tenho de fazer isto para Windows". Compilei mas nunca corri no Windows. Alguém disponível para experimentar e mandar-me uns prints?

ATENÇÃO: A app não está assinada. O Windows deve mostrar uma janela de perigo. No Mac precisei de lhe dar permissão manualmente, no Windows será igual.

É opensource. O código está todo no repo, podem compilar vocês, se não quiserem correr um.EXE assim do nada. 😅

O que me ajudava saber:

  1. Que versão do Windows tens e qual o aviso de segurança que apareceu ao instala.

  2. Se a ilustração do cabeçalho carregou. Puxo-a de um servidor e troquei a imagem depois de compilar, para testar o update automático (no Mac está operacional). Com net e sem net devem aparecer imagens diferentes.

3. a compressão correu bem? Que tipos de ficheiro testaste.

Qualquer feedback é bem-vindo. Obrigado e desculpem o tamanho do post! 🙏

LINK: https://github.com/FluxoWebfolio/FartCompressor

r/devpt • • May 08 '26

Projecto Nacional (OC) Criámos uma app de listas partilhadas e precisamos de feedback real 👀

4 Upvotes

Boas 👋

Eu e a minha namorada fartámo-nos de perder notas e tarefas no meio de mensagens, screenshots e apps diferentes, então decidimos criar uma solução simples para isso.

Lançámos recentemente a Tiko List — uma app de listas partilhadas focada em ser rápida, simples e agradável de usar.

A ideia não é competir com ferramentas mega complexas de produtividade. Queríamos algo leve e prático para:

  • listas de compras
  • tarefas partilhadas
  • viagens
  • organização entre casais, amigos ou colegas de casa

Já está disponível na App Store:
https://apps.apple.com/pt/app/tiko-list-listas-partilhadas/id6765862694

Website:
https://tiko-app.com/

Estamos mesmo à procura de feedback honesto de pessoas de tech/dev:

  • UX/UI
  • onboarding
  • performance
  • bugs
  • funcionalidades que sentem falta
  • coisas confusas ou desnecessárias

Ainda está numa fase inicial, por isso qualquer opinião pode influenciar bastante a direção da app.

Obrigado a quem perder 5 minutos a testar 🙏

r/devpt • • May 12 '26

Projecto Nacional (OC) Fiz um scraper de ofertas de emprego para Portugal

37 Upvotes

Estava farto de andar a abrir o Indeed/LinkedIn todos os dias à procura de estágios de verão, então fiz um scraper em Python que agrega ofertas de várias fontes portuguesas de uma vez.

Lê o teu CV, gera keywords com IA e tem um dashboard local para acompanhar candidaturas. Funciona para estágios, full-time, o que for.

Para quem quiser ver o video a funcionar

Ainda está muito cru (cheio de bugs e alguns problemas, mas vou dando update quando tenho tempo).
Se alguém quiser contribuir ou criar um domínio para isto está aqui o repo.
Repo:https://github.com/Lozano-Miguel/ai-job-hunter

Update: Adicionei mais 3 fontes (Landing.jobs, TechJobs.pt, Expresso Emprego — 8 no total), redesenhei o CLI e corrigi vários bugs. Dashboard também melhorado com filtros para todas as fontes.

r/devpt • • Jun 24 '26

Projecto Nacional (OC) Ao tentar arrendar casa no idealista/olx deu-me a ideia pra isto — fiz uma extensão com ajuda de ia, é open-core, e queria mesmo feedback técnico

Post image
0 Upvotes

há um tempo eu precisava de arrendar casa com urgencia, e no idealista, olx etc ai me aprcebi q ou era burla ou ninguém respondia.

teve um anúncio no idealista que me ficou na cabeça: 1500 vistas, 200 mensagens eu nao obtive resposta e fiquei a pensar quantas dessas 200 pessoas é que conseguiram mesmo falar com o anunciante, e quantas só perderam tempo. essa informação estava toda la e ninguém via, cada um passava pela sua experiencia no anúncio sozinho.

foi daí que saiu a nettuno — extensão que põe um "escudo" de confiança nos anúncios (olx, idealista, vinted, ebay...), misturando heurísticas próprias com a experiência de quem já passou por ali. não sou programador, então fui com ajuda de ia que consegui chegar aqui sozinho. tá na chrome web store: https://chromewebstore.google.com/detail/nettuno-%E2%80%94-prote%C3%A7%C3%A3o-contra/mgddelgeeeopanechjlbgelhbmnegdpl

é open-source público em mit: https://github.com/NEWTOWN-BORGES/nettuno-extension

se alguém quiser dar uma olhada e dizer o que acha (arquitetura, falhas que eu não tenha visto, o modelo open-core em si), agradeço mesmo.

r/devpt • • Jan 17 '26

Projecto Nacional (OC) bacalhau - Player IPTV para uso self-hosted

98 Upvotes

Lancei recentemente a **v1.0.0** de um projeto open-source chamado **bacalhau** — um player IPTV self-hosted pensado para quem corre coisas em casa (NAS, homelab, Docker, etc.).

Não é um serviço nem vende nada. É só software para correr localmente.

O projeto suporta:

* Playlists **M3U / M3U8** (locais ou remotas)

* **Xtream**

* **EPG XMLTV**

* Gravação de streams ao vivo

* Transcoding com **aceleração por GPU** (se houver)

* Deploy simples via **Docker Compose**

Chegou agora à **v1.0.0**, mas estou à procura de **testers**:

* Diferentes providers

* Diferentes setups (NAS, VPS, GPU vs CPU)

* Feedback real de uso diário

Repo: https://github.com/filipeneves/bacalhau

Site: https://bacalhau.app

Quem quiser testar, reportar bugs ou mandar ideias, é mais que bem-vindo.

Críticas honestas são preferidas a elogios vazios.

AI Disclaimer:
Comecei este projeto em fevereiro de 2025. Inicialmente, o objetivo era desenvolver uma aplicação Electron para visualizar canais IPTV. No entanto, o scope evoluiu para uma aplicação self-hosted, permitindo o acesso ao IPTV através de qualquer browser, desde que o utilizador tenha uma VPN para casa.

Embora grande parte da lógica tenha sido originalmente desenvolvida para outro use case, recorri a ferramentas de AI para acelerar a adaptação e conversão do projeto para o estado atual. Dito isto, sim, a aplicação foi assistida por AI — mas o design, as decisões e a implementação final são inteiramente minhas.

r/devpt • • Jul 03 '26

Projecto Nacional (OC) Projeto pessoal: Um drone que constrói o mapa enquanto persegue um alvo

26 Upvotes

Boas pessoal! Quero partilhar um projeto pessoal. Implementei um conjunto de algoritmos, onde o drone navega e evita obstáculos de forma dinâmica, sem mapa prévio. Podem ver um render aqui: https://github.com/brunopinto900/Vista-Tracker/blob/main/README.md

Funciona da seguinte forma: O drone começa às cegas. Só conhece o que a câmara vê no momento. Se o obstáculo está longe do alcance da câmera, ele não existe e o planeador adapta-se em tempo real apenas com o que foi descoberto e planeia um caminho que evita obstáculos. Depois controla os motores para seguir esse caminho.

O plano para os próximos tempos é introduzir mais realismo no sistema e passar do simulador para um drone real.

Usei extensivamente o Claude para visualização e renderings, leitura/escrita de logs e refactoring.

Muito obrigado.

r/devpt • • Jun 26 '26

Projecto Nacional (OC) Fiz um cliente de ssh com suporte para tmux

Thumbnail
dotmux.dotpt.com
6 Upvotes

Estava cansado das combinações ctrl+b para mudar de janelas no tmux por isso decidi fazer um cliente de SSH para iOS com suporte nativo de tmux. Suporta alternar entre múltiplas sessões e janelas com menus, os painéis ficam em janelas diferentes no iPhone para ser mais legível mas mantêm a divisão original no iPad.

O que me deu mais gozo neste projecto, para além de resolver o meu problema, é que desenvolvi quase tudo a ligar-me ao meu Mac Mini por SSH (tanto do portátil como telefone/tablet):
\- numa nova janela começo uma worktree no Claude Code
\- vou iterando tanto por SSH como pela app do Claude
\- criei um workflow no GitHub que gera uma nova build (0.0.<número de PR>) no TestFlight para cada PR com a label TestFlight
\- testo no telefone ou iPad
\- quando estou contente faço merge, o que vai criar uma nova build

A app é grátis com limite para um servidor, com IAP para retirar esse limite. Não tem publicidade e não recolho qualquer tipo de dados a não ser que ativem os logs de diagnóstico, mas mesmo aí só saem da app por vossa iniciativa.

Se a app ou o meu método vos for útil testem e dêem-me o vosso feedback.

r/devpt • • Aug 23 '26

Projecto Nacional (OC) [Showcase] LEGER_OS: App de finanças pessoais que usa um Notification Listener nativo no Android em vez de Open Banking

0 Upvotes

Boas malta,

Nos últimos meses desenvolvi o LEGER_OS, uma plataforma de gestão e inteligência financeira pessoal pensada de raiz para automação com zero partilha de credenciais bancárias.

O projeto nasceu da frustração com os agregadores Open Banking tradicionais (Salt Edge, GoCardless, etc.), que exigem subscrições caras, sofrem de instabilidade frequente com bancos portugueses (falhas de sincronização e reautenticações obrigatórias) e não suportam pagamentos via MB WAY.

Em vez de recorrer a APIs bancárias externas, a arquitetura do LEGER_OS aposta no processamento local no dispositivo com várias funcionalidades dinâmicas:

  • Deteção Dinâmica de Aplicações no Telemóvel: O plugin nativo em Java (NotificationListenerService) enumera automaticamente as apps instaladas no telemóvel do utilizador. Não há listas fechadas: o utilizador escolhe com um toque quais as apps que pretende monitorizar (bancos tradicionais, MB WAY, fintechs como Revolut/Wise, carteiras digitais ou corretoras como XTB e Trade Republic).
  • Processamento em Memória & Privacidade Total: Quando é emitido um push de transação, um pipeline de parsing em memória extrai de imediato o montante, moeda e comerciante. Mensagens privadas, OTPs, SMS de autenticação e códigos 2FA são filtrados e descartados no próprio telemóvel antes de qualquer envio para o servidor.
  • Radar de Subscrições & Recorrências: Motor de deteção de cadências que identifica automaticamente pagamentos fixos (mensais e anuais), antecipa débitos futuros e alerta para aumentos de preço.
  • Ciclos de Rendimento Dinâmicos: Acompanhamento flexível que se molda ao dia real em que o salário entra na conta, recalcula automaticamente os orçamentos por categoria em vez de impor o mês civil rígido.
  • Algoritmo Próprio de Projeção de Liquidez: Modelo estatístico configurável com decaimento exponencial (recency decay), onde o utilizador pode calibrar a sensibilidade dos gastos recentes vs. histórico longo, projetar intervalos de confiança (otimista, realista e conservador) e deduzir compromissos fixos até ao próximo ordenado.
  • Stack: Frontend em Next.js 16.2 (App Router com Turbopack), React 19, Tailwind CSS 4 e Supabase (PostgreSQL com RLS estrito), empacotado para Android através de Capacitor 6.

O código-fonte, a versão web e o instalador nativo estão disponíveis para testes:

(A aplicação foi desenhada com foco prioritário no formato mobile).

Gostava de recolher o vosso feedback sobre a arquitetura da solução, a eficiência do listener ou sugestões de melhorias para as próximas versões!

r/devpt • • Jun 06 '26

Projecto Nacional (OC) Fiz um site simples para encontrar arraiais dos Santos em Lisboa sem abrir ficheiros Excel

42 Upvotes

Boas malta,
Andei a fazer um site para os Santos Populares em Lisboa: SantosLX (santoslx.pt). A ideia nasceu de uma irritação bastante simples: eu não concordo muito com a ideia de ter de abrir um Excel, andar a filtrar linhas, procurar datas, bairros e nomes de arraiais, só para perceber onde vou beber uma imperial e ouvir música nessa noite.

A minha linha de raciocínio foi esta: os Santos duram pouco tempo, a informação é quase toda pública e relativamente estática, e a decisão normal de uma pessoa é muito básica: "Que há hoje?", "o que há neste bairro?", "onde fica isto no mapa?". Para mim isto devia estar num sítio fácil de abrir no telemóvel, sem fricção e sem obrigar ninguém a abrir uma folha de cálculo no telemóvel.

Sei que há apps e listas que já tentam resolver isto, e não estou a dizer que sejam inúteis. Simplesmente, para mim, este caso de uso encaixa melhor num link do que numa app instalada. A época dos Santos é curta, a informação muda pouco e eu só quero abrir, escolher o dia ou o bairro, ver o sítio e seguir.
Tentei dar alguma atenção ao detalhe sem transformar isto num projeto gigante. Há agenda por dia, eventos por bairro, mapa e páginas próprias para alguns bairros.

E sim, admito que usei IA para acelerar a base do código, que hoje em dia é o novo normal na nossa área. Só quis garantir que o resultado não ficava com aquele ar de "site de IA" genérico, com cartões iguais a todos os outros e texto sem sal. Isto é sobre festa popular, não sobre preencher despesas.

O truque técnico mais útil foi usar Cloudflare Pages para o site e Cloudflare R2 para servir o JSON do calendário. A razão foi simples: reduzir custo e complexidade ao máximo. Não queria backend, não queria base de dados, não queria uma coisa que desse trabalho a manter por causa de uma agenda de um mês. O frontend é estático, mas vai buscar calendario.json a um domínio público. Quando atualizo os dados, faço upload do JSON para o R2, meto cache no edge e depois faço *cache purge* só dessa zona (sirvo o ficheiro com um TTL de 5m). Se o link circular mais do que estava à espera, também durmo melhor porque a Cloudflare aguenta isto a custo zero, muito melhor do que um backend manhoso feito à pressa.

Não é nada de revolucionário, mas acho que resolve um problema chato de forma limpa. Feedback é bem-vindo, principalmente se virem eventos mal mapeados, horários estranhos ou bairros que estejam a cair no sítio errado!

r/devpt • • Nov 15 '24

Projecto Nacional (OC) Ganhei coragem para criar um canal

127 Upvotes

Bom, é isso que leram no titulo, sempre fui muito reservado e envergonhado mas tinha o sonho de ajudar a comunidade de programação em Portugal, finalmente ganhei coragem, criei o canal e lancei o primeiro video, nota se bastante que estou super nervoso no vídeo mas decidi postar na mesma pois acredito que aos poucos ganhe mais confiança, quem quiser apoiar e seguir a série aqui vai: https://youtu.be/JbEKtIc5i9A?si=RHaphCakpcYxuchC . Obrigado a todos os que apoiarem e por favor dêm conselhos e criticas construtivas, vou ouvir todas.