{"version":3,"file":"PyFiReviewWall.CBygprmF.mjs","names":["useState","useRef"],"sources":["https:/framerusercontent.com/modules/NhAk8jbuWy75lGYNJaB6/CiYe8KW8rjqbBd4GGJ3j/PyFiReviewWall.js"],"sourcesContent":["// PyFiReviewWall — Review / testimonial masonry wall\n// Code file ID: tTo3A80\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useEffect,useRef}from\"react\";const REVIEWS=[{batch:1,initials:\"AI\",name:\"Andre Irving\",role:\"CFO\",stars:5,title:\"Live Python Class: 5 Stars!\",body:\"Just finished the PyFi course and I can't recommend it enough! Four days, two hours a day — and every minute was worth it. The live instructors were fantastic: helpful, engaging, and clearly passionate about the material. They made Python feel approachable even for someone just starting out. What I loved most was how the course connected coding concepts directly to real finance scenarios, so you could immediately see the value of what you were learning. If you're in finance and have been thinking about picking up Python, stop thinking and just sign up. PyFi is the real deal!\"},{batch:1,initials:\"BM\",name:\"Bart Miller\",role:\"Data Analytics Lead\",stars:5,title:\"Outstanding introduction to how Python with OpenAI works\",body:\"Great intro to how OpenAI is called from within a Python program to best the process that Excel data analysis can't handle and automates data cleaning and normalization. It was really fun to see how AI is a powerful integrated tool to help expand the power you can have to analyze financial data.\"},{batch:1,initials:\"PB\",name:\"Paul of Boise\",role:\"Senior Accountant\",stars:5,title:\"Very informative\",body:\"Zach laid out an easily understood problem that is similar to what many in finance have faced, and showed how to solve it using a combination of VS Code on GitHub and OpenAI through an API. Well laid out for even this zero programming Excel guy.\"},{batch:1,initials:\"DT\",name:\"Dave T.\",role:\"Financial Analyst\",stars:5,title:\"PyFi Personal Finance Demo\",body:\"The PyFi demo today was fantastic. It showed how a simple personal-finance example can quickly scale into powerful, real-world automation using Python and AI. Fast, clear, and genuinely exciting for anyone looking to level up their financial workflows.\"},{batch:1,initials:\"RG\",name:\"Rafael Guzman\",role:\"Operations Analyst\",stars:5,title:\"Py-fi Demo\",body:\"Thorough PyFi demo covering Python logic within a personal finance example utilizing OpenAI to automate analyses. I definitely see the benefit of using AI with Python to automate analyses and will be applying what I learn to my work in the future.\"},{batch:1,initials:\"JC\",name:\"James Childress\",role:\"Finance Manager\",stars:5,title:'Finally, I have an answer to \"Why Python?\"',body:\"I've been hearing about Python as being something I might need in years of work with data prep and visualization. I wanted to learn more and try to orient myself, and then PyFi stepped in and gave me a real chance to see the possibilities in action and ask questions that helped me orient myself and my team towards next steps. Much appreciated, and Zach broke things down clearly and easily.\"},{batch:1,initials:\"NI\",name:\"Naquan Ishman\",role:\"Principal\",stars:5,title:\"Highly Recommend!\",body:\"What an excellent course. The Python portion gets you quickly up to speed on Python data structures, common libraries, and functions. The ML portion gives two end to end examples of structuring, training, testing, and selecting ML models. The pace of the demo and level of detail given were great.\"},{batch:2,initials:\"MR\",name:\"Monica Robinson\",role:\"VP of Real Estate Finance\",stars:5,title:\"Introduction to Python LIVE\",body:\"I have just finished this live class with Zach and can fully recommend it to anybody with little or no knowledge of Python. The class covers the basics, the explanations are clear and there are opportunities to practice. It is only a few sessions, making it an easy commitment for busy professionals.\"},{batch:2,initials:\"M\",name:\"Matthew\",role:\"Senior Analyst\",stars:4,title:\"Intro to Python — Excellent foundational course\",body:\"I took this early version of PyFi's Intro to Python course as a refresher on the foundations. I had some basic experience with Python before, but it had been years since I'd practiced and felt I needed to relearn the basics. This course does a fantastic job of explaining core concepts clearly. The material can be challenging as concepts build, but the instructor is thorough and patient. Highly recommend for anyone starting from scratch or looking to solidify their fundamentals.\"},{batch:2,initials:\"JF\",name:\"Jennifer F.\",role:\"Director of Structured Finance\",stars:5,title:\"Introduction to Python — two thumbs up\",body:\"The target audience and purpose of the training is simply defined, and it aligned with my goal and expectation. This is very important. The live-class is spread across multiple, structured sessions. As a busy professional, I appreciate this, because it allowed me to absorb the material at a reasonable pace.\"},{batch:2,initials:\"JG\",name:\"Jacob G.\",role:\"FP&A Manager\",stars:5,title:\"Introduction to Python Course\",body:\"The Introduction to Python course was a great start on the basics of Python. Zach was great at answering questions and taking the class along the journey to build a strong foundation of Python knowledge. This has me excited to continue learning more Python and applying it to my everyday work. I'll be recommending this to my team members in FP&A.\"},{batch:2,initials:\"DG\",name:\"Dylan G.\",role:\"Finance Officer\",stars:5,title:\"Great introduction to Python\",body:\"Zach does a good job of introducing and describing the foundations of Python while connecting to how expanded concepts could be applied in a Finance work setting. I especially appreciated the detail and care spent in addressing questions with walking through and proving example answers rather than simply stating them.\"},{batch:2,initials:\"FM\",name:\"Franklin Monzon\",role:\"Finance & Engineering Student\",stars:5,title:\"Python Fundamentals / Python Applied ML\",body:\"As a Finance student, we're always looking for ways to set ourselves apart in the space. I found that PyFi not only taught me the fundamentals of Python but also gave me a practical view of how Python and machine learning can be applied to real financial problems.\"},{batch:3,initials:\"BP\",name:\"Burhan P.\",role:\"Investment Analyst\",stars:5,title:\"Intro to Python\",body:\"This course provides an excellent foundation for Python, focusing on essentials before applications. Zach Washam clearly defines the course purpose, aligning it with a finance-oriented approach to learning. I would highly recommend this to any finance professional looking to strengthen their coding fundamentals.\"},{batch:3,initials:\"AC\",name:\"Austin C.\",role:\"Banking Associate\",stars:5,title:\"Great Introductory Course\",body:'The PyFi Introduction to Python course is a great introduction for professionals working in finance. The course most specifically excels at helping students through the \"where do I start?\" phase of learning Python by introducing users to GitHub\\'s CodeSpaces which is intuitive and easy to use.'},{batch:3,initials:\"JC\",name:\"Jon C.\",role:\"VP of Investments\",stars:5,title:\"PyFi | Intro to Python\",body:\"Great course that covers all the basics of getting started in Python from scratch. All the material was very accessible for anyone with Excel experience. Zach does a great job of making the material relatable to finance professionals.\"},{batch:3,initials:\"M\",name:\"Michael\",role:\"Portfolio Analyst\",stars:5,title:\"Excellent Course and Instructor\",body:\"Zach is a very intelligent, passionate instructor. The course is top tier. The material can be challenging as the concepts build, but the reward of understanding what you've built makes it worthwhile.\"},{batch:3,initials:\"A\",name:\"Anna\",role:\"Risk & Compliance Analyst\",stars:5,title:\"Introduction to Python\",body:\"I found this Python course incredibly useful and easy to follow. It covers the basics of Python programming and provides a solid foundation. The examples are clear, and I'm excited to explore how it can be used in finance.\"},{batch:3,initials:\"E\",name:\"Eric\",role:\"Senior Financial Analyst\",stars:5,title:\"Great Fundamentals Course!\",body:\"This course is a great intro and really helps lay the foundation for Python. I've tried other courses before on Udemy, but this class was definitely easier to follow along in. Highly recommend!\"},{batch:3,initials:\"TV\",name:\"Theodore Verona\",role:\"Treasury Analyst\",stars:5,title:\"Great course! Enjoyed it immensely\",body:\"Great foundation for understanding and using Python for finance. The instructor was thorough and patient, and the material was well structured for building knowledge step by step.\"}];function ReviewCard({review,delay}){const[visible,setVisible]=useState(false);useEffect(()=>{const t=setTimeout(()=>setVisible(true),delay);return()=>clearTimeout(t);},[delay]);const stars=\"★\".repeat(review.stars)+\"☆\".repeat(5-review.stars);return /*#__PURE__*/_jsx(\"div\",{style:{...cardWrap,...visible?cardWrapVisible:{}},children:/*#__PURE__*/_jsxs(\"div\",{style:cardInner,children:[/*#__PURE__*/_jsxs(\"div\",{style:header,children:[/*#__PURE__*/_jsx(\"div\",{style:avatar,children:review.initials}),/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"div\",{style:nameStyle,children:review.name}),/*#__PURE__*/_jsx(\"div\",{style:role,children:review.role})]})]}),/*#__PURE__*/_jsx(\"div\",{style:starsStyle,children:stars}),/*#__PURE__*/_jsx(\"div\",{style:titleStyle,children:review.title}),/*#__PURE__*/_jsx(\"div\",{style:body,children:review.body})]})});}export default function PyFiReviewWall(){const[maxBatch,setMaxBatch]=useState(1);const[cols,setCols]=useState(3);const containerRef=useRef(null);const visible=REVIEWS.filter(r=>r.batch<=maxBatch);useEffect(()=>{const el=containerRef.current;if(!el)return;let raf=0;const measure=w=>{if(w<640)setCols(1);else if(w<1024)setCols(2);else setCols(3);};const ro=new ResizeObserver(()=>{cancelAnimationFrame(raf);raf=requestAnimationFrame(()=>{if(el)measure(Math.round(el.clientWidth));});});measure(Math.round(el.clientWidth));ro.observe(el);return()=>{ro.disconnect();cancelAnimationFrame(raf);};},[]);const handleLoadMore=()=>setMaxBatch(b=>b<3?b+1:b);const remaining=maxBatch===1?6:7;const columns=Array.from({length:cols},()=>[]);visible.forEach((r,i)=>columns[i%cols].push(r));const offsets=cols===1?[0]:cols===2?[0,56]:[0,48,0];return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:container,children:[/*#__PURE__*/_jsx(\"div\",{style:{...gridWrap,gridTemplateColumns:`repeat(${cols}, minmax(0, 1fr))`},children:columns.map((col,ci)=>/*#__PURE__*/_jsx(\"div\",{style:{...columnStack,paddingTop:offsets[ci]},children:col.map((r,i)=>/*#__PURE__*/_jsx(ReviewCard,{review:r,delay:ci*80+i*60},`${r.batch}-${ci}-${i}`))},ci))}),maxBatch<3&&/*#__PURE__*/_jsx(\"div\",{style:moreWrap,children:/*#__PURE__*/_jsxs(\"button\",{style:moreBtn,onClick:handleLoadMore,children:[\"Show \",remaining,\" More Reviews\"]})})]});}const container={fontFamily:\"'Lato', -apple-system, BlinkMacSystemFont, sans-serif\",width:\"100%\",padding:\"96px 64px\",margin:0,boxSizing:\"border-box\",background:\"#15191A\",WebkitFontSmoothing:\"antialiased\"};const gridWrap={display:\"grid\",gap:24,width:\"100%\",alignItems:\"start\",maxWidth:1400,margin:\"0 auto\"};const columnStack={display:\"flex\",flexDirection:\"column\",gap:24,minWidth:0};const cardWrap={opacity:0,transform:\"translateY(20px)\",transition:\"opacity 0.5s ease, transform 0.5s ease\",width:\"100%\"};const cardWrapVisible={opacity:1,transform:\"translateY(0)\"};const cardInner={padding:\"22px 24px\",borderRadius:16,background:\"linear-gradient(100deg, #222A2C 0%, #222A2C 45%, rgba(146,230,247,0.12) 100%)\",border:\"1px solid rgba(146,230,247,0.3)\",boxShadow:\"0 14px 36px rgba(0,0,0,0.35), inset 0 0 0 1px rgba(146,230,247,0.05)\"};const header={display:\"flex\",alignItems:\"center\",gap:12,marginBottom:12};const avatar={width:36,height:36,borderRadius:\"50%\",background:\"#222A2C\",border:\"1.5px solid rgba(146,230,247,0.5)\",color:\"#92E6F7\",fontSize:13,fontWeight:900,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",flexShrink:0};const nameStyle={fontSize:13,fontWeight:700,color:\"#FFFFFF\",lineHeight:1.2};const role={fontSize:11,color:\"#888\",lineHeight:1.3};const starsStyle={color:\"#92E6F7\",fontSize:11,letterSpacing:2,marginBottom:8};const titleStyle={fontSize:14,fontWeight:700,color:\"#FFFFFF\",marginBottom:6,lineHeight:1.35};const body={fontSize:13,lineHeight:1.6,color:\"#D8D8D8\"};const moreWrap={textAlign:\"center\",marginTop:40};const moreBtn={display:\"inline-block\",padding:\"16px 48px\",borderRadius:50,border:\"2px solid rgba(146,230,247,0.5)\",background:\"transparent\",color:\"#92E6F7\",fontFamily:\"'Lato', sans-serif\",fontSize:15,fontWeight:700,cursor:\"pointer\",letterSpacing:.3};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PyFiReviewWall\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./PyFiReviewWall.map"],"mappings":"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"}