Goal: Determine the most effective setup for refactoring a codebase from one language/framework to another (starting with C# .NET API → Python FastAPI) using Cursor's AI tooling ecosystem: MCPs, language servers, skills, agents, rules, and documentation ingestion.
This file contains hidden or 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
| { | |
| "$schema": "https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json", | |
| "basics": { | |
| "name": "Jonathan Berti", | |
| "label": "Full Stack Developer + DevOps", | |
| "image": "", | |
| "email": "jonathan.berti+resume@gmail.com", | |
| "phone": "(312) 600-8123", | |
| "url": "https://berti.dev", | |
| "summary": "I am a Full-Stack Developer with 10+ years professional experience. Developing software is more of a life-long curiosity than it is a job, as I have been coding and using Linux since 1997. I create websites, applications, and back-end solutions, as well as design-deploy-manage the servers that host them. I have a penchant for modern Javascript and diving in to the Web API to make fast, compliant, and maintainable front end experiences. On the back end, I like to solve data integration issues and design solutions to automate communication between applications and services. Across the whole stack, I write code and design systems with attention to speed and scale.", |
This file contains hidden or 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
| // Enter this code in to the URL field of a bookmark in chrome | |
| javascript: (function() %7B var elements = document.body.getElementsByTagName('*'); var items = []; for (var i = 0; i < elements.length; i++) %7B if (elements[i].innerHTML.indexOf('* %7B background:#000!important;color:#0f0!important;outline:solid #f00 1px!important; background-color: rgba(255,0,0,.2) !important; }') != -1) { items.push(elements[i]); } } if (items.length > 0) { for (var i = 0; i < items.length; i++) { items[i].innerHTML = ''; } } else { document.body.innerHTML += '<style>* { background:#000!important;color:#0f0!important;outline:solid #f00 1px!important; background-color: rgba(255,0,0,.2) !important; }\ * * { background-color: rgba(0,255,0,.2) !important; }\ * * * { background-color: rgba(0,0,255,.2) !important; }\ * * * * { background-color: rgba(255,0,255,.2) !important; }\ * * * * * { background-color: rgba(0,255,255,.2) !important; }\ * * * * * * { background-color: rgba(255,255,0,.2) !important; }\ * * * * * * * { background- |
This file contains hidden or 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
| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <style> | |
| .page-header, | |
| .page-header-space { | |
| height: 30px; | |
| } | |
| .page-footer, |
OlderNewer