-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #5 from luca-matei/dev
Dev
- Loading branch information
Showing
8 changed files
with
312 additions
and
11 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
name: Deploy to Server | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
|
||
jobs: | ||
deploy: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Deploy to Server | ||
uses: appleboy/ssh-action@v1.0.3 | ||
with: | ||
host: ${{ secrets.HOST }} | ||
username: ${{ secrets.USERNAME }} | ||
key: ${{ secrets.SSH_PRIVATE_KEY }} | ||
port: ${{ secrets.PORT }} | ||
source: "." | ||
target: "/home/${{ secrets.USERNAME }}/digital_marmot/lucamatei.eu-temp" | ||
script: | | ||
rm -rf /home/${{ secrets.USERNAME }}/digital_marmot/lucamatei.eu | ||
mv /home/${{ secrets.USERNAME }}/digital_marmot/lucamatei.eu-temp /home/${{ secrets.USERNAME }}/digital_marmot/lucamatei.eu | ||
cd /home/${{ secrets.USERNAME }}/digital_marmot/lucamatei.eu | ||
echo "SENDGRID_RECEIVER=${{ secrets.SENDGRID_RECEIVER }}" > .env | ||
echo "SENDGRID_SENDER=${{ secrets.SENDGRID_SENDER }}" >> .env | ||
echo "SENDGRID_API_KEY=${{ secrets.SENDGRID_API_KEY }}" >> .env | ||
yarn install | ||
yarn build | ||
sudo systemctl restart lucamatei.eu |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,241 @@ | ||
<!DOCTYPE html> | ||
<html lang="en"> | ||
<head> | ||
<meta charset="UTF-8"> | ||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||
<title>Resume</title> | ||
<link href="https://fonts.googleapis.com/css?family=Roboto:400,500,700&display=swap" rel="stylesheet"> | ||
<link href="https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css" rel="stylesheet"> | ||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css"> | ||
<style> | ||
@media print { | ||
@page { size: letter; } | ||
@page { size: A4; } | ||
} | ||
body { | ||
font-family: 'Roboto', sans-serif; | ||
line-height: 1.5; | ||
} | ||
.icon { | ||
margin-right: 0.5rem; | ||
width: 1rem; | ||
text-align: center; | ||
} | ||
.fa-circle { | ||
font-size: 0.25rem; | ||
vertical-align: middle; | ||
margin: 0 0.25rem; | ||
} | ||
</style> | ||
</head> | ||
<body class="container"> | ||
<div class="flex flex-wrap pb-10"> | ||
<div class="w-1/3 text-right pr-5"> | ||
<h2 class="opacity-0">Resume of</h2> | ||
<h1 class="text-6xl font-bold">Luca Matei</h1> | ||
<h2>Full Stack Developer</h2> | ||
</div> | ||
<div class="w-2/3 pl-5 text-gray-600 flex flex-nowrap"> | ||
<div> | ||
<ul class="list-none"> | ||
<li><i class="fas fa-phone icon"></i>+40 771 344 046</li> | ||
<li><i class="fas fa-envelope icon"></i><a href="mailto:hello@lucamatei.eu" class="text-blue">hello@lucamatei.eu</a></li> | ||
<li><i class="fab fa-linkedin icon"></i><a href="https://linkedin.com/in/lucamatei" class="text-blue">lucamatei</a></li> | ||
<li><i class="fab fa-github icon"></i><a href="https://github.com/luca-matei" class="text-blue">luca-matei</a></li> | ||
<li><i class="fab fa-telegram icon"></i><a href="https://t.me/lucamatei" class="text-blue">lucamatei</a></li> | ||
<li><i class="fas fa-globe icon"></i><a href="https://lucamatei.eu" class="text-blue">https://lucamatei.eu</a></li> | ||
<li><i class="fas fa-map-marker-alt icon"></i>Bucharest, Romania</li> | ||
</ul> | ||
</div> | ||
<div class="pl-10"> | ||
<img src="me.jpg" alt="Luca Matei" class="rounded-md w-40 h-40 mt-1"> | ||
</div> | ||
</div> | ||
</div> | ||
<!-- Summary --> | ||
<div class="flex flex-wrap pb-10"> | ||
<div class="w-1/3 text-right pr-5"> | ||
<h2 class="text-2xl font-bold">Summary</h2> | ||
</div> | ||
<div class="w-2/3 pl-5 text-gray-600"> | ||
<p class="mt-2">I design and implement complex systems, having a proven track record of developing and enhancing SaaS platforms with Python and JavaScript frameworks in Linux environments.</p> | ||
</div> | ||
</div> | ||
<!-- Experience --> | ||
<div class="flex flex-wrap pb-2"> | ||
<div class="w-1/3 text-right pr-5"> | ||
<h2 class="text-2xl font-bold">Work Experience</h2> | ||
</div> | ||
<div class="w-2/3 pl-5 text-gray-600"> | ||
</div> | ||
</div> | ||
<div class="flex flex-wrap pb-6"> | ||
<div class="w-1/3 text-right pr-5"> | ||
<h2 class="text-lg">Full Stack Developer</h2> | ||
<h2 class="text-lg pb-2.5 text-gray-600">getitAI, Inc.</h2> | ||
<h2 class="text-sm text-gray-600">Oct 2023 - Present</h2> | ||
<h2 class="text-sm text-gray-600">Remote, Contract</h2> | ||
</div> | ||
<div class="w-2/3 pl-5 text-gray-600"> | ||
<ul class="list-none"> | ||
<li class="mb-3">Developed and enhanced the knowledge base infrastructure for AI-driven sales agents, involving tasks such as refining database functionalities, improving search algorithms and optimizing storage connections.</li> | ||
<li class="mb-3">Implemented a highly reusable component that enables pagination, full-text search, filtering, and sorting capabilities for dynamically updated tables, enhancing user experience and data accessibility.</li> | ||
<li class="mb-3">Assisted in the onboarding process for new team members and participated in multiple code reviews.</li> | ||
</ul> | ||
</div> | ||
</div> | ||
<div class="flex flex-wrap pb-10"> | ||
<div class="w-1/3 text-right pr-5"> | ||
<h2 class="text-lg">Full Stack Developer</h2> | ||
<h2 class="text-lg pb-2.5 text-gray-600">Signed NDA</h2> | ||
<h2 class="text-sm text-gray-600">July 2023 - Present</h2> | ||
<h2 class="text-sm text-gray-600">Remote, Contract</h2> | ||
</div> | ||
<div class="w-2/3 pl-5 text-gray-600"> | ||
<ul class="list-none"> | ||
<li class="mb-3">Played a key role in both designing and building vital API components, focusing on creating solutions that were both durable and capable of scaling effectively.</li> | ||
<li class="mb-3">Led the complete redesign and implementation of a high-capacity system across multiple servers, optimizing for user-customizable request handling and efficiency.</li> | ||
<li class="mb-3">Managed various DevOps tasks, including setting up CI/CD pipelines, load balancers, and databases, and performed maintenance on both bare-metal servers and VPSes, prioritizing security and high-availability.</li> | ||
<li class="mb-3">Significantly improved API performance by overhauling its architecture, resulting in increased development speed, stability, scalability, and flexibility.</li> | ||
<li class="mb-3">Developed and integrated a comprehensive credits system for the API, working with third-party subscription managers like Outseta.</li> | ||
<li class="mb-3">Engaged in peer code reviews, providing constructive feedback to enhance code quality and team collaboration.</li> | ||
</ul> | ||
</div> | ||
</div> | ||
<!-- Projects --> | ||
<div class="flex flex-wrap pb-2"> | ||
<div class="w-1/3 text-right pr-5"> | ||
<h2 class="text-2xl font-bold">Projects</h2> | ||
</div> | ||
<div class="w-2/3 pl-5 text-gray-600"> | ||
</div> | ||
</div> | ||
<div class="flex flex-wrap pb-6"> | ||
<div class="w-1/3 text-right pr-5"> | ||
<h2 class="text-lg">Personal AI SaaS Platform</h2> | ||
<h2 class="text-sm text-gray-600">Personal</h2> | ||
</div> | ||
<div class="w-2/3 pl-5 text-gray-600"> | ||
<ul class="list-none"> | ||
<li>A platform built with NextJS and Python that simplifies your life by merging everyday tasks with AI-driven analysis and suggestions.</li> | ||
</ul> | ||
</div> | ||
</div> | ||
<div class="flex flex-wrap pb-6"> | ||
<div class="w-1/3 text-right pr-5"> | ||
<h2 class="text-lg">DevOps Automations Tool</h2> | ||
<h2 class="text-sm text-gray-600">Personal</h2> | ||
</div> | ||
<div class="w-2/3 pl-5 text-gray-600"> | ||
<ul class="list-none"> | ||
<li>An automated tool for managing networks, servers, and services on a home network or small cloud through a Python API.</li> | ||
</ul> | ||
</div> | ||
</div> | ||
<div class="flex flex-wrap pb-10"> | ||
<div class="w-1/3 text-right pr-5"> | ||
<h2 class="text-lg">WSGI Web Framework</h2> | ||
<h2 class="text-sm text-gray-600">Personal</h2> | ||
</div> | ||
<div class="w-2/3 pl-5 text-gray-600"> | ||
<ul class="list-none"> | ||
<li>A backend framework written in Python for creating presentation websites, featuring a YAML CMS and a CSS framework akin to Tailwind CSS.</li> | ||
</ul> | ||
</div> | ||
</div> | ||
<!-- Courses --> | ||
<div class="flex flex-wrap pb-2"> | ||
<div class="w-1/3 text-right pr-5"> | ||
<h2 class="text-2xl font-bold">Education</h2> | ||
</div> | ||
<div class="w-2/3 pl-5 text-gray-600"> | ||
</div> | ||
</div> | ||
<div class="flex flex-wrap pb-6"> | ||
<div class="w-1/3 text-right pr-5"> | ||
<h2 class="text-lg">Certifications</h2> | ||
</div> | ||
<div class="w-2/3 pl-5 text-gray-600"> | ||
<ul class="list-none"> | ||
<li>Backend Developer by Meta (9 courses)</li> | ||
<li>Frontend Developer by Meta (9 courses)</li> | ||
<li>IT Automation with Python by Google (6 courses)</li> | ||
<li>Python for Everybody by University of Michigan (5 courses)</li> | ||
<li>Machine Learning Specialization by IBM (1/6 courses)</li> | ||
</ul> | ||
</div> | ||
</div> | ||
<div class="flex flex-wrap pb-10"> | ||
<div class="w-1/3 text-right pr-5"> | ||
<h2 class="text-lg">Highschool</h2> | ||
</div> | ||
<div class="w-2/3 pl-5 text-gray-600"> | ||
<p>Colegiul Național „Mihai Viteazul” București</p> | ||
<p>Mathematics and Informatics Profile</p> | ||
<p>Graduated in 2022</p> | ||
</div> | ||
</div> | ||
<!-- Skills --> | ||
<div class="flex flex-wrap pb-2"> | ||
<div class="w-1/3 text-right pr-5"> | ||
<h2 class="text-2xl font-bold">Skills</h2> | ||
</div> | ||
<div class="w-2/3 pl-5 text-gray-600"> | ||
</div> | ||
</div> | ||
<div class="flex flex-wrap pb-6"> | ||
<div class="w-1/3 text-right pr-5"> | ||
<h2 class="text-lg">Python</h2> | ||
<p class="text-sm text-gray-600">#uwsgi #asyncio #openai #unittest #httpx #lxml #black</p> | ||
</div> | ||
<div class="w-2/3 pl-5 text-gray-600"> | ||
<p>I started coding in Python with the release of version 3.2 in 2011. My work spans scripting, gaming, web development, automation, and more recently, projects involving Large Language Models.</p> | ||
</div> | ||
</div> | ||
<div class="flex flex-wrap pb-6"> | ||
<div class="w-1/3 text-right pr-5"> | ||
<h2 class="text-lg">Linux</h2> | ||
<p class="text-sm text-gray-600">#debian #openssh #qemu #nftables #nfs #bind9 #isc-dhcp-server #dnsmasq #bash</p> | ||
</div> | ||
<div class="w-2/3 pl-5 text-gray-600"> | ||
<p>Since getting my first computer, I've used Debian for everything from setting up servers and building networks to managing services and fixing system issues. I host my projects on VPSes that I manage myself.</p> | ||
</div> | ||
</div> | ||
<div class="flex flex-wrap pb-6"> | ||
<div class="w-1/3 text-right pr-5"> | ||
<h2 class="text-lg">Open Source</h2> | ||
<p class="text-sm text-gray-600">#pydantic #llms #automations #saas #tools</p> | ||
</div> | ||
<div class="w-2/3 pl-5 text-gray-600"> | ||
<p>I've helped improve Pydantic and I'm looking to do more work on open-source projects. You can find all my personal projects available for anyone to see on my GitHub.</p> | ||
</div> | ||
</div> | ||
<div class="flex flex-wrap pb-6"> | ||
<div class="w-1/3 text-right pr-5"> | ||
<h2 class="text-lg">Backend</h2> | ||
<p class="text-sm text-gray-600">#fastapi #postgresql #redis #celery #dramatiq #supabase #sqlalchemy, pydantic</p> | ||
</div> | ||
<div class="w-2/3 pl-5 text-gray-600"> | ||
<p>I work with ASGI REST APIs daily to support SaaS platforms. In 2020, I developed a framework on a uWSGI server to manage the backend of multiple presentation websites.</p> | ||
</div> | ||
</div> | ||
<div class="flex flex-wrap pb-6"> | ||
<div class="w-1/3 text-right pr-5"> | ||
<h2 class="text-lg">Frontend</h2> | ||
<p class="text-sm text-gray-600">#nextjs #react #typescript #javascript #tailwindcss #bootstrap #material #sass</p> | ||
</div> | ||
<div class="w-2/3 pl-5 text-gray-600"> | ||
<p>I mainly work on backend development, but I'm also good at making user interfaces and connecting them to the backend. In 2020, I built a CSS framework from the ground up to give websites a look similar to what you get with Tailwind CSS.</p> | ||
</div> | ||
</div> | ||
<div class="flex flex-wrap pb-6"> | ||
<div class="w-1/3 text-right pr-5"> | ||
<h2 class="text-lg">DevOps</h2> | ||
<p class="text-sm text-gray-600">#railway #github-actions #bitbucket-pipelines #hetzner #haproxy #pgbouncer #git #docker #prometheus #grafana #sentry #supervisor</p> | ||
</div> | ||
<div class="w-2/3 pl-5 text-gray-600"> | ||
<p>I can install and take care of Linux, web, and database servers, along with containers, making sure they handle traffic smoothly. I've also set up systems for continuous integration and delivery, as well as monitoring tools.</p> | ||
</div> | ||
</div> | ||
</body> | ||
</html> |
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.