[{"data":1,"prerenderedAt":1267},["ShallowReactive",2],{"featured-projects":3},[4,440,834],{"id":5,"title":6,"body":7,"description":404,"extension":426,"featured":427,"meta":428,"navigation":427,"path":429,"seo":430,"sortOrder":431,"stem":432,"tagline":433,"tags":434,"__hash__":439},"projects/projects/climate-risk-map.md","Climate Risk Map Platform",{"type":8,"value":9,"toc":403},"minimark",[10,60,64,68,71,76,80,83,86,94,96,100,151,153,157,160,163,177,180,182,186,189,192,209,212,214,218,223,237,241,252,256,267,271,282,286,294,296,300,308,312,326,330,344,348,362,364,368,394,396,400],[11,12,27,28,27,37],"div",{"className":13},[14,15,16,17,18,19,20,21,22,23,24,25,26],"mb-8","flex","items-center","gap-4","rounded-xl","border","border-slate-200","bg-white/60","px-4","py-3","backdrop-blur","dark:border-slate-800","dark:bg-slate-950/50","\n  ",[29,30],"img",{"src":31,"alt":32,"className":33},"/images/logos/climasens.jpeg","Climasens",[34,35,36],"h-12","w-auto","object-contain",[11,38,42,43,42,52,27],{"className":39},[15,40,41],"flex-col","leading-tight","\n    ",[44,45,51],"span",{"className":46},[47,48,49,50],"text-xs","font-medium","text-slate-500","dark:text-slate-400","\n      Client\n    ",[44,53,59],{"className":54},[55,56,57,58],"text-sm","font-semibold","text-slate-900","dark:text-slate-100","\n      Climasens\n    ",[61,62],"stack-chips",{":items":63},"[\"Vue.js\", \"Nuxt.js\", \"Tailwind CSS\", \"Mapbox GL JS\", \"Firebase\", \"Carbon Vue\", \"JavaScript/TypeScript\"]",[65,66],"media-carousel",{":items":67},"[{\"type\": \"image\", \"src\": \"/images/projects/heat-risk/overview.webp\", \"caption\": \"Enterprise climate risk map interface with dynamic hazard layers, filters, and analytics views.\"}, {\"type\": \"image\", \"src\": \"/images/projects/heat-risk/futureHeatCropped.png\", \"caption\": \"Long-term heat risk visualization with scenario-based projections and time-horizon exploration.\"}, {\"type\": \"image\", \"src\": \"/images/projects/heat-risk/buildings.png\", \"caption\": \"Asset-level map overlays for property analysis and location-specific climate risk inspection.\"}]",[69,70],"hr",{},[72,73,75],"h2",{"id":74},"overview","Overview",[77,78,79],"p",{},"Climasens is an enterprise climate risk platform that helps businesses and governments understand and manage physical climate risk using geospatial data and climate models.",[77,81,82],{},"The platform supports multiple hazards, including floods, fire, extreme heat, and wind. It allows users to analyze risk across different time horizons, from short-term events to long-term projections spanning decades.",[77,84,85],{},"I lead the frontend of the platform. For over a year, I have been responsible for building and evolving the map experience, data visualization flows, and interactive features in a complex geospatial SaaS product.",[87,88,91],"callout",{"title":89,"type":90},"Project Scope","info",[77,92,93],{},"This case study focuses on my frontend work: architecture decisions, Mapbox integration, dynamic hazard layers, API integration, performance optimization, component refactoring, and translating Figma designs into production-ready features.",[69,95],{},[72,97,99],{"id":98},"my-role","My Role",[101,102,104],"contribution",{"role":103},"Frontend Lead",[105,106,107,111,114,117,120,128,131,134],"ul",{},[108,109,110],"li",{},"Lead frontend architecture across map, analytics, and interaction layers",[108,112,113],{},"Develop new features for an evolving enterprise SaaS product",[108,115,116],{},"Maintain and refactor existing components to improve scalability and code quality",[108,118,119],{},"Integrate frontend features with backend risk and analytics APIs",[108,121,122,123,127],{},"Manage ",[124,125,126],"code",{},"Mapbox GL JS"," layers for multiple climate hazards",[108,129,130],{},"Build dynamic indicators, filters, overlays, and data visualization components",[108,132,133],{},"Optimize performance for map rendering and data-heavy interfaces",[108,135,136,137,140,141,140,144,147,148],{},"Translate Figma designs into production-ready components using ",[124,138,139],{},"Nuxt",", ",[124,142,143],{},"Vue",[124,145,146],{},"Carbon Vue",", and ",[124,149,150],{},"Tailwind CSS",[69,152],{},[72,154,156],{"id":155},"problem","Problem",[77,158,159],{},"The platform needed to present large volumes of climate data in a way that was clear, fast, and interactive.",[77,161,162],{},"Users must:",[105,164,165,168,171,174],{},[108,166,167],{},"Explore risk across millions of properties",[108,169,170],{},"Compare multiple hazards",[108,172,173],{},"Switch between scenarios and time horizons",[108,175,176],{},"Interact with data-heavy maps and analytics panels",[77,178,179],{},"As the product grew, frontend complexity increased. The challenge was not only adding features, but keeping the system maintainable and responsive as new datasets and capabilities were introduced.",[69,181],{},[72,183,185],{"id":184},"solution","Solution",[77,187,188],{},"I evolved the frontend architecture with a focus on modularity, performance, and long-term maintainability.",[77,190,191],{},"Key improvements included:",[105,193,194,197,200,203,206],{},[108,195,196],{},"Separating map logic into clearer modules and composables",[108,198,199],{},"Reducing coupling between hazard configuration, layer rendering, and UI controls",[108,201,202],{},"Standardizing data flow between filters, indicators, map overlays, and API responses",[108,204,205],{},"Refactoring large components into smaller, easier-to-maintain units",[108,207,208],{},"Preserving performance while adding new hazards, projections, and analytics features",[77,210,211],{},"This approach allowed the product to grow without sacrificing stability or user experience.",[69,213],{},[72,215,217],{"id":216},"application-features","Application Features",[219,220,222],"h3",{"id":221},"geospatial-hazard-visualization","Geospatial Hazard Visualization",[105,224,225,231,234],{},[108,226,227,228,230],{},"Interactive ",[124,229,126],{}," maps for flood, fire, heat, and wind risks",[108,232,233],{},"Dynamic hazard switching and overlay controls",[108,235,236],{},"Region-aware map behavior across different datasets",[219,238,240],{"id":239},"asset-level-risk-analysis","Asset-Level Risk Analysis",[105,242,243,246,249],{},[108,244,245],{},"Property-level overlays for location-specific risk inspection",[108,247,248],{},"Integration with backend risk scoring APIs",[108,250,251],{},"Context-aware map interactions linked to selected assets",[219,253,255],{"id":254},"multi-horizon-scenario-exploration","Multi-Horizon & Scenario Exploration",[105,257,258,261,264],{},[108,259,260],{},"Short-term and long-term climate projections",[108,262,263],{},"Scenario comparison (e.g., SSP pathways)",[108,265,266],{},"Dynamic legends, indicators, and visual updates",[219,268,270],{"id":269},"data-rich-analytics-filtering","Data-Rich Analytics & Filtering",[105,272,273,276,279],{},[108,274,275],{},"Interactive filters for exploring complex risk data",[108,277,278],{},"Risk summary panels and supporting metrics",[108,280,281],{},"Coordinated state across map, panels, and overlays",[219,283,285],{"id":284},"alerts-real-time-views","Alerts & Real-Time Views",[105,287,288,291],{},[108,289,290],{},"Frontend support for real-time data updates",[108,292,293],{},"Stable UI behavior during asynchronous refresh cycles",[69,295],{},[72,297,299],{"id":298},"technical-highlights","Technical Highlights",[301,302,305],"decision",{"title":303,"tradeoff":304},"Modular frontend architecture for enterprise geospatial SaaS","Initial refactoring effort → long-term scalability and safer feature expansion",[77,306,307],{},"I refactored large map and analytics components into modular composables and reusable UI patterns. This reduced tight coupling between map rendering and business logic, making it easier to add new hazards, indicators, and features over time.",[219,309,311],{"id":310},"frontend-architecture-nuxt-vue","Frontend Architecture (Nuxt + Vue)",[105,313,314,317,320,323],{},[108,315,316],{},"Composable-based patterns for map behavior and UI state management",[108,318,319],{},"Refactoring large components into smaller, focused units",[108,321,322],{},"Reusable components for filters, panels, and indicator displays",[108,324,325],{},"Clean API integration without mixing UI logic and data-processing logic",[219,327,329],{"id":328},"geospatial-rendering-performance","Geospatial Rendering & Performance",[105,331,332,335,338,341],{},[108,333,334],{},"Optimized dynamic layer rendering and frequent state updates",[108,336,337],{},"Careful update strategies for overlays, legends, and interactions",[108,339,340],{},"Handling high-density geospatial data while maintaining smooth performance",[108,342,343],{},"Synchronization between map state and analytics panels",[219,345,347],{"id":346},"complex-state-management","Complex State Management",[105,349,350,353,356,359],{},[108,351,352],{},"Coordinated UI state across map controls and projection modes",[108,354,355],{},"Support for multi-scenario climate projections",[108,357,358],{},"Stable handling of asynchronous data updates",[108,360,361],{},"Designed for enterprise workflows involving repeated, data-heavy exploration",[69,363],{},[72,365,367],{"id":366},"what-this-project-demonstrates","What This Project Demonstrates",[105,369,370,373,376,382,385,388,391],{},[108,371,372],{},"Frontend leadership on an enterprise geospatial SaaS platform",[108,374,375],{},"Long-term ownership of a complex production frontend (1+ year)",[108,377,378,379,381],{},"Strong ",[124,380,126],{}," integration and geospatial engineering",[108,383,384],{},"Scalable frontend architecture for data-heavy applications",[108,386,387],{},"Performance optimization for interactive map systems",[108,389,390],{},"Collaboration within a multi-team product environment",[108,392,393],{},"Production implementation of UI/UX designs in a technically complex domain",[69,395],{},[72,397,399],{"id":398},"impact","Impact",[77,401,402],{},"This project represents my most advanced frontend work to date. I have led the evolution of a production climate intelligence platform, focusing on scalability, maintainability, and performance. My contributions ensure the frontend can safely grow as new hazards, datasets, and analytics capabilities are added over time.",{"title":404,"searchDepth":405,"depth":405,"links":406},"",2,[407,408,409,410,411,419,424,425],{"id":74,"depth":405,"text":75},{"id":98,"depth":405,"text":99},{"id":155,"depth":405,"text":156},{"id":184,"depth":405,"text":185},{"id":216,"depth":405,"text":217,"children":412},[413,415,416,417,418],{"id":221,"depth":414,"text":222},3,{"id":239,"depth":414,"text":240},{"id":254,"depth":414,"text":255},{"id":269,"depth":414,"text":270},{"id":284,"depth":414,"text":285},{"id":298,"depth":405,"text":299,"children":420},[421,422,423],{"id":310,"depth":414,"text":311},{"id":328,"depth":414,"text":329},{"id":346,"depth":414,"text":347},{"id":366,"depth":405,"text":367},{"id":398,"depth":405,"text":399},"md",true,{},"/projects/climate-risk-map",{"title":6,"description":404},1,"projects/climate-risk-map","Enterprise geospatial SaaS frontend for climate risk analysis and decision support",[435,436,150,126,437,146,438],"Vue.js","Nuxt.js","Firebase","JavaScript/TypeScript","H_GzckHX149Hmli8P6T-GYFhE6x8nxpBJcu5YMPY-oU",{"id":441,"title":442,"body":443,"description":404,"extension":426,"featured":427,"meta":825,"navigation":427,"path":826,"seo":827,"sortOrder":828,"stem":829,"tagline":830,"tags":831,"__hash__":833},"projects/projects/cool-cats-event.md","Cooltopia - Cool Cats NFT",{"type":8,"value":444,"toc":805},[445,463,466,472,478,480,482,485,488,490,492,554,556,558,561,564,566,568,571,574,601,604,606,608,612,623,627,638,642,653,657,668,672,683,685,687,700,704,726,730,746,750,772,774,776,796,798,800,803],[11,446,27,448,27,453],{"className":447},[14,15,16,17,18,19,20,21,22,23,24,25,26],[29,449],{"src":450,"alt":451,"className":452},"/images/logos/coolcats.png","Cool Cats",[34,35,36],[11,454,42,456,42,459,27],{"className":455},[15,40,41],[44,457,51],{"className":458},[47,48,49,50],[44,460,462],{"className":461},[55,56,57,58],"\n      Cooltopia 2022 - New York, USA\n    ",[61,464],{":items":465},"[\"Node.js\", \"NestJS\", \"MongoDB\", \"RabbitMQ\", \"MQTT\", \"SendGrid\", \"Vue.js\", \"Quasar Framework\", \"Electron\", \"Ionic Vue\", \"JavaScript/TypeScript\"]",[467,468],"screenshot",{"caption":469,"src":470,"type":471},"Application layer powering NFC check-ins, game participation, scoring, and reward redemption during the Cooltopia live event","/images/projects/cooltopia/overview.mp4","video",[87,473,475],{"title":474,"type":90},"Context",[77,476,477],{},"Cooltopia was a large physical Cool Cats NFT event held in July 2022 at Center415 in New York City (30,000 sq ft venue). The event operated as an immersive mini amusement park where each attendee used an NFC-enabled bracelet to access activities, track points, and redeem rewards across the venue.",[69,479],{},[72,481,75],{"id":74},[77,483,484],{},"Cooltopia was a connected physical-to-digital event system where attendees used NFC bracelets to start games, track performance, accumulate points in real time, and redeem merchandise or food rewards. The platform acted as the operational application layer for participant identity, scoring, activity tracking, and reward redemption across multiple stations in the venue.",[77,486,487],{},"I built the full application layer of the system, including backend APIs, scoring logic, participant tracking, totem interfaces, a reward redemption app, and an event CMS. The result was a real-world event platform designed to support high traffic, distributed interactions, and real-time state consistency during live operations.",[69,489],{},[72,491,99],{"id":98},[101,493,495],{"role":494},"Full-Stack Engineer",[105,496,497,512,515,518,521,524,531,544,551],{},[108,498,499,500,140,503,140,506,147,509],{},"Designed and implemented backend APIs using ",[124,501,502],{},"Node.js",[124,504,505],{},"NestJS",[124,507,508],{},"MongoDB",[124,510,511],{},"TypeScript",[108,513,514],{},"Built participant identity and activity tracking flows based on NFC bracelet scans",[108,516,517],{},"Implemented game scoring logic, including time-based scoring and accumulated points management",[108,519,520],{},"Ingested score data from multiple sources, including external digital game systems",[108,522,523],{},"Stored participant activity history and synchronized score/points updates across the event system",[108,525,526,527,530],{},"Integrated backend workflows with event devices and partner systems, including treasure chest integration via ",[124,528,529],{},"MQTT"," and API-based integrations for totems and other event flows",[108,532,533,534,536,537,536,540,543],{},"Built totem frontend applications (",[124,535,435],{}," + ",[124,538,539],{},"Quasar",[124,541,542],{},"Electron",") for participant interactions",[108,545,546,547,550],{},"Built a separate reward redemption app (",[124,548,549],{},"Ionic Vue",") with real-time point deduction and backend sync",[108,552,553],{},"Built an event CMS for participant management, activity administration, email sending, and manual point adjustments",[69,555],{},[72,557,156],{"id":155},[77,559,560],{},"The event needed a reliable application system to coordinate participant activity across many physical stations in real time. Each attendee used a single NFC bracelet identity across games, scoring stations, and reward redemption, so the platform had to maintain consistent participant state while handling high event traffic and multiple score sources.",[77,562,563],{},"The engineering challenge was to connect physical interactions and digital systems into one operational workflow without delays, double counting, or point inconsistencies during a live event.",[69,565],{},[72,567,185],{"id":184},[77,569,570],{},"I built a full-stack event platform centered on NFC-based participant identity and real-time point tracking. The backend handled participant state, score ingestion, scoring rules, activity history, and redemption logic, while the frontend applications handled participant-facing totems, reward redemption interactions, and event operations through a CMS.",[77,572,573],{},"The system was designed to support live-event reliability by:",[105,575,576,579,582,585,588],{},[108,577,578],{},"Using a centralized participant record tied to NFC bracelet scans",[108,580,581],{},"Processing score updates from time-based activities and external digital games",[108,583,584],{},"Synchronizing points and redemption state across totems, reward devices, and admin tools",[108,586,587],{},"Separating operational interfaces by role (participant totems, redemption app, CMS)",[108,589,590,591,593,594,536,597,600],{},"Integrating treasure chest communication (",[124,592,529],{},") and participant email workflows (",[124,595,596],{},"RabbitMQ",[124,598,599],{},"SendGrid",") alongside API-based event integrations",[77,602,603],{},"This approach made the platform the operational brain of the event, connecting physical installations and digital experiences through a shared application layer.",[69,605],{},[72,607,217],{"id":216},[219,609,611],{"id":610},"nfc-bracelet-identity-participant-tracking","NFC Bracelet Identity & Participant Tracking",[105,613,614,617,620],{},[108,615,616],{},"NFC scan-based participant identification across games, activities, and reward redemption",[108,618,619],{},"Centralized participant profile and points tracking across the venue",[108,621,622],{},"Full activity history storage for auditing and operational support",[219,624,626],{"id":625},"totem-applications-vue-quasar-electron","Totem Applications (Vue + Quasar + Electron)",[105,628,629,632,635],{},[108,630,631],{},"Participant-facing totem interfaces to start and finish activities",[108,633,634],{},"Real-time display of results and accumulated points",[108,636,637],{},"Fast, simple interactions designed for high throughput during live event traffic",[219,639,641],{"id":640},"scoring-score-ingestion-system","Scoring & Score Ingestion System",[105,643,644,647,650],{},[108,645,646],{},"Time-based game scoring logic managed in the backend",[108,648,649],{},"Score ingestion from external digital games and integrated partner systems",[108,651,652],{},"Point accumulation updates synchronized to participant records and frontends",[219,654,656],{"id":655},"reward-redemption-app-ionic-vue","Reward Redemption App (Ionic Vue)",[105,658,659,662,665],{},[108,660,661],{},"Separate redemption application for merchandise and food selection",[108,663,664],{},"NFC scan to identify participant and fetch current points",[108,666,667],{},"Automatic point deduction and real-time backend synchronization during redemption",[219,669,671],{"id":670},"event-cms-operations","Event CMS & Operations",[105,673,674,677,680],{},[108,675,676],{},"CMS for participant management and activity administration",[108,678,679],{},"Email sending workflows for event operations and communication",[108,681,682],{},"Manual point adjustment tools for operational corrections when needed",[69,684],{},[72,686,299],{"id":298},[301,688,691],{"title":689,"tradeoff":690},"Using the right integration path for each event workflow","Multiple integration patterns → clearer responsibilities and more reliable operations",[77,692,693,694,696,697,699],{},"I used ",[124,695,529],{}," specifically for the treasure chest integration, while totems and other event interactions used normal API-based communication. ",[124,698,596],{}," was used for asynchronous participant email workflows. This separation matched the runtime needs of each integration and kept the system easier to reason about during live operations.",[219,701,703],{"id":702},"backend-application-layer-nestjs-mongodb","Backend Application Layer (NestJS + MongoDB)",[105,705,706,709,712,715],{},[108,707,708],{},"API design for participant tracking, activities, scoring, redemption, and CMS operations",[108,710,711],{},"Centralized participant state management tied to NFC bracelet identity",[108,713,714],{},"Storage of detailed activity history and accumulated points",[108,716,717,718,720,721,536,723,725],{},"Integration points for external digital game systems, API-based event clients (including totems), treasure chest communication (",[124,719,529],{},"), and email workflows (",[124,722,596],{},[124,724,599],{},")",[219,727,729],{"id":728},"real-time-event-integration-consistency","Real-Time Event Integration & Consistency",[105,731,732,735,740,743],{},[108,733,734],{},"Multi-source score ingestion (time-based games + external game APIs)",[108,736,737,739],{},[124,738,529],{}," integration for the treasure chest physical interaction workflow",[108,741,742],{},"Consistency of points and redemption state across distributed devices and apps",[108,744,745],{},"Cross-team integration with digital game systems, totem/client API flows, and physical installation workflows",[219,747,749],{"id":748},"frontend-applications-totems-redemption-app-cms","Frontend Applications (Totems, Redemption App, CMS)",[105,751,752,761,766,769],{},[108,753,754,536,756,536,758,760],{},[124,755,435],{},[124,757,539],{},[124,759,542],{}," totem interfaces optimized for event-floor usage",[108,762,763,765],{},[124,764,549],{}," redemption app for staff-operated reward and food redemption flows",[108,767,768],{},"Admin CMS interfaces supporting live event operations and exception handling",[108,770,771],{},"UI behavior designed for quick interactions, clear feedback, and continuous operation",[69,773],{},[72,775,367],{"id":366},[105,777,778,781,784,787,790,793],{},[108,779,780],{},"Full-stack ownership of a real-world event platform application layer",[108,782,783],{},"Real-time systems engineering for live operational environments",[108,785,786],{},"NFC-based identity management and physical-to-digital workflow integration",[108,788,789],{},"Backend architecture for distributed scoring, participant tracking, and redemption logic",[108,791,792],{},"Cross-team technical integration with digital game teams and physical installation teams",[108,794,795],{},"Event-scale reliability and state consistency across multiple apps and devices",[69,797],{},[72,799,399],{"id":398},[77,801,802],{},"Cooltopia demonstrates full-stack engineering ownership in a high-scale live event environment. The system successfully connected NFC identity, scoring, participant tracking, and reward redemption across physical stations and digital applications, enabling the event to operate as a unified gamified experience in real time.",[69,804],{},{"title":404,"searchDepth":405,"depth":405,"links":806},[807,808,809,810,811,818,823,824],{"id":74,"depth":405,"text":75},{"id":98,"depth":405,"text":99},{"id":155,"depth":405,"text":156},{"id":184,"depth":405,"text":185},{"id":216,"depth":405,"text":217,"children":812},[813,814,815,816,817],{"id":610,"depth":414,"text":611},{"id":625,"depth":414,"text":626},{"id":640,"depth":414,"text":641},{"id":655,"depth":414,"text":656},{"id":670,"depth":414,"text":671},{"id":298,"depth":405,"text":299,"children":819},[820,821,822],{"id":702,"depth":414,"text":703},{"id":728,"depth":414,"text":729},{"id":748,"depth":414,"text":749},{"id":366,"depth":405,"text":367},{"id":398,"depth":405,"text":399},{},"/projects/cool-cats-event",{"title":442,"description":404},4,"projects/cool-cats-event","Full-stack NFC-powered event platform for a large-scale interactive live experience",[502,505,508,596,529,599,435,832,542,549,438],"Quasar Framework","CBFwZdCRo82J4LLR--likd4HNq8m47JjdfgTeCxDh3Q",{"id":835,"title":836,"body":837,"description":404,"extension":426,"featured":427,"meta":1258,"navigation":427,"path":1259,"seo":1260,"sortOrder":414,"stem":1261,"tagline":1262,"tags":1263,"__hash__":1266},"projects/projects/qualivendas-platform.md","QualiVendas Insurance Sales Platform",{"type":8,"value":838,"toc":1237},[839,858,861,865,870,872,874,877,880,883,898,901,903,905,908,911,914,952,955,957,961,964,987,990,992,994,997,1000,1020,1023,1025,1027,1030,1047,1054,1057,1059,1061,1064,1089,1092,1109,1113,1127,1129,1131,1135,1156,1160,1176,1180,1197,1199,1201,1227,1229,1231,1234],[11,840,27,842,27,848],{"className":841},[14,15,16,17,18,19,20,21,22,23,24,25,26],[29,843],{"src":844,"alt":845,"className":846},"/images/logos/qualicorp.png","Qualicorp",[847,35,36],"h-8",[11,849,42,851,42,854,27],{"className":850},[15,40,41],[44,852,51],{"className":853},[47,48,49,50],[44,855,857],{"className":856},[55,56,57,58],"\n      Qualicorp - Brazil's largest health insurance administrator\n    ",[61,859],{":items":860},"[\"Node.js\", \"Express.js\", \"Vue.js\", \"Neo4j\", \"BootstrapVue\", \"Vuetify\", \"AWS S3\", \"JavaScript/TypeScript\"]",[467,862],{"caption":863,"src":864,"type":471},"Enterprise application ecosystem for health insurance proposal creation, governance, and operational management","/images/projects/qualivendas/overview.mov",[87,866,867],{"title":474,"type":90},[77,868,869],{},"QualiVendas is a nationwide digital ecosystem used to manage the full lifecycle of health insurance sales in Brazil. It includes a broker platform for proposal creation and submission, and an admin platform for governance, permissions, and operational control.",[69,871],{},[72,873,75],{"id":74},[77,875,876],{},"QualiVendas is a nationwide digital platform used to manage the full lifecycle of health insurance sales in Brazil.",[77,878,879],{},"The system replaced manual and fragmented processes with a structured digital workflow capable of handling high proposal volume while enforcing strict business and regulatory rules.",[77,881,882],{},"The ecosystem includes two connected platforms:",[105,884,885,892],{},[108,886,887,891],{},[888,889,890],"strong",{},"Broker Platform",": used by brokers to create and submit health insurance proposals",[108,893,894,897],{},[888,895,896],{},"Admin Platform",": used by supervisors and managers to control permissions, monitor operations, and manage governance",[77,899,900],{},"I worked on the project in two phases: first as a Full-Stack Engineer building core features, and later as a Technical Lead guiding technical decisions, code quality, and delivery execution.",[69,902],{},[72,904,99],{"id":98},[219,906,494],{"id":907},"full-stack-engineer",[77,909,910],{},"I built and maintained features across both frontend and backend layers.",[77,912,913],{},"My responsibilities included:",[105,915,916,921,930,936,939,942,949],{},[108,917,918,919],{},"Building scalable frontend flows using ",[124,920,435],{},[108,922,923,924,926,927],{},"Developing REST APIs using ",[124,925,502],{}," and ",[124,928,929],{},"Express.js",[108,931,932,933],{},"Modeling complex business relationships in ",[124,934,935],{},"Neo4j",[108,937,938],{},"Implementing proposal validations and eligibility rules",[108,940,941],{},"Managing proposal status transitions (draft, submitted, approved, rejected, returned)",[108,943,944,945,948],{},"Integrating document generation and ",[124,946,947],{},"AWS S3"," storage",[108,950,951],{},"Supporting production issues and improving system stability",[77,953,954],{},"I worked across the full lifecycle of a proposal, from UI interaction to backend processing and database persistence.",[69,956],{},[219,958,960],{"id":959},"technical-lead-later-phase","Technical Lead (Later Phase)",[77,962,963],{},"After transitioning into a Technical Lead role, I expanded my responsibilities to include:",[105,965,966,969,972,975,978,981,984],{},[108,967,968],{},"Defining technical approaches for new features",[108,970,971],{},"Reviewing pull requests and maintaining code quality standards",[108,973,974],{},"Coordinating frontend, backend, and QA teams",[108,976,977],{},"Supporting sprint planning and technical discussions",[108,979,980],{},"Ensuring delivery consistency across releases",[108,982,983],{},"Acting as a bridge between business stakeholders and developers",[108,985,986],{},"Managing urgent production issues and hotfixes",[77,988,989],{},"I continued contributing code while helping guide the technical direction of the platform.",[69,991],{},[72,993,156],{"id":155},[77,995,996],{},"Health insurance sales require strict control over eligibility rules, billing logic, and proposal validation. Manual processes created delays, inconsistencies, and operational risk.",[77,998,999],{},"The platform needed to:",[105,1001,1002,1005,1008,1011,1014,1017],{},[108,1003,1004],{},"Support high-volume proposal creation nationwide",[108,1006,1007],{},"Enforce strict business and regulatory rules",[108,1009,1010],{},"Serve multiple user roles with different permissions",[108,1012,1013],{},"Track proposal status across its full lifecycle",[108,1015,1016],{},"Allow corrections and resubmissions safely",[108,1018,1019],{},"Provide governance and visibility for supervisors and managers",[77,1021,1022],{},"The challenge was building a reliable system that could handle operational complexity while remaining scalable and maintainable.",[69,1024],{},[72,1026,185],{"id":184},[77,1028,1029],{},"I helped build and evolve both the broker and admin platforms with a focus on:",[105,1031,1032,1035,1038,1041,1044],{},[108,1033,1034],{},"Reliable proposal workflows",[108,1036,1037],{},"Strong validation and rule enforcement",[108,1039,1040],{},"Clear lifecycle control",[108,1042,1043],{},"Scalable architecture",[108,1045,1046],{},"Production stability",[77,1048,1049,1050,1053],{},"On the frontend, I implemented structured multi-step workflows and role-based UI restrictions.",[1051,1052],"br",{},"\nOn the backend, I implemented business logic, validation layers, lifecycle transitions, and domain modeling.",[77,1055,1056],{},"As the platform matured, I also helped improve long-term maintainability through refactoring, code review, and technical leadership.",[69,1058],{},[72,1060,217],{"id":216},[219,1062,890],{"id":1063},"broker-platform",[105,1065,1066,1069,1072,1075,1078,1083,1086],{},[108,1067,1068],{},"Multi-step proposal creation workflow",[108,1070,1071],{},"Policyholder and dependent registration",[108,1073,1074],{},"Plan eligibility validation",[108,1076,1077],{},"Billing configuration and data verification",[108,1079,1080,1081,725],{},"Digital document generation and storage (",[124,1082,947],{},[108,1084,1085],{},"Proposal submission and status tracking",[108,1087,1088],{},"Correction and resubmission flows",[219,1090,896],{"id":1091},"admin-platform",[105,1093,1094,1097,1100,1103,1106],{},[108,1095,1096],{},"Role-based access control",[108,1098,1099],{},"Hierarchical permission management",[108,1101,1102],{},"Operational oversight for supervisors and managers",[108,1104,1105],{},"Proposal monitoring and workflow visibility",[108,1107,1108],{},"Governance controls across broker structures",[219,1110,1112],{"id":1111},"shared-workflow-across-platforms","Shared Workflow Across Platforms",[105,1114,1115,1118,1121,1124],{},[108,1116,1117],{},"Consistent proposal status tracking across broker and admin systems",[108,1119,1120],{},"Controlled status transitions with validation checks",[108,1122,1123],{},"Centralized rule enforcement at the application level",[108,1125,1126],{},"Production support tools to maintain operational continuity",[69,1128],{},[72,1130,299],{"id":298},[219,1132,1134],{"id":1133},"full-stack-engineering-vue-express","Full-Stack Engineering (Vue + Express)",[105,1136,1137,1142,1150,1153],{},[108,1138,1139,1141],{},[124,1140,435],{}," frontend architecture for scalable enterprise workflows",[108,1143,1144,1145,1147,1148],{},"REST API development with ",[124,1146,502],{}," / ",[124,1149,929],{},[108,1151,1152],{},"Role-based UI and backend validation working together",[108,1154,1155],{},"Continuous refactoring to maintain clarity in complex workflows",[219,1157,1159],{"id":1158},"domain-modeling-workflow-control","Domain Modeling & Workflow Control",[105,1161,1162,1167,1170,1173],{},[108,1163,1164,1166],{},[124,1165,935],{}," graph modeling for relationship-heavy insurance logic",[108,1168,1169],{},"Controlled proposal lifecycle transitions",[108,1171,1172],{},"Validation across proposal, dependents, billing, and document flows",[108,1174,1175],{},"Strict enforcement of regulatory and business rules",[219,1177,1179],{"id":1178},"delivery-production-reliability","Delivery & Production Reliability",[105,1181,1182,1185,1188,1191,1194],{},[108,1183,1184],{},"Transition from feature development to technical leadership",[108,1186,1187],{},"Code review and standards enforcement",[108,1189,1190],{},"Cross-team coordination (frontend, backend, QA, PO, PM)",[108,1192,1193],{},"Sprint planning and execution in a Scrum/Kanban hybrid model",[108,1195,1196],{},"Rapid response to production issues and urgent fixes",[69,1198],{},[72,1200,367],{"id":366},[105,1202,1203,1206,1209,1212,1218,1221,1224],{},[108,1204,1205],{},"Full-stack engineering in a business-critical insurance domain",[108,1207,1208],{},"Experience building high-volume production workflows",[108,1210,1211],{},"Strong business rule enforcement and lifecycle management",[108,1213,1214,1215,1217],{},"Graph database modeling (",[124,1216,935],{},") for complex relationships",[108,1219,1220],{},"Governance-aware system design with hierarchical permissions",[108,1222,1223],{},"Technical leadership progression within a live enterprise product",[108,1225,1226],{},"Delivery ownership across development, maintenance, and production support",[69,1228],{},[72,1230,399],{"id":398},[77,1232,1233],{},"QualiVendas is a large-scale production system directly supporting nationwide health insurance sales operations.",[77,1235,1236],{},"My contributions helped build, stabilize, and evolve the platform across multiple phases, from full-stack feature development to technical leadership, ensuring reliable proposal workflows, controlled governance, and consistent delivery in a complex enterprise environment.",{"title":404,"searchDepth":405,"depth":405,"links":1238},[1239,1240,1244,1245,1246,1251,1256,1257],{"id":74,"depth":405,"text":75},{"id":98,"depth":405,"text":99,"children":1241},[1242,1243],{"id":907,"depth":414,"text":494},{"id":959,"depth":414,"text":960},{"id":155,"depth":405,"text":156},{"id":184,"depth":405,"text":185},{"id":216,"depth":405,"text":217,"children":1247},[1248,1249,1250],{"id":1063,"depth":414,"text":890},{"id":1091,"depth":414,"text":896},{"id":1111,"depth":414,"text":1112},{"id":298,"depth":405,"text":299,"children":1252},[1253,1254,1255],{"id":1133,"depth":414,"text":1134},{"id":1158,"depth":414,"text":1159},{"id":1178,"depth":414,"text":1179},{"id":366,"depth":405,"text":367},{"id":398,"depth":405,"text":399},{},"/projects/qualivendas-platform",{"title":836,"description":404},"projects/qualivendas-platform","Enterprise insurance sales ecosystem for proposal workflow, governance, and operations at nationwide scale",[502,435,929,935,1264,1265,947,438],"BootstrapVue","Vuetify","zotKptX6oL6dc6PbiXlixAeG9XIvcJJoE2sn0_IWHSU",1778044212345]