costadev00 commited on
Commit
32193cf
·
0 Parent(s):

Reinitialize hf-space without binary PDFs

Browse files
Files changed (9) hide show
  1. .gitattributes +35 -0
  2. .gitignore +189 -0
  3. README.md +16 -0
  4. app.py +207 -0
  5. me/lattes.txt +723 -0
  6. me/linkedin.txt +245 -0
  7. me/summary.txt +6 -0
  8. requirements.txt +5 -0
  9. scripts/pdf_to_txt.py +20 -0
.gitattributes ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
.gitignore ADDED
@@ -0,0 +1,189 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Github's default gitignore for Python
2
+
3
+ # Byte-compiled / optimized / DLL files
4
+ __pycache__/
5
+ *.py[cod]
6
+ *$py.class
7
+
8
+ # C extensions
9
+ *.so
10
+
11
+ # Distribution / packaging
12
+ .Python
13
+ build/
14
+ develop-eggs/
15
+ dist/
16
+ downloads/
17
+ eggs/
18
+ .eggs/
19
+ lib/
20
+ lib64/
21
+ parts/
22
+ sdist/
23
+ var/
24
+ wheels/
25
+ share/python-wheels/
26
+ *.egg-info/
27
+ .installed.cfg
28
+ *.egg
29
+ MANIFEST
30
+
31
+ # PyInstaller
32
+ # Usually these files are written by a python script from a template
33
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
34
+ *.manifest
35
+ *.spec
36
+
37
+ # Installer logs
38
+ pip-log.txt
39
+ pip-delete-this-directory.txt
40
+
41
+ # Unit test / coverage reports
42
+ htmlcov/
43
+ .tox/
44
+ .nox/
45
+ .coverage
46
+ .coverage.*
47
+ .cache
48
+ nosetests.xml
49
+ coverage.xml
50
+ *.cover
51
+ *.py,cover
52
+ .hypothesis/
53
+ .pytest_cache/
54
+ cover/
55
+
56
+ # Translations
57
+ *.mo
58
+ *.pot
59
+
60
+ # Django stuff:
61
+ *.log
62
+ local_settings.py
63
+ db.sqlite3
64
+ db.sqlite3-journal
65
+
66
+ # Flask stuff:
67
+ instance/
68
+ .webassets-cache
69
+
70
+ # Scrapy stuff:
71
+ .scrapy
72
+
73
+ # Sphinx documentation
74
+ docs/_build/
75
+
76
+ # PyBuilder
77
+ .pybuilder/
78
+ target/
79
+
80
+ # Jupyter Notebook
81
+ .ipynb_checkpoints
82
+
83
+ # IPython
84
+ profile_default/
85
+ ipython_config.py
86
+
87
+ # pyenv
88
+ # For a library or package, you might want to ignore these files since the code is
89
+ # intended to run in multiple environments; otherwise, check them in:
90
+ # .python-version
91
+
92
+ # pipenv
93
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
94
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
95
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
96
+ # install all needed dependencies.
97
+ #Pipfile.lock
98
+
99
+ # poetry
100
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
101
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
102
+ # commonly ignored for libraries.
103
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
104
+ #poetry.lock
105
+
106
+ # pdm
107
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
108
+ #pdm.lock
109
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
110
+ # in version control.
111
+ # https://pdm.fming.dev/#use-with-ide
112
+ .pdm.toml
113
+
114
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
115
+ __pypackages__/
116
+
117
+ # Celery stuff
118
+ celerybeat-schedule
119
+ celerybeat.pid
120
+
121
+ # SageMath parsed files
122
+ *.sage.py
123
+
124
+ # Environments
125
+ .env
126
+ .venv
127
+ env/
128
+ venv/
129
+ ENV/
130
+ env.bak/
131
+ venv.bak/
132
+ llms/
133
+ llms.bak/
134
+
135
+ #vscode
136
+ .vscode/
137
+
138
+ #settings
139
+ .vscode/settings.json
140
+ # Spyder project settings
141
+ .spyderproject
142
+ .spyproject
143
+
144
+ # Rope project settings
145
+ .ropeproject
146
+
147
+ # mkdocs documentation
148
+ /site
149
+
150
+ # mypy
151
+ .mypy_cache/
152
+ .dmypy.json
153
+ dmypy.json
154
+
155
+ # Pyre type checker
156
+ .pyre/
157
+
158
+ # pytype static type analyzer
159
+ .pytype/
160
+
161
+ # Cython debug symbols
162
+ cython_debug/
163
+
164
+ # PyCharm
165
+ .idea/
166
+
167
+ # Added this to ignore models downloaded from HF
168
+ model_cache/
169
+ # Ignore finder files
170
+ .DS_Store
171
+ /.DS_Store
172
+
173
+ # Ignore Chroma vector database
174
+ vector_db/
175
+ products_vectorstore/
176
+
177
+ # And ignore any pickle files made during the course
178
+ *.pkl
179
+
180
+ # ignore gradio private files
181
+ .gradio
182
+ /.gradio
183
+
184
+ # ignore diagnostics reports
185
+ **/report.txt
186
+
187
+ # ignore optimized C++ code from being checked into repo
188
+ week4/optimized
189
+ week4/simple
README.md ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: carrer_twin
3
+ emoji: 💬
4
+ colorFrom: yellow
5
+ colorTo: purple
6
+ sdk: gradio
7
+ sdk_version: 5.42.0
8
+ app_file: app.py
9
+ pinned: false
10
+ hf_oauth: true
11
+ hf_oauth_scopes:
12
+ - inference-api
13
+ short_description: LLM clone para conversar sobre a carreira de Matheus Costa
14
+ ---
15
+
16
+ Aplicação Gradio que carrega o resumo, LinkedIn e currículo Lattes de Matheus Costa para responder perguntas em português utilizando a API da OpenAI.
app.py ADDED
@@ -0,0 +1,207 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import base64
2
+ import json
3
+ import os
4
+ import uuid
5
+ from datetime import datetime
6
+ from pathlib import Path
7
+
8
+ import gradio as gr
9
+ import requests
10
+ from dotenv import load_dotenv
11
+ from openai import OpenAI
12
+ from PyPDF2 import PdfReader
13
+
14
+
15
+ load_dotenv(override=True)
16
+
17
+ def push(text):
18
+ requests.post(
19
+ "https://api.pushover.net/1/messages.json",
20
+ data={
21
+ "token": os.getenv("PUSHOVER_TOKEN"),
22
+ "user": os.getenv("PUSHOVER_USER"),
23
+ "message": text,
24
+ }
25
+ )
26
+
27
+
28
+ def record_user_details(email, name="Name not provided", notes="not provided"):
29
+ push(f"Recording {name} with email {email} and notes {notes}")
30
+ return {"recorded": "ok"}
31
+
32
+ def record_unknown_question(question):
33
+ push(f"Recording {question}")
34
+ return {"recorded": "ok"}
35
+
36
+ def log_chat_interaction(user_message, assistant_response, history):
37
+ """Persist chat interactions as files inside a GitHub repo."""
38
+
39
+ owner = os.getenv("GITHUB_OWNER")
40
+ repo = os.getenv("GITHUB_REPO")
41
+ token = os.getenv("GITHUB_TOKEN")
42
+ branch = os.getenv("GITHUB_BRANCH", "main")
43
+
44
+ if not (owner and repo and token):
45
+ return
46
+
47
+ timestamp = datetime.utcnow().isoformat()
48
+ payload = {
49
+ "timestamp": timestamp,
50
+ "user_message": user_message,
51
+ "assistant_response": assistant_response,
52
+ "history": history or [],
53
+ }
54
+
55
+ content = json.dumps(payload, ensure_ascii=False, indent=2)
56
+ encoded_content = base64.b64encode(content.encode("utf-8")).decode("ascii")
57
+ file_id = uuid.uuid4().hex[:8]
58
+ path = f"sessions/{timestamp.replace(':', '-')}_{file_id}.json"
59
+
60
+ url = f"https://api.github.com/repos/{owner}/{repo}/contents/{path}"
61
+ headers = {
62
+ "Authorization": f"Bearer {token}",
63
+ "Accept": "application/vnd.github+json",
64
+ "X-GitHub-Api-Version": "2022-11-28",
65
+ }
66
+
67
+ data = {
68
+ "message": f"Log chat interaction at {timestamp}",
69
+ "content": encoded_content,
70
+ "branch": branch,
71
+ }
72
+
73
+ try:
74
+ resp = requests.put(url, headers=headers, json=data, timeout=15)
75
+ resp.raise_for_status()
76
+ except requests.RequestException as exc:
77
+ print(f"Failed to log chat interaction to GitHub repo: {exc}", flush=True)
78
+
79
+
80
+ record_user_details_json = {
81
+ "name": "record_user_details",
82
+ "description": "Use esta ferramenta para registrar que um usuário está interessado em entrar em contato e forneceu um endereço de e-mail",
83
+ "parameters": {
84
+ "type": "object",
85
+ "properties": {
86
+ "email": {
87
+ "type": "string",
88
+ "description": "O endereço de e-mail deste usuário"
89
+ },
90
+ "name": {
91
+ "type": "string",
92
+ "description": "O nome do usuário, se fornecido"
93
+ },
94
+ "notes": {
95
+ "type": "string",
96
+ "description": "Qualquer informação adicional sobre a conversa que seja relevante para registrar o contexto"
97
+ }
98
+ },
99
+ "required": ["email"],
100
+ "additionalProperties": False
101
+ }
102
+ }
103
+
104
+ record_unknown_question_json = {
105
+ "name": "record_unknown_question",
106
+ "description": "Sempre use esta ferramenta para registrar qualquer pergunta que não pôde ser respondida porque você não sabia a resposta",
107
+ "parameters": {
108
+ "type": "object",
109
+ "properties": {
110
+ "question": {
111
+ "type": "string",
112
+ "description": "A pergunta que não pôde ser respondida"
113
+ },
114
+ },
115
+ "required": ["question"],
116
+ "additionalProperties": False
117
+ }
118
+ }
119
+
120
+ tools = [
121
+ {"type": "function", "function": record_user_details_json},
122
+ {"type": "function", "function": record_unknown_question_json},
123
+ ]
124
+
125
+
126
+ class Me:
127
+
128
+ def __init__(self):
129
+ self.openai = OpenAI()
130
+ self.name = "Matheus Costa"
131
+ base_dir = Path("me")
132
+ self.linkedin = self._load_document(base_dir / "linkedin.txt", base_dir / "linkedin.pdf")
133
+ self.lattes = self._load_document(base_dir / "lattes.txt", base_dir / "lattes.pdf")
134
+ with open(base_dir / "summary.txt", "r", encoding="utf-8") as f:
135
+ self.summary = f.read()
136
+
137
+ def _load_document(self, txt_path: Path, pdf_path: Path) -> str:
138
+ if txt_path.exists():
139
+ return txt_path.read_text(encoding="utf-8")
140
+ if pdf_path.exists():
141
+ reader = PdfReader(str(pdf_path))
142
+ chunks = []
143
+ for page in reader.pages:
144
+ text = page.extract_text()
145
+ if text:
146
+ chunks.append(text)
147
+ return "".join(chunks)
148
+ return ""
149
+
150
+ def handle_tool_call(self, tool_calls):
151
+ results = []
152
+ for tool_call in tool_calls:
153
+ tool_name = tool_call.function.name
154
+ arguments = json.loads(tool_call.function.arguments)
155
+ print(f"Tool called: {tool_name}", flush=True)
156
+ tool = globals().get(tool_name)
157
+ result = tool(**arguments) if tool else {}
158
+ results.append({
159
+ "role": "tool",
160
+ "content": json.dumps(result),
161
+ "tool_call_id": tool_call.id,
162
+ })
163
+ return results
164
+
165
+ def system_prompt(self):
166
+ system_prompt = f"Você está atuando como {self.name}. Você está respondendo perguntas no site de {self.name}, \
167
+ particularmente perguntas relacionadas à carreira, histórico, habilidades e experiência de {self.name}. \
168
+ Sua responsabilidade é representar {self.name} nas interações no site da forma mais fiel possível. \
169
+ Você recebeu um resumo do histórico profissional, o perfil do LinkedIn e o currículo Lattes de {self.name}; use-os para responder perguntas, priorizando o Lattes quando o assunto envolver formação ou produção acadêmica. \
170
+ Seja profissional e envolvente, como se estivesse conversando com um potencial cliente ou futuro empregador que acessou o site. \
171
+ Se você não souber a resposta para alguma pergunta, use sua ferramenta `record_unknown_question` para registrar a pergunta que você não conseguiu responder, mesmo que seja algo trivial ou não relacionado à carreira. \
172
+ Se o usuário estiver engajado na conversa, tente direcioná-lo a entrar em contato por e-mail; peça o e-mail e registre-o usando sua ferramenta `record_user_details`."
173
+
174
+ system_prompt += f"\n\n## Resumo:\n{self.summary}\n\n## Perfil do LinkedIn:\n{self.linkedin}\n\n## Currículo Lattes (formação e produção acadêmica):\n{self.lattes}\n\n"
175
+ system_prompt += f"Com esse contexto, por favor converse com o usuário, sempre mantendo o personagem de {self.name}."
176
+ return system_prompt
177
+
178
+ def chat(self, message, history):
179
+ user_message = message
180
+ messages = (
181
+ [{"role": "system", "content": self.system_prompt()}]
182
+ + history
183
+ + [{"role": "user", "content": user_message}]
184
+ )
185
+ done = False
186
+ while not done:
187
+ response = self.openai.chat.completions.create(
188
+ model="gpt-5-nano-2025-08-07",
189
+ messages=messages,
190
+ tools=tools,
191
+ )
192
+ if response.choices[0].finish_reason == "tool_calls":
193
+ message = response.choices[0].message
194
+ tool_calls = message.tool_calls
195
+ results = self.handle_tool_call(tool_calls)
196
+ messages.append(message)
197
+ messages.extend(results)
198
+ else:
199
+ done = True
200
+ assistant_reply = response.choices[0].message.content
201
+ log_chat_interaction(user_message, assistant_reply, history)
202
+ return assistant_reply
203
+
204
+
205
+ if __name__ == "__main__":
206
+ me = Me()
207
+ gr.ChatInterface(me.chat, type="messages").launch(share=True)
me/lattes.txt ADDED
@@ -0,0 +1,723 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Nome
2
+ Matheus Costa Monteiro
3
+ Nome em citações
4
+ bibliográficas
5
+ MONTEIRO, M. C.
6
+ Lattes iD
7
+ http://lattes.cnpq.br/3420386831460864
8
+ País de
9
+ Nacionalidade
10
+ BrasilMatheus Costa Monteiro
11
+ Endereço para acessar este CV: http://lattes.cnpq.br/3420386831460864
12
+ ID Lattes: 3420386831460864
13
+ Última atualização do currículo em 27/10/2025
14
+ Possui bachar elado em Sistemas de Informação pela Universidade Federal de
15
+ Uberlândia, com experiência em Engenharia de Software, Inteligência Artificial e Teoria dos
16
+ Grafos. Conquistou 90 por cento de acertos (63/70) no POSCOMP 2025 4 maior nota da
17
+ história do exame , destacando-se entre as maior es referências nacionais. Atuou como
18
+ Engenheir o de Inteligência Artificial na Scale AI (2024 - 2025), contribuindo para o
19
+ desen volvimento da geração 2024 do GitHub Copilot, onde aplicou técnicas de fine-tuning
20
+ de LLMs (incluindo LoRA, RLHF e regularização) e análise de grandes conjuntos de dados,
21
+ elevando a acurácia dos modelos em 15 por cento e participando do lançamento de duas
22
+ versões do sistema. Entre 2022 e 2024, foi estagiário em Engenharia de Software na Algar
23
+ Telecom, desen volvendo soluções em redes móveis, APIs e sistemas distribuídos, além de
24
+ ser vencedor da Hackathon de Inteligência Artificial da empresa (2024) com um projeto
25
+ que gerou economia estimada em R$300 mil mensais. Na UFU, atuou como bolsista e
26
+ coordenador geral do programa PET-SI (2022 - 2024), ministr ando cursos de programação
27
+ competi tiva, estrutur as de dados e Cálculo , além de desen volver atividades de ensino ,
28
+ extensão e pesquisa. Destaca-se também pela criação e liderança do aplicativo Minha
29
+ Saúde APP (2017), desen volvido ainda no ensino médio , com mais de 15 mil downloads, e
30
+ pela conquista de duas edições da Mostr a de Software da FACOM Techweek (2022 e 2024).
31
+ Possui histórico sólido em competições de programação , com medalha na IX Maratona
32
+ Mineir a de Programação (2022) e premiações em diversos hackathons nacionais, incluindo
33
+ Ambev (2021), Algar (2024) e Adapta AI Challenge (2025). Atualmente (2025), desen volve
34
+ pesquisa na UFU, na área de escalonamento de tarefas em ambientes heterogêneos,
35
+ aplicando concei tos da Teoria dos Grafos para otimizar balanceamento de carga, reduzir
36
+ custo de energia e melhor ar a eficiência de sistemas distribuídos e do treinamento de
37
+ modelos de intel igência arti ficial. (Texto informado pelo autor)
38
+ Identificação
39
+ Formação acadêmica/ti tulação
40
+ 2021 - 2025
41
+ Graduação em Sistemas de Informação.
42
+ Universidade Federal de Uberlândia, UFU,
43
+ Brasil.
44
+ Título: Análise comparativa de algoritmos
45
+ de escalonamento de workflows
46
+ científicos em processadores
47
+ heterogêneos.
48
+ Orientador: Paulo Henrique Ribeiro
49
+ Gabriel.
50
+ Bolsista do(a): Fundação de Amparo à
51
+ Pesquisa do Estado de Minas Gerais,
52
+ FAPEMIG, Brasil.
53
+ 2025
54
+ Machine Learning Specialization. (Carga
55
+ horária: 80h).
56
+ Stanford University, STANFORD, Estados
57
+ Unidos.
58
+ 2024
59
+ curso.dev. (Carga horária: 200h).
60
+ Filipe Deschamps Tech Inc., FILIPE
61
+ DESCHAMPS, Canadá.
62
+ 2024 - 2024
63
+ MIT 6.S191 - Introduction to Deep
64
+ Learning. (Carga horária: 40h).
65
+ Massachusetts Institute of Technology,
66
+ MIT, Estados Unidos.
67
+ Vínculo institucional
68
+ 2022 - 2024
69
+ Vínculo: Bolsista, Enquadramento
70
+ Funcional: Coordenador Geral, Carga
71
+ horária: 20
72
+ Outras
73
+ informações
74
+ Pesquisa: Iniciação Científica em
75
+ escalonamento para processadores
76
+ heterogêneos (03/202305/2024, 8
77
+ h/sem), base do TCC. Ensino: organização
78
+ e ministração de cursos/monitorias
79
+ (algoritmos, ED, programaçãoFormação Complementar
80
+ Atuação Pr ofissional
81
+ Universidade Federal de Uberlândia, UFU, Brasil.
82
+ competitiva). Extensão: participação em
83
+ eventos e mostras de software; ações de
84
+ divulgação científica.
85
+ Vínculo institucional
86
+ 2022 - 2024
87
+ Vínculo: Estágio, Enquadramento
88
+ Funcional: Estagiário em Engenharia de
89
+ Software, Carga horária: 20
90
+ Outras
91
+ informações
92
+ Atuou como estagiário em Engenharia de
93
+ Software, onde trabalhou em quatro
94
+ projetos estratégicos que impactaram
95
+ diretamente a eficiência da empresa.
96
+ Desenvolveu o back-end da aplicação
97
+ interna "Janela de Acesso", utilizada por
98
+ mais de 5.000 colaboradores, e criou a
99
+ API "Conecct Master", que otimiza a
100
+ viabilidade de rede com integração ao
101
+ Google Maps, aplicando conceitos de
102
+ teoria dos grafos em C#. Participou da
103
+ sustentação de plataformas de rede
104
+ móvel, desenvolvendo soluções de rede e
105
+ sistemas distribuídos em Java. No projeto
106
+ "Rai.o", vencedor de uma hackathon de
107
+ IA, criou uma solução em Python e React
108
+ que reduz custos operacionais e
109
+ potencializa vendas, estimando uma
110
+ economia mensal de R$300.000 para a
111
+ empresa.
112
+ Vínculo institucional
113
+ 2022 - 2022
114
+ Vínculo: Bolsista, Enquadramento
115
+ Funcional: Tradutor e Criador de Desafios
116
+ de Programaçã, Carga horária: 10
117
+ Outras
118
+ informações
119
+ Atuou como tradutor e criador de desafios
120
+ de programação. Utilizou sua experiência
121
+ em maratonas de programação e sua
122
+ fluência em inglês para desenvolver novos
123
+ problemas para a plataforma,
124
+ contribuindo para o aumento da
125
+ variedade e complexidade dos desafios
126
+ disponíveis aos usuários.Algar Telecom, ALGAR, Brasil.
127
+ Beecrowd, BEECROWD, Brasil.
128
+ Atomic Agro, ATOMIC AGRO, Brasil.
129
+ Vínculo institucional
130
+ 2019 - 2019
131
+ Vínculo: Celetista, Enquadramento
132
+ Funcional: Desenvolvedor de Front-end,
133
+ Carga horária: 40, Regime: Dedicação
134
+ exclusiva.
135
+ Outras
136
+ informações
137
+ Na Atomic Agro, trabalhou como
138
+ desenvolvedor de front-end, focado no
139
+ desenvolvimento de interfaces mobile
140
+ utilizando React Native e ReactJS.
141
+ Participou de um ambiente de startup que
142
+ prioriza desenvolvimento ágil, onde
143
+ adquiriu experiência prática em liderança
144
+ e trabalho em equipe, além de aprimorar
145
+ habilidades em desenvolvimento rápido e
146
+ entrega de soluções eficientes para o
147
+ mercado.
148
+ Vínculo institucional
149
+ 2024 - Atual
150
+ Vínculo: Celetista, Enquadramento
151
+ Funcional: Engenheiro de Inteligência
152
+ Artificial, Carga horária: 40
153
+ Outras
154
+ informações
155
+ Engenheiro de Inteligência Artificial na
156
+ Scale AI, contribuindo para o
157
+ desenvolvimento do modelo CoPilot AI.
158
+ Responsável pela otimização das
159
+ respostas do modelo de IA, ajustando
160
+ parâmetros para melhorar a precisão e a
161
+ qualidade das respostas. Trabalha com
162
+ técnicas avançadas de programação em
163
+ Python e explora novas abordagens para
164
+ aprimorar a interpretabilidade e
165
+ generalização do modelo.
166
+ 2022 - 2024
167
+ Estudo comparativo de heurísticas de
168
+ escalonamento em processadores
169
+ heterogêneos
170
+ Descrição: Projeto durante minha
171
+ participação no PET (2022 - 2024). IncluiuScale AI, SCALE, Estados Unidos.
172
+ Projetos de pesquisa
173
+ Iniciação Científica registrada sob
174
+ DIREN/PET 061/2023, orientada por Prof.
175
+ Paulo Henrique Ribeiro Gabriel, com
176
+ vigência 31/03/2023 a 04/05/2024 e
177
+ dedicação de 8 h/semana. Tema:
178
+ comparação empírica de algoritmos de
179
+ escalonamento (HEFT, DLS, PEFT, IPEFT,
180
+ CPOP) em ambientes heterogêneos
181
+ modelados por DAGs, visando reduzir
182
+ makespan, melhorar balanceamento de
183
+ carga e waiting time. Serviu de base para
184
+ a monografia de TCC (2025)..
185
+ Situação: Concluído; Natureza: Pesquisa.
186
+ Alunos envolvidos: Graduação: (1) /
187
+ Doutorado: (1) .
188
+ Integrantes: Matheus Costa Monteiro -
189
+ Integrante / Paulo Henrique Ribeiro
190
+ Gabriel - Coordenador.
191
+ Número de produções C, T & A: 1
192
+ 2021 - 2021
193
+ Ambev-Tech Academy Hack
194
+ Descrição: Projeto desenvolvido como
195
+ parte do evento Academy Hack da
196
+ Ambev-Tech, com foco na criação de uma
197
+ solução de automação para classificação
198
+ de notas fiscais utilizando inteligência
199
+ artificial. Como embaixador do projeto
200
+ pela Universidade Federal de Uberlândia,
201
+ coordenou a participação de equipes e
202
+ desenvolveu uma solução que aplica
203
+ técnicas de IA para otimizar o processo de
204
+ classificação de documentos, reduzindo
205
+ tempo e custos operacionais. O projeto foi
206
+ reconhecido como destaque, contribuindo
207
+ para a inovação nos processos de
208
+ negócios da empresa..
209
+ Situação: Concluído; Natureza: Extensão.
210
+ Alunos envolvidos: Graduação: (10) /
211
+ Mestrado acadêmico: (1) / Doutorado: (2)
212
+ .
213
+ Integrantes: Matheus Costa Monteiro -
214
+ Coordenador / Rafael Dias Araújo -
215
+ Integrante / Jefferson Rodrigo de Souza -
216
+ Integrante / Leon de Morais Nunes -
217
+ Integrante.
218
+ 2021 - 2021
219
+ Tutoria de Programação Competitiva -
220
+ 2021
221
+ Descrição: Após ser campeão da
222
+ Maratona de Programação Algar em 2020,
223
+ fui convidado a atuar como tutor de
224
+ programação competitiva, ensinando
225
+ algoritmos e estruturas de dados a alunos
226
+ iniciantes interessados em competições
227
+ como o ICPC. As aulas focaram noProjetos de extensão
228
+ desenvolvimento de habilidades essenciais
229
+ para programação competitiva, incluindo
230
+ técnicas de resolução de problemas e
231
+ estratégias avançadas para algoritmos,
232
+ com o objetivo de preparar os alunos para
233
+ competirem em alto nível..
234
+ Situação: Concluído; Natureza: Extensão.
235
+ Alunos envolvidos: Graduação: (15) .
236
+ Integrantes: Matheus Costa Monteiro -
237
+ Coordenador.
238
+ 2020 - 2020
239
+ Jovens Programadores - 2020
240
+ Descrição: Como coordenador e tutor do
241
+ projeto Jovens Programadores, desenvolvi
242
+ uma ação de ensino e extensão voltada
243
+ para estudantes do ensino médio, com o
244
+ objetivo de introduzi-los ao mundo da
245
+ programação. O projeto ensinou conceitos
246
+ de lógica de programação, algoritmos
247
+ fundamentais e a linguagem C,
248
+ oferecendo uma base sólida para que os
249
+ jovens pudessem explorar carreiras e
250
+ estudos em áreas tecnológicas. O curso
251
+ focou em desenvolver o pensamento
252
+ lógico e as habilidades básicas de
253
+ programação..
254
+ Situação: Concluído; Natureza: Extensão.
255
+ Alunos envolvidos: Graduação: (2) .
256
+ Integrantes: Matheus Costa Monteiro -
257
+ Coordenador.
258
+ 2023 - 2023
259
+ Curso Preparatório para a Disciplina de
260
+ Estruturas de Dados do PET - 2023
261
+ Descrição: Minicurso para estudantes de
262
+ graduação, com o objetivo de preparar os
263
+ alunos para o entendimento e aplicação
264
+ de estruturas de dados. O curso aborda
265
+ temas essenciais como listas, pilhas, filas,
266
+ árvores e grafos, ajudando os alunos a
267
+ desenvolver habilidades em lógica e
268
+ algoritmos avançados..
269
+ Situação: Concluído; Natureza: Ensino.
270
+ Alunos envolvidos: Graduação: (50) .
271
+ Integrantes: Matheus Costa Monteiro -
272
+ Coordenador / Lucas Gabriel Teodoro
273
+ Araújo - Integrante.
274
+ 2022 - 2022
275
+ Curso Preparatório para a Disciplina de
276
+ Estruturas de Dados do PET - 2022/2Projetos de ensino
277
+ Descrição: Minicurso voltado para a
278
+ preparação de estudantes em estruturas
279
+ de dados, abordando tópicos como listas,
280
+ pilhas, filas, árvores e grafos. Esse curso
281
+ foi oferecido no segundo semestre de
282
+ 2022 para ajudar os alunos a fortalecerem
283
+ suas bases em algoritmos e lógica de
284
+ programação..
285
+ Situação: Concluído; Natureza: Ensino.
286
+ Alunos envolvidos: Graduação: (30) .
287
+ Integrantes: Matheus Costa Monteiro -
288
+ Coordenador / Lucas Gabriel Teodoro
289
+ Araújo - Integrante.
290
+ 2022 - 2022
291
+ Curso de C++ do PET - 2022
292
+ Descrição: Curso introdutório sobre a
293
+ linguagem de programação C++ para
294
+ alunos de graduação, abordando
295
+ fundamentos de programação, lógica e
296
+ estruturas de dados. O curso foi
297
+ direcionado para estudantes que desejam
298
+ aprofundar conhecimentos em uma
299
+ linguagem de baixo nível e preparar-se
300
+ para estudos mais avançados em
301
+ programação competitiva..
302
+ Situação: Concluído; Natureza: Ensino.
303
+ Alunos envolvidos: Graduação: (50) .
304
+ Integrantes: Matheus Costa Monteiro -
305
+ Coordenador / Lucas Gabriel Teodoro
306
+ Araújo - Integrante / Murielly Oliveira
307
+ Nascimento - Integrante.
308
+ 2022 - 2022
309
+ Curso Preparatório para a Disciplina de
310
+ Estruturas de Dados do PET - 2022/1
311
+ Descrição: Curso oferecido no primeiro
312
+ semestre de 2022 para preparar alunos de
313
+ graduação em estruturas de dados,
314
+ abordando tópicos como listas, pilhas,
315
+ filas, árvores e grafos. O curso visou
316
+ desenvolver habilidades em lógica e
317
+ resolução de problemas para aplicação em
318
+ disciplinas avançadas de algoritmos..
319
+ Situação: Concluído; Natureza: Ensino.
320
+ Alunos envolvidos: Graduação: (40) .
321
+ Integrantes: Matheus Costa Monteiro -
322
+ Coordenador / Lucas Gabriel Teodoro
323
+ Araújo - Integrante.
324
+ 2022 - 2022
325
+ Habilidades e Competências para o Século
326
+ XXI: Introdução à Programação de
327
+ Computadores
328
+ Descrição: Atuei como monitor no curso
329
+ "Habilidades e Competências para o
330
+ Século XXI: Introdução à Programação de
331
+ Computadores", realizado pelo
332
+ Laboratório de Direitos Humanos (LabDH)
333
+ da Faculdade de Direito da Universidade
334
+ Federal de Uberlândia (UFU). O curso foi
335
+ desenvolvido em parceria com a Fundação
336
+ de Apoio Universitário (FAU), com o apoio
337
+ do Tribunal Regional do Trabalho de Minas
338
+ Gerais (TRT-MG) e do Ministério Público
339
+ do Trabalho (MPT). Voltado para a
340
+ comunidade acadêmica e externa, o
341
+ objetivo do curso foi desenvolver
342
+ competências de programação,
343
+ capacitando os participantes para o
344
+ mercado de trabalho impactado pelas
345
+ novas tecnologias. Realizado no
346
+ laboratório de informática da UFU, o curso
347
+ contou com módulos presenciais aos
348
+ sábados, oferecendo um aprendizado
349
+ prático e interdisciplinar..
350
+ Situação: Concluído; Natureza: Ensino.
351
+ Alunos envolvidos: Graduação: (30) /
352
+ Mestrado acadêmico: (2) / Mestrado
353
+ profissional: (1) / Doutorado: (1) .
354
+ Integrantes: Matheus Costa Monteiro -
355
+ Integrante / Flávio de Oliveira Silva -
356
+ Integrante / Rodrigo Vitorino Souza Alves
357
+ - Coordenador.
358
+ 1.
359
+ Grande área: Ciências Exatas e da Terra /
360
+ Área: Ciência da Computação / Subárea:
361
+ Metodologia e Técnicas da
362
+ Computação/Especialidade: Engenharia
363
+ de Software.
364
+ 2.
365
+ Grande área: Ciências Exatas e da Terra /
366
+ Área: Ciência da Computação / Subárea:
367
+ Teoria da Computação/Especialidade:
368
+ Análise de Algoritmos e Complexidade de
369
+ Computação.
370
+ Português
371
+ Compreende Bem, Fala Bem, Lê Bem,
372
+ Escreve Bem.
373
+ Inglês
374
+ Compreende Bem, Fala Bem, Lê Bem,
375
+ Escreve Bem.
376
+ Espanhol
377
+ Compreende Razoavelmente, Fala
378
+ Razoavelmente, Lê Razoavelmente,
379
+ Escreve Razoavelmente.Áreas de atuação
380
+ Idiomas
381
+ 2025
382
+ Pódio - Adapta AI Challenge 2025,
383
+ Adapta.
384
+ 2025
385
+ POSCOMP 2025 ? 4ª maior nota da
386
+ história (63/70, 90%), Sociedade
387
+ Brasileira de Computação (SBC).
388
+ 2024
389
+ Vencedor da Hackathon de Inteligência
390
+ Artificial - Algar Telecom, Algar Telecom.
391
+ 2023
392
+ Vencedor da Mostra de Software FACOM
393
+ Techweek 2023 - jogo_da_velhAI,
394
+ Universidade Federal de Uberlândia.
395
+ 2022
396
+ Medalhista na IX Maratona Mineira de
397
+ Programação, Sociedade Brasileira de
398
+ Computação.
399
+ 2022
400
+ Menção Honrosa ICPC South America
401
+ Phase/First Phase rank: 96, ICPC.
402
+ 2021
403
+ Vencedor do Academy Hack - Ambev-
404
+ Tech, Ambev Tech.
405
+ 2020
406
+ Campeão da Maratona de Programação
407
+ Algar 2020, Algar Telecom e Universidade
408
+ Federal de Uberlândia.
409
+ 2020
410
+ Vencedor da Mostra de Software FACOM
411
+ Techweek 2020 - Minha Saúde APP,
412
+ Universidade Federal de Uberlândia.
413
+ 1.Prêmios e títulos
414
+ Produções
415
+ Produção bibliográfica
416
+ Resumos publicados em anais de congressos
417
+ MONTEIRO, M. C.; GABRIEL, P. H. R. . Plano de pesquisa -
418
+ Comparação de Algoritmos de Escalonamento em Sistemas de
419
+ Computação Heterogêneos Utilizando Teoria dos Grafos. In: IX
420
+ FACOM TechWeek e XVI Workshop de Teses e Dissertações em
421
+ Ciência da Computação, 2022, Uberlândia. IX FACOM
422
+ TechWeek e XVI Workshop de Teses e Dissertações em Ciência
423
+ da Computação, 2022.
424
+ 2.
425
+ MONTEIRO, M. C.. Trabalho de conclusão de disciplina -
426
+ 2019/1. In: V Mostra de Trabalhos de Empreendedorismo de
427
+ Monte Carmelo, 2019, Monte Carmelo. Algoritmos de
428
+ Recomendação e Personalização de Anúncios nas Empresa,
429
+ 2019.
430
+ 1.
431
+ GABRIEL, P. H. R. ; MONTEIRO, M. C. . Análise
432
+ comparativa de algoritmos de escalonamento de workflows
433
+ científicos em processadores heterogêneos. Uberlândia:
434
+ Universidade Federal de Uberlândia (UFU) ? Sistemas de
435
+ Informação, 2025 (Trabalho de conclusão de curso
436
+ (Graduação)).
437
+ 1.
438
+ MONTEIRO, M. C.. jogo_da_velhAI. 2024.
439
+ 1.
440
+ MONTEIRO, M. C.; PEREIRA, J. H. S. . Maratona de
441
+ Programação (ICPC). 2022.
442
+ 1.
443
+ MONTEIRO, M. C.. Vencedor da Hackathon de Inteligência
444
+ Artificial - Algar Telecom. 2024. (Participação em Hackathon).Outras produções bibliográficas
445
+ Produção técnica
446
+ Programas de computador sem registro
447
+ Trabalhos técnicos
448
+ Demais tipos de produção técnica
449
+ 2.
450
+ MONTEIRO, M. C.. Melhor Software do Ano - FACOM
451
+ Techweek 2023. 2023. (Participação em Mostra de Software).
452
+ 3.
453
+ MONTEIRO, M. C.. UberHub Code Club - 2022. 2022. (Curso
454
+ de curta duração ministrado/Extensão).
455
+ 4.
456
+ MONTEIRO, M. C.. Medalhista na IX Maratona Mineira de
457
+ Programação. 2022. (Participação em Competição de
458
+ Programação).
459
+ 5.
460
+ MONTEIRO, M. C.. Embaixador e Vencedor do Academy
461
+ Hack - Ambev-Tech. 2021. (Participação em Hackathon).
462
+ 6.
463
+ MONTEIRO, M. C.. Jovens Programadores. 2020. (Curso de
464
+ curta duração ministrado/Extensão).
465
+ 7.
466
+ MONTEIRO, M. C.. Melhor Software do Ano - FACOM
467
+ Techweek 2020. 2020. (Participação em Mostra de Software).
468
+ 8.
469
+ MONTEIRO, M. C.. Campeão da Maratona de Programação
470
+ Algar 2020. 2020. (Campeão Maratona de Programação Algar
471
+ Techweek 2020).
472
+ 1.Eventos
473
+ Participação em eventos, congressos, exposições e feiras
474
+ The 2022 ICPC South America/Brazil First Phase. O(s)
475
+ Orangotangos. 2023. (Olimpíada).
476
+ 2.
477
+ IX Maratona Mineira de Programação. Time O(s) brabos. 2022.
478
+ (Olimpíada).
479
+ 3.
480
+ The 2021 ICPC South America/Brazil First Phase. Amigos do
481
+ Zuck. 2022. (Olimpíada).
482
+ 4.
483
+ XXII SEMAT e XII SEMEST.Coloração de mapas determinados
484
+ por grafos planares com duas ou três cores. 2022. (Seminário).
485
+ 5.
486
+ ICPC South America/Brazil First Phase. D812. 2021.
487
+ (Olimpíada).
488
+ 6.
489
+ Escola de Verão do ICPC - Unicamp.Brazilian ICPC Summer
490
+ School. 2020. (Seminário).
491
+ 1.
492
+ MONTEIRO, M. C.; RAZENTE, H. L. ; CATTELAN, R. G. ;
493
+ NASCIMENTO, M. O. ; ARAUJO, L. G. T. . X FACOM TechWeek -
494
+ Semana Acadêmica da Faculdade de Computação da UFU.
495
+ 2023. (Congresso).
496
+ 2.
497
+ MONTEIRO, M. C.; ARAUJO, L. G. T. ; NASCIMENTO, M. O. ;
498
+ RAZENTE, H. L. ; CATTELAN, R. G. . XVI Workshop de Teses e
499
+ Dissertações em Ciência da Computação. 2022. (Exposição).
500
+ 3.
501
+ MONTEIRO, M. C.; ARAUJO, L. G. T. ; RAZENTE, H. L. ;
502
+ CATTELAN, R. G. ; NASCIMENTO, M. O. . XV Workshop deOrganização de eventos, congressos, exposições e feiras
503
+ Teses e Dissertações em Ciência da Computação (2023). 2022.
504
+ (Exposição).
505
+ 4.
506
+ MONTEIRO, M. C.; ARAUJO, L. G. T. ; CATTELAN, R. G. ;
507
+ RAZENTE, H. L. . IX FACOM TechWeek - Semana Acadêmica da
508
+ Faculdade de Computação da UFU. 2022. (Congresso).
509
+ 1.
510
+ MONTEIRO, M. C.. jogo_da_velhAI. 2024.
511
+ 2021 - 2021
512
+ Ambev-Tech Academy Hack
513
+ Descrição: Projeto desenvolvido como
514
+ parte do evento Academy Hack da
515
+ Ambev-Tech, com foco na criação de uma
516
+ solução de automação para classificação
517
+ de notas fiscais utilizando inteligência
518
+ artificial. Como embaixador do projeto
519
+ pela Universidade Federal de Uberlândia,
520
+ coordenou a participação de equipes e
521
+ desenvolveu uma solução que aplica
522
+ técnicas de IA para otimizar o processo de
523
+ classificação de documentos, reduzindo
524
+ tempo e custos operacionais. O projeto foi
525
+ reconhecido como destaque, contribuindo
526
+ para a inovação nos processos de
527
+ negócios da empresa..
528
+ Situação: Concluído; Natureza: Extensão.
529
+ Alunos envolvidos: Graduação: (10) /
530
+ Mestrado acadêmico: (1) / Doutorado: (2)
531
+ .
532
+ Integrantes: Matheus Costa Monteiro -
533
+ Coordenador / Rafael Dias Araújo -
534
+ Integrante / Jefferson Rodrigo de Souza -
535
+ Integrante / Leon de Morais Nunes -
536
+ Integrante.
537
+ 2021 - 2021
538
+ Tutoria de Programação Competitiva -
539
+ 2021Inovação
540
+ Programa de computador sem registro
541
+ Projeto de extensão
542
+ Descrição: Após ser campeão da
543
+ Maratona de Programação Algar em 2020,
544
+ fui convidado a atuar como tutor de
545
+ programação competitiva, ensinando
546
+ algoritmos e estruturas de dados a alunos
547
+ iniciantes interessados em competições
548
+ como o ICPC. As aulas focaram no
549
+ desenvolvimento de habilidades essenciais
550
+ para programação competitiva, incluindo
551
+ técnicas de resolução de problemas e
552
+ estratégias avançadas para algoritmos,
553
+ com o objetivo de preparar os alunos para
554
+ competirem em alto nível..
555
+ Situação: Concluído; Natureza: Extensão.
556
+ Alunos envolvidos: Graduação: (15) .
557
+ Integrantes: Matheus Costa Monteiro -
558
+ Coordenador.
559
+ 2020 - 2020
560
+ Jovens Programadores - 2020
561
+ Descrição: Como coordenador e tutor do
562
+ projeto Jovens Programadores, desenvolvi
563
+ uma ação de ensino e extensão voltada
564
+ para estudantes do ensino médio, com o
565
+ objetivo de introduzi-los ao mundo da
566
+ programação. O projeto ensinou conceitos
567
+ de lógica de programação, algoritmos
568
+ fundamentais e a linguagem C,
569
+ oferecendo uma base sólida para que os
570
+ jovens pudessem explorar carreiras e
571
+ estudos em áreas tecnológicas. O curso
572
+ focou em desenvolver o pensamento
573
+ lógico e as habilidades básicas de
574
+ programação..
575
+ Situação: Concluído; Natureza: Extensão.
576
+ Alunos envolvidos: Graduação: (2) .
577
+ Integrantes: Matheus Costa Monteiro -
578
+ Coordenador.
579
+ 2023 - 2023
580
+ Curso Preparatório para a Disciplina de
581
+ Estruturas de Dados do PET - 2023
582
+ Descrição: Minicurso para estudantes de
583
+ graduação, com o objetivo de preparar os
584
+ alunos para o entendimento e aplicação
585
+ de estruturas de dados. O curso aborda
586
+ temas essenciais como listas, pilhas, filas,
587
+ árvores e grafos, ajudando os alunos a
588
+ desenvolver habilidades em lógica e
589
+ algoritmos avançados..
590
+ Situação: Concluído; Natureza: Ensino.
591
+ Alunos envolvidos: Graduação: (50) .
592
+ Integrantes: Matheus Costa Monteiro -
593
+ Coordenador / Lucas Gabriel Teodoro
594
+ Araújo - Integrante.
595
+ 2022 - 2022Projeto de ensino
596
+ Curso Preparatório para a Disciplina de
597
+ Estruturas de Dados do PET - 2022/2
598
+ Descrição: Minicurso voltado para a
599
+ preparação de estudantes em estruturas
600
+ de dados, abordando tópicos como listas,
601
+ pilhas, filas, árvores e grafos. Esse curso
602
+ foi oferecido no segundo semestre de
603
+ 2022 para ajudar os alunos a fortalecerem
604
+ suas bases em algoritmos e lógica de
605
+ programação..
606
+ Situação: Concluído; Natureza: Ensino.
607
+ Alunos envolvidos: Graduação: (30) .
608
+ Integrantes: Matheus Costa Monteiro -
609
+ Coordenador / Lucas Gabriel Teodoro
610
+ Araújo - Integrante.
611
+ 2022 - 2022
612
+ Curso de C++ do PET - 2022
613
+ Descrição: Curso introdutório sobre a
614
+ linguagem de programação C++ para
615
+ alunos de graduação, abordando
616
+ fundamentos de programação, lógica e
617
+ estruturas de dados. O curso foi
618
+ direcionado para estudantes que desejam
619
+ aprofundar conhecimentos em uma
620
+ linguagem de baixo nível e preparar-se
621
+ para estudos mais avançados em
622
+ programação competitiva..
623
+ Situação: Concluído; Natureza: Ensino.
624
+ Alunos envolvidos: Graduação: (50) .
625
+ Integrantes: Matheus Costa Monteiro -
626
+ Coordenador / Lucas Gabriel Teodoro
627
+ Araújo - Integrante / Murielly Oliveira
628
+ Nascimento - Integrante.
629
+ 2022 - 2022
630
+ Curso Preparatório para a Disciplina de
631
+ Estruturas de Dados do PET - 2022/1
632
+ Descrição: Curso oferecido no primeiro
633
+ semestre de 2022 para preparar alunos de
634
+ graduação em estruturas de dados,
635
+ abordando tópicos como listas, pilhas,
636
+ filas, árvores e grafos. O curso visou
637
+ desenvolver habilidades em lógica e
638
+ resolução de problemas para aplicação em
639
+ disciplinas avançadas de algoritmos..
640
+ Situação: Concluído; Natureza: Ensino.
641
+ Alunos envolvidos: Graduação: (40) .
642
+ Integrantes: Matheus Costa Monteiro -
643
+ Coordenador / Lucas Gabriel Teodoro
644
+ Araújo - Integrante.
645
+ 2022 - 2022
646
+ Habilidades e Competências para o Século
647
+ XXI: Introdução à Programação de
648
+ Computadores
649
+ Descrição: Atuei como monitor no curso
650
+ "Habilidades e Competências para o
651
+ Século XXI: Introdução à Programação de
652
+ Computadores", realizado pelo
653
+ Laboratório de Direitos Humanos (LabDH)
654
+ da Faculdade de Direito da Universidade
655
+ Federal de Uberlândia (UFU). O curso foi
656
+ desenvolvido em parceria com a Fundação
657
+ de Apoio Universitário (FAU), com o apoio
658
+ do Tribunal Regional do Trabalho de Minas
659
+ Gerais (TRT-MG) e do Ministério Público
660
+ do Trabalho (MPT). Voltado para a
661
+ comunidade acadêmica e externa, o
662
+ objetivo do curso foi desenvolver
663
+ competências de programação,
664
+ capacitando os participantes para o
665
+ mercado de trabalho impactado pelas
666
+ novas tecnologias. Realizado no
667
+ laboratório de informática da UFU, o curso
668
+ contou com módulos presenciais aos
669
+ sábados, oferecendo um aprendizado
670
+ prático e interdisciplinar..
671
+ Situação: Concluído; Natureza: Ensino.
672
+ Alunos envolvidos: Graduação: (30) /
673
+ Mestrado acadêmico: (2) / Mestrado
674
+ profissional: (1) / Doutorado: (1) .
675
+ Integrantes: Matheus Costa Monteiro -
676
+ Integrante / Flávio de Oliveira Silva -
677
+ Integrante / Rodrigo Vitorino Souza Alves
678
+ - Coordenador.
679
+ 1.
680
+ MONTEIRO, M. C.. jogo_da_velhAI. 2024.
681
+ 1.
682
+ MONTEIRO, M. C.. UberHub Code Club - 2022. 2022. (Curso
683
+ de curta duração ministrado/Extensão).
684
+ 2.
685
+ MONTEIRO, M. C.. Jovens Programadores. 2020. (Curso de
686
+ curta duração ministrado/Extensão).Educação e P opularização de C & T
687
+ Programa de Computador sem registro de patente
688
+ Cursos de curta duração ministrados
689
+ Organização de eventos, congressos, exposições e feiras
690
+ 1.
691
+ MONTEIRO, M. C.; RAZENTE, H. L. ; CATTELAN, R. G. ;
692
+ NASCIMENTO, M. O. ; ARAUJO, L. G. T. . X FACOM TechWeek -
693
+ Semana Acadêmica da Faculdade de Computação da UFU.
694
+ 2023. (Congresso).
695
+ 2.
696
+ MONTEIRO, M. C.; ARAUJO, L. G. T. ; NASCIMENTO, M. O. ;
697
+ RAZENTE, H. L. ; CATTELAN, R. G. . XVI Workshop de Teses e
698
+ Dissertações em Ciência da Computação. 2022. (Exposição).
699
+ 3.
700
+ MONTEIRO, M. C.; ARAUJO, L. G. T. ; RAZENTE, H. L. ;
701
+ CATTELAN, R. G. ; NASCIMENTO, M. O. . XV Workshop de
702
+ Teses e Dissertações em Ciência da Computação (2023). 2022.
703
+ (Exposição).
704
+ 4.
705
+ MONTEIRO, M. C.; ARAUJO, L. G. T. ; CATTELAN, R. G. ;
706
+ RAZENTE, H. L. . IX FACOM TechWeek - Semana Acadêmica da
707
+ Faculdade de Computação da UFU. 2022. (Congresso).
708
+ Outras inf ormações r elevantes
709
+ MENÇÕES NA MÍDIA: Computação da UFU conquista medalhas de prata e ouro na Maratona
710
+ Mineira de Programação (06/2022). Link:
711
+ [https://comunica.ufu.br/noticias/2022/06/computacao-da-ufu-conquista-medalhas-de-prata-
712
+ e-ouro-na-maratona-mineira-de] Alunos da UFU são premiados em desafio de inteligência
713
+ artificial (ABI Academy Hack) (01/2022). Link:
714
+ [https://comunica.ufu.br/noticias/2022/01/alunos-da-ufu-sao-premiados-em-desafio-de-
715
+ inteligencia-artificial] Aluno da UFU foi um dos ganhadores do maior hackathon de IA
716
+ generativa do Brasil (Adapta AI Challenge) (09/2025). Link:
717
+ [https://comunica.ufu.br/noticias/2025/09/aluno-da-ufu-foi-um-dos-ganhadores-do-maior-
718
+ hackathon-de-ia-generativa-do-brasil] PERFIS E REPOSITÓRIOS:GitHub:
719
+ [https://github.com/costadev00](https://github.com/costadev00) LinkedIn:
720
+ [https://www.linkedin.com/in/costadeveloper/] ORCID: [https://orcid.org/0009-0009-4542-
721
+ 6236] Repositório do TCC: [https://repositorio.ufu.br/handle/123456789/47466]
722
+ Página gerada pelo Sistema Currículo Lattes em 19/11/2025 às 12:05:01
723
+ Somente os dados identificados como públicos pelo autor são apresentados na consulta do seuCurrículo Lattes.Configuração de privacidade na Plataforma Lattes
me/linkedin.txt ADDED
@@ -0,0 +1,245 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+    
2
+ Contato
3
+ 34988383462 (Home)
4
+ matheuscostamonteiro.mc@gma
5
+ il.com
6
+ www.linkedin.com/in/
7
+ costadeveloper (LinkedIn)
8
+ github.com/costadev00/ (Portfolio)
9
+ Principais competências
10
+ Python
11
+ C++
12
+ Inteligência artificial
13
+ Languages
14
+ Português (Native or Bilingual)
15
+ Inglês (Native or Bilingual)
16
+ Certifications
17
+ Competitive Programming
18
+ 2021-2023
19
+ MIT 6.S191 - Deep Learning
20
+ Specialization(Free attendance)
21
+ Honors-Awards
22
+ 2nd place teams on “FACOM
23
+ Techweek Best Software of the year
24
+ 2019” - Minha Saúde APP
25
+ 1st place teams on “FACOM
26
+ Techweek Best Software of the year
27
+ 2020
28
+ 1st place on “UFU - FACOM
29
+ Techweek Programming Contest
30
+ 1st Place Team on “Ambev
31
+ Hackathon ABI Academy Hack 2021
32
+ ICPC medalhist on “IX Maratona
33
+ Mineira de Programação"Matheus Costa Monteiro
34
+ Machine Learning Engineer | ex-Scale AI | ICPC Former Competitor
35
+ Uberlândia, Minas Gerais, Brasil
36
+ Resumo
37
+ Comecei a programar aos 13 anos e estou no mercado desde os
38
+ 16. Nesse percurso, desenvolvi uma base sólida em Ciência da
39
+ Computação aplicada à indústria — sempre guiado pela facilidade
40
+ de aprender rapidamente e pela capacidade de me adaptar a
41
+ novos desafios. Meu foco principal é inteligência artificial, criação e
42
+ otimização de algoritmos avançados e sistemas distribuídos.
43
+ &
44
+ Na Scale AI, colaborei com alguns dos maiores especialistas do
45
+ mundo na geração 2024 do GitHub Copilot. Trabalhei com fine-
46
+ tuning avançado (LoRA, QLoRA), RLHF e análise de modelos como
47
+ o GPT-4, além da construção de pipelines de dados robustos. Essa
48
+ vivência acelerou meu aprendizado sobre o estado-da-arte em LLMs
49
+ e como construi-las, e me treinou a dominar rapidamente novas
50
+ ferramentas e metodologias.
51
+ ó
52
+ Após a Scale AI, iniciei um novo capítulo — mais estratégico e
53
+ voltado ao Brasil. Hoje, conduzo projetos de IA avançada (ainda
54
+ embrionários), aplicando o know-how adquirido no centro do
55
+ ecossistema global para potencializar a transformação local. Minha
56
+ curva de aprendizado curta permite absorver e aplicar tecnologias
57
+ emergentes em ritmo ágil.
58
+ ê
59
+ Mantenho pesquisa ativa na UFU sobre algoritmos de
60
+ escalonamento para machine learning. Avalio e desenvolvo técnicas
61
+ de computação paralela baseadas em teoria dos grafos, visando
62
+ eficiência em ambientes distribuídos — reduzindo custos e tempo
63
+ de treinamento de LLMs. Minha adaptabilidade ajuda a transpor
64
+ descobertas acadêmicas para soluções industriais rapidamente.
65
+ ( & )
66
+ • () — Top 2 regional, pódio entre 52 equipes.
67
+   Page 1 of 7
68
+    
69
+ • Presença constante no quadro de menções honrosas do ICPC por
70
+ dois anos.
71
+ • Vitórias em hackathons corporativos (Ambev, Algar) e , (6
72
+ 000+ inscritos; ganhando R$ 40 000 em premiação).
73
+ Essas conquistas reforçam minha habilidade de aprender em
74
+ curto prazo, adaptar estratégias sob pressão e converter ideias em
75
+ soluções de alto impacto.
76
+ Estou sempre aberto a colaborações técnicas, conexões
77
+ estratégicas e iniciativas que expandam a fronteira da IA. Vamos
78
+ conversar!
79
+ Experiência
80
+ Scale AI
81
+ Machine Learning Researcher
82
+ abril de 2024 - abril de 2025  (1 ano 1 mês)
83
+ San Francisco, Califórnia, Estados Unidos
84
+ • - (SFT & RLHF): e criação de pipelines de treinamento a partir de lacunas
85
+ identificadas nas avaliações; tradução de resultados em objetivos de treino e
86
+ composição de dados.
87
+ • & : criei benchmarks inspirados em ICPC para testar raciocínio
88
+ algorítmico; defini metadados (nível, tópicos, restrições) e gerei casos
89
+ adversariais/edge cases. Estruturei guidelines e gold sets para anotação
90
+ (solução, explicação, erros típicos), com revisão em duas etapas e QA.
91
+ • (-): avaliação e safety: conduzi A/B de prompts e ablações; coletei
92
+ preferências pairwise para o Reward Model; medi pass@k, groundedness e
93
+ alucinação; sistematizei taxonomias de erro e executei revisões de segurança
94
+ (PII, vieses, toxicidade) com red teaming direcionado, alimentando PPO/DPO
95
+ e decisões de go-live.
96
+ • ó çõ , impactando ajustes de benchmarks, prompts e estratégias de fine-
97
+ tuning.
98
+   Page 2 of 7
99
+    
100
+ • Impacto: contribuições em datasets, avaliações e recomendações que
101
+ viabilizaram duas atualizações de modelo para um grande assistente de
102
+ código (sob NDA), com ~15% de ganho em métricas internas e QA ≥ 98%.
103
+ Nota: pouco após a minha saída, ocorreu uma (~$ ).
104
+ Algar Telecom
105
+ Software Engineer Internship
106
+ agosto de 2022 - agosto de 2024  (2 anos 1 mês)
107
+ Uberlândia, Minas Gerais, Brasil
108
+ Como estagiário na Algar Telecom, trabalhei em 4 projetos diferentes.
109
+ 1. Janela de Acesso: Aplicação interna para gerenciamento de acesso de
110
+ colaboradores da empresa. Onde desenvolvi parte do back-end do projeto. Foi
111
+ utilizado SQL e Java nessa aplicação. Essa aplicação tem impacto em mais
112
+ de 5000 colaboradores.
113
+ 2. Conecct Master: API de que faz chamadas de viabilidade de rede utilizando
114
+ Google Maps. Aqui trabalhei com C# e apliquei meus conhecimentos de teoria
115
+ dos grafos, para cortar custos das chamadas nos mapas.
116
+ 3. Sustentação e desenvolvimento de plataformas da rede móvel: Aqui
117
+ trabalhei com aplicações Java de baixo nível, onde desenvolvi aplicações de
118
+ rede, e sistemas distribuídos.
119
+ 4. Rai.o: Nesse projeto, vencedor da Hackathon Algar Telecom de Inteligência
120
+ Artificial, desenvolvi uma aplicação que reduz o custo operacional de
121
+ atendimento ao cliente, cria novas oportunidades de venda, e faz esses
122
+ alertas de forma automática ao consultor de vendas. Foi utilizado Python, e
123
+ React. Projeto altamente disruptivo e eficaz para a empresa.
124
+ O uso de IA na empresa provou-se muito viável, com economia estimada de R
125
+ $ 1.000.000,00 em menos de 1 ano.
126
+ UFU - Universidade Federal de Uberlândia
127
+ 3 anos 2 meses
128
+ PET - Coordenador Geral
129
+ março de 2022 - maio de 2024  (2 anos 3 meses)
130
+ Uberlândia, Minas Gerais, Brasil
131
+   Page 3 of 7
132
+    
133
+ Membro bolsista do PET Sistemas de Informação. Ministrando minicursos,
134
+ onde iniciei a Iniciação Cientifica em otimização de algoritmos de
135
+ escalonamento.
136
+ Ministrei minicursos voltados para o desempenho em competições de
137
+ maratonas de programação ICPC.
138
+ Ótimo lugar com pessoas competentes e produtivas.
139
+ Lugar onde fiz muito amigos para a vida!
140
+ Pesquisador acadêmico em Inteligência Artificial e Teoria dos Grafos
141
+ junho de 2021 - maio de 2024  (3 anos)
142
+ Uberlândia, Minas Gerais, Brasil
143
+ Foco da pesquisa: escalonamento baseado em grafos para treinamento de
144
+ LLMs em clusters heterogêneos de GPUs — buscando maior vazão, melhor
145
+ balanceamento de carga e menor custo/energia.
146
+ Modelei workflows de treinamento (cálculo distribuído + comunicações NCCL
147
+ sobre NVLink/Ethernet) e simulei regimes realistas de custo de computação e
148
+ comunicação.
149
+ Comparei seis heurísticas de list scheduling (DLS, HEFT/HEFT-LA, PEFT/
150
+ IHEFT/IPEFT), mapeando quais políticas se saem melhor sob diferentes
151
+ níveis de CCR e heterogeneidade.
152
+ Medi makespan, utilização/balanceamento de GPUs, tempo de espera e
153
+ métricas derivadas de energia; converti os resultados em recomendações
154
+ práticas para escolher políticas de escalonamento em pipelines de
155
+ treinamento de LLMs.
156
+ O estudo e aprofundamento dessa pesquisa serviram como base para o
157
+ projeto de artigo científico e TCC.
158
+ Medalhista na IX Maratona Mineira de Programação SBC
159
+ maio de 2022 - maio de 2022  (1 mês)
160
+ Uberlândia, Minas Gerais, Brasil
161
+ A Nona Edição da Maratona Mineira foi realizada no ano de 2022, e sua
162
+ sede foi na cidade de Timóteo. Nesta edição a maratona contou com a
163
+ presença de 51 times de 20 escolas. Entre os medalhistas de ouro tinham
164
+ estudantes da UFMG e UFU; os medalhistas de prata eram estudantes da
165
+ UFV-CAF, INATEL, UFU e IFSULDEMINAS; e os medalhistas de bronze eram
166
+ estudantes da UFMG, UNIFEI e UFV.
167
+   Page 4 of 7
168
+    
169
+ Professor em projeto de extensão
170
+ abril de 2021 - maio de 2022  (1 ano 2 meses)
171
+ Uberlândia, Minas Gerais, Brasil
172
+ Professor bolsista de Introdução a Programação de Computadores no projeto
173
+ "Jovens Programadores" da Universidade Federal de Uberlândia. Projeto de
174
+ extensão voltado para escolas da região do triângulo mineiro, ensinando IPC
175
+ para alunos do 9º ano fundamental ao 3º ano do ensino médio.
176
+ PET - SI UFU
177
+ Coordenador geral
178
+ março de 2022 - maio de 2024  (2 anos 3 meses)
179
+ Uberlândia, Minas Gerais, Brasil
180
+ Durante dois anos da minha graduação na UFU, fui membro bolsista do PET
181
+ Sistemas de Informação da Universidade Federal de Uberlândia. Nesse
182
+ programa foi onde tive a oportunidade de liderar todo o grupo, ministrar vários
183
+ cursos de Estruturas de dados, Cálculo e C++, organizar vários eventos
184
+ dentro da universidade, realizar atividades de ensino, extensão e inclusão
185
+ social.
186
+ Foi onde também dei início a minha pesquisa em teoria dos grafos e
187
+ algoritmos de escalonamento.
188
+ beecrowd
189
+ Tradutor e Criador de desafios de programação
190
+ março de 2022 - novembro de 2022  (9 meses)
191
+ Uberlândia, Minas Gerais, Brasil
192
+ Tradutor e Criador de desafios de programação na empresa beecrowd.com.
193
+ Utilizei minha experiência com maratonas de programação e meu nível fluente
194
+ em inglês para incrementar mais problemas para a plataforma.
195
+ Ambev Tech
196
+ AmBev-Tech Embaixador de Projeto Campeão.
197
+ agosto de 2021 - dezembro de 2021  (5 meses)
198
+ Embaixador no evento Academy Hack da Ambev-Tech, trabalhando do
199
+ engajamento de times da comunidade UFU. O projeto desenvolvido foi uma
200
+ solução que utiliza inteligência artificial para automatizar o processo de
201
+ classificação de notas fiscais.
202
+ Além de ter sido escolhido como embaixador destaque do evento.
203
+ Algar Telecom
204
+ Campeão da Maratona de programação Algar TechWeek 2020
205
+   Page 5 of 7
206
+    
207
+ novembro de 2020 - novembro de 2020  (1 mês)
208
+ Uberlândia, Minas Gerais, Brasil
209
+ Campeão da "Maratona Algar Techweek 2020" patrocinada pela Algar
210
+ Telecom. Organizada pela Universidade Federal de Uberlândia.
211
+ Competição individual com aproximadamente 40 competidores.
212
+ Atomic Agro
213
+ Desenvolvedor full stack
214
+ janeiro de 2019 - maio de 2019  (5 meses)
215
+ Uberlândia, Minas Gerais
216
+ Recebi esta oportunidade após o sucesso do Minha Saúde APP (15 mil
217
+ + downloads em 1 ano), sendo contratado aos 17 anos para atuar no
218
+ desenvolvimento mobile e front-end do aplicativo, utilizando React Native e
219
+ ReactJS. Trabalhar em uma startup desde cedo me ensinou a programar sob
220
+ prazos curtos e a colaborar em metodologias ágeis.
221
+ Essa experiência inicial me proporcionou grande amadurecimento técnico e
222
+ interpessoal, além de reforçar meu interesse pela área.
223
+ Decidi deixar a empresa ao ser aprovado no ENEM para cursar computação
224
+ em uma universidade federal, onde optei por aprofundar minha formação
225
+ acadêmica e técnica.
226
+ Minha Saúde APP
227
+ Fundador
228
+ janeiro de 2018 - julho de 2018  (7 meses)
229
+ Araguari e Região, Brasil
230
+ Desenvolvedor de toda parte técnica da aplicação com o auxílio de dois
231
+ estudantes de medicina do IME Presidente Antônio Carlos. Minha Saúde APP
232
+ - aplicativo desenvolvido com o intuito de orientar a população carente sobre
233
+ comorbidades como Diabetes, Hipertensão, entre outros.
234
+ O aplicativo tem +15k downloads na play store, e está disponível
235
+ gratuitamente.
236
+ Formação acadêmica
237
+ Universidade Federal de Uberlândia - UFU
238
+ Bacharelado em Sistemas de Informação, Matemática e Ciência da
239
+ Computação  · (2020 - setembro de 2025)
240
+ Stanford University
241
+   Page 6 of 7
242
+    
243
+ Especialização em Algoritmos e Machine Learning, Inteligência
244
+ Artificial  · (2024 - 2025)
245
+   Page 7 of 7
me/summary.txt ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ Meu nome é Matheus Costa. Sou um pesquisador na área de inteligência artificial e otimização de algoritmos, engenheiro de software e ex-competidor em maratonas de programação. Nascido e criado na cidade de Araguari, Minas Gerais, mas me mudei para Uberlândia quando passei no Enem na Universidade Federal de Uberlândia em 2021.
2
+ Eu amo construir soluções que tenham impacto real na sociedade, e sempre busco construir essas soluções de forma que possa "ver funcionando" o quanto antes. Amo minha família, meu pai(Alessandro) minha mãe(Euzânia) e minha namorada(Amanda) meu irmão(Victor) e todos meus amigos(Paulo, Luis).
3
+ Minha comida favorita é sem dúvida hamburguer, qualquer tipo de hamburguer.
4
+ Fui atleta de natação por quase 10 anos da minha vida(dos 12 aos 17 anos) onde figurei entre os melhores nadadores do país, atividade que construíu minha disciplina e resiliência que possuo até os dias de hoje.
5
+ Na faculdade(2021-2025) desenvolvi diversas atividades extra-curriculares, dentre elas, competições de programação, projetos de ensino a para pessoas em vulnerabilidade, pesquisa acadêmica na área de otimização de algoritmos, que me levou para a área de IA.
6
+ Hoje busco dar início a um mestrado na área de IA, ao mesmo tempo que construo soluções de impacto real, seja na universidade ou em alguma empresa.
requirements.txt ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ requests
2
+ python-dotenv
3
+ gradio
4
+ pypdf2
5
+ openai
scripts/pdf_to_txt.py ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from pathlib import Path
2
+ from PyPDF2 import PdfReader
3
+
4
+ BASE_DIR = Path(__file__).resolve().parent.parent / "me"
5
+ SOURCES = ["linkedin", "lattes"]
6
+
7
+ for name in SOURCES:
8
+ pdf_path = BASE_DIR / f"{name}.pdf"
9
+ txt_path = BASE_DIR / f"{name}.txt"
10
+ if not pdf_path.exists():
11
+ print(f"Skipping {pdf_path} (missing)")
12
+ continue
13
+ reader = PdfReader(str(pdf_path))
14
+ chunks = []
15
+ for page in reader.pages:
16
+ text = page.extract_text()
17
+ if text:
18
+ chunks.append(text)
19
+ txt_path.write_text("\n".join(chunks), encoding="utf-8")
20
+ print(f"Wrote {txt_path} ({len(chunks)} pages)")