Opportunity Aggregator banner

Opportunity Aggregator

2 devlogs
13h 16m 9s
Repository

Loading README...

ChefThi

From simple scraper to AI‑assisted matchmaker (while commuting between classes) 🚏💼

Opportunity Aggregator started in January as a very simple experiment: a Python bot, a SQLite file, and a basic TabNews parser. Then college kicked in, Blueprint deadlines appeared, and I found myself coding on short windows between bus rides and homework instead of doing long, focused sprints. That’s why the commit history shows an initial burst in January and then a big jump only now.

During that gap I spent more time thinking than committing: what makes this different from a fancy RSS reader? The interesting piece is the match score — using AI to tell you how well each opportunity fits your profile, instead of just dumping links. I used Perplexity a lot in this phase to explore architecture ideas: how many sources, how to model user profiles, how aggressive the AI usage should be, and how to keep things cheap and robust.
The latest commit is where all that background thinking finally lands in code: I implemented a Super MVP with a proper SQLite persistence layer and a multi‑tier AI fallback strategy (Gemini as the primary brain, with dynamic model discovery as a fallback) to score opportunities. The scraper stack now has a cleaner structure and is ready for more sources.

It’s still early, but now the project feels like an actual assistant instead of a script. Next steps: Telegram commands for /match and /today, plus a daily digest flow so it can ping me with the top 3 fits while I’m literally on the bus to college. 🚌✨

Attachment
Attachment
Attachment
0
ChefThi

Título: Setup Inicial, Faxina no Git e Integração com TabNews
Data: 2026-01-25

Commits:

  • b966db7 — feat: implementa parser para buscar notícias do TabNews
  • 89f8288 — chore: stop tracking venv and internal config files
  • d41b700 — Criei o arq bot.py e estou me preparando para o primeiro Devlog :)
  • af2779b — Iniciando o projeto com os primeiros arquivos
  • a98014e — Initial commit

Resumo:
Iniciei o Opportunity Aggregator para centralizar chances acadêmicas e tech. O foco foi estruturar o ambiente, criar a base do bot no Telegram e implementar um parser para coletar dados reais via RSS. Este início foi um mergulho prático em bibliotecas novas e conceitos de versionamento.

O que foi feito:

  • Estruturação: Configuração de .gitignore e requirements.txt para um ambiente organizado.
  • Bot Base: Criação do bot.py com comandos /start e /ping usando ‘python-telegram-bot’.
  • Parser RSS: Uso da lib ‘feedparser’ para extrair os 5 posts mais recentes do TabNews.
  • Segurança: Uso do ‘python-dotenv’ para gerenciar o token do bot de forma segura.

Dificuldades e Aprendizado Ativo:
Enfrentei desafios logo de cara. Um erro comum foi subir a pasta ‘venv’ para o GitHub. Isso me forçou a aprender comandos avançados de Git, (não q vou lembrar muito, mas usei 🫡😁) como ‘git rm –cached’, para limpar o repositório sem perder os arquivos locais. Foi uma lição prática sobre o que não deve ser versionado.

Estou lidando com libs complexas como ‘python-telegram-bot’. Em vez de só copiar código, estou lendo a documentação para entender o “porquê” das coisas, como a lógica de funções assíncronas (async/await). A IA tem sido uma “Mentora”; ela explica a engrenagem por trás dos snippets, mas eu mesmo aplico e edito o código para garantir o aprendizado.

Resultados:
Bot operacional e parser extraindo dados reais com sucesso. Próximo passo: integrar o parser no comando /vagas do bot e iniciar os estudos com Supabase.

Attachment
0