[{"data":1,"prerenderedAt":623},["ShallowReactive",2],{"navigation":3,"index":14,"mdc--dem4pa-key":135,"mdc-dots5f-key":157,"mdc-x3i0lj-key":166,"mdc--sywoze-key":175,"index-blogs":184,"$f31fvul9fnj5i9":227},[4],{"title":5,"path":6,"stem":7,"children":8,"page":13},"Blog","\u002Fblog","blog",[9],{"title":10,"path":11,"stem":12},"\"It can't be done\"... but I did it anyway\n","\u002Fblog\u002Fhow-i-built-my-own","blog\u002Fhow-i-built-my-own",false,{"id":15,"title":16,"about":17,"blog":20,"body":23,"description":30,"experience":31,"extension":83,"faq":84,"hero":123,"meta":126,"navigation":127,"path":128,"seo":129,"stem":132,"testimonials":133,"__hash__":134},"index\u002Findex.md","Hello, my name is Anthony Steiner",{"title":18,"description":19},"About Me","As a Consulting Technologist and Principal-level Software Engineer with slightly over 22 years of experience, \nI leverage my extensive experience across various technology stacks to craft a bespoke digital experience.\nMy approach blends creative strategy with technical expertise, transforming concepts into functional, \npurposeful digital products that seamlessly integrate design and technology. \\\n\\\nI thrive on solving complex technical challenges and ensuring that every component works harmoniously within the larger ecosystem.\nHowever I always relish and opportunity to explore new technologies and innovative approaches, ensuring that my work remains at the cutting edge of the digital landscape.\n",{"title":21,"description":22},"Latest Articles","Some of my recent thoughts",{"type":24,"value":25,"toc":26},"minimark",[],{"title":27,"searchDepth":28,"depth":28,"links":29},"",2,[],"A Consulting Technologist and Principal-level Software Engineer with experience in most mainstream technology stacks (and a few lesser-known ones).",{"title":32,"items":33},"Work Experience",[34,41,48,55,62,69,76],{"company":35,"position":39,"date":40},{"name":36,"color":37,"logo":27,"url":38},"M&T Bank","#78ab37","https:\u002F\u002Fwww.mtb.com","Principal Software Engineer","2022-05 - Present",{"company":42,"position":46,"date":47},{"name":43,"color":44,"logo":27,"url":45},"Mongoose","#37BA95","https:\u002F\u002Fhellomongoose.com","Backend Software Engineer","2021-10 - 2022-05",{"company":49,"position":53,"date":54},{"name":50,"color":51,"logo":27,"url":52},"Self-Employed","#2196F3","https:\u002F\u002Fsteinerd.com","Consulting Technologist","2020-07 - 2021-09",{"company":56,"position":60,"date":61},{"name":57,"color":58,"logo":27,"url":59},"IDSync","#0068f0","https:\u002F\u002Fwww.idsync.com","Lead Engineer","2012-03 - 2020-07",{"company":63,"position":67,"date":68},{"name":64,"color":65,"logo":27,"url":66},"Mueller Services","#c8102e","https:\u002F\u002Fwww.muellerreports.com","Software Developer II","2010-11 - 2012-03",{"company":70,"position":74,"date":75},{"name":71,"color":72,"logo":27,"url":73},"LDI, Inc.","#4D818C","https:\u002F\u002Fshipldi.com","Junior Developer","2010-01 - 2010-08",{"company":77,"position":81,"date":82},{"name":78,"color":79,"logo":27,"url":80},"NGJ, Inc.","red","https:\u002F\u002Fwww.livingstonintl.com\u002Fnorman-g-jensen-inc\u002F","App Support Specialist","2004-01 - 2010-08","md",{"title":85,"description":86,"categories":87},"Frequently Asked Questions","Answers to common questions about my process and services.",[88,100,115],{"title":89,"questions":90},"Services & Process",[91,94,97],{"label":92,"content":93},"What services do you offer?","I specialize in consulting on technology strategy, software architecture, and full-stack development. \nI help organizations design and implement robust, scalable, and efficient solutions with technology that makes the most sense to their team and future.\n",{"label":95,"content":96},"What is your design process like?","My process is collaborative and iterative, \ntypically involving stages like Discovery & Research, \nIdeation & Prototyping, User Testing, Visual Design\n, and close collaboration with development teams during implementation. \nI tailor the process based on project needs, always focusing on user-centered solutions.\n",{"label":98,"content":99},"Do you work with startups?","Absolutely! I enjoy working with startups to help shape their product vision and create user-friendly interfaces from the ground up. \nI can adapt my process to fit the fast-paced startup environment.\n",{"title":101,"questions":102},"Pricing & Timelines",[103,106,109,112],{"label":104,"content":105},"How much does a project typically cost?","Project costs vary based on scope, complexity, features, and timeline. \nFor comprehensive UX\u002FUI design and front-end development projects, \nmy engagements typically start around $7,000, with average projects ranging between $8,000 and $25,000 based on scope and complexity.\nFor consulting or advisory work where I am to provide guidance or expertise on a project, my standard day-rate is $1,200 per day, but based on the scope and duration, this is negotiable.\n",{"label":107,"content":108},"What are your payment terms?","I generally require a 50% deposit to schedule the project and begin work, with the remaining 50% due upon successful project completion and delivery. This keeps both parties committed and ensures a smooth workflow.\nI accept payments via bank transfer and Stripe.\n",{"label":110,"content":111},"How long does a typical project take?","Timelines depend heavily on the project's scope and complexity. Smaller projects might take 3-4 weeks, while larger, more involved projects can range from 2 to 4 months. I always provide a detailed timeline estimate after the initial discovery phase.\n",{"label":113,"content":114},"Do you offer retainers or ongoing support?","Yes, for clients needing ongoing design support, feature development, or maintenance, I offer monthly retainer options tailored to specific needs. \nWe can discuss if this is something you're interested in, and tailor a retainer plan that fits your needs, budget, and most importantly your sense of urgency.\n",{"title":18,"questions":116},[117,120],{"label":118,"content":119},"What do you enjoy most about your work?","I love the challenge of solving complex problems through design and technology. It's incredibly rewarding to see people interact with something I've created and find it genuinely useful and easy to navigate. Bridging the gap between user needs and technical possibilities is what truly excites me.\n",{"label":121,"content":122},"What are your hobbies outside of work?","I occasionally contribute to open-source projects. Mostly spending my free-time with my family. I always have a few passion project ideas that I tinker with, exploring new technologies and creative solutions outside of my professional work.\n",{"links":124,"images":125},[],[],{},{"title":27,"description":27},"\u002F",{"title":130,"description":131},"Anthony Steiner - Consulting Technologist & Principal-level Software Engineer"," Welcome to my portfolio! I'm Anthony Steiner, a Consulting Technologist and Principal-level Software Engineer based in the Buffalo area. I specialize shipping high-quality software solutions and creating user-centered digital experiences that are both functional and visually appealing, and systems integration.","index",null,"XoM6ixAimGVSy3DyCzFP7WTk2PQ92OI5A-1IbXbrw1s",{"data":136,"body":137},{},{"type":138,"children":139},"root",[140],{"type":141,"tag":142,"props":143,"children":144},"element","p",{},[145,148,152,155],{"type":146,"value":147},"text","As a Consulting Technologist and Principal-level Software Engineer with slightly over 22 years of experience,\nI leverage my extensive experience across various technology stacks to craft a bespoke digital experience.\nMy approach blends creative strategy with technical expertise, transforming concepts into functional,\npurposeful digital products that seamlessly integrate design and technology. ",{"type":141,"tag":149,"props":150,"children":151},"br",{},[],{"type":141,"tag":149,"props":153,"children":154},{},[],{"type":146,"value":156},"\nI thrive on solving complex technical challenges and ensuring that every component works harmoniously within the larger ecosystem.\nHowever I always relish and opportunity to explore new technologies and innovative approaches, ensuring that my work remains at the cutting edge of the digital landscape.",{"data":158,"body":159},{},{"type":138,"children":160},[161],{"type":141,"tag":142,"props":162,"children":163},{},[164],{"type":146,"value":165},"I specialize in consulting on technology strategy, software architecture, and full-stack development.\nI help organizations design and implement robust, scalable, and efficient solutions with technology that makes the most sense to their team and future.",{"data":167,"body":168},{},{"type":138,"children":169},[170],{"type":141,"tag":142,"props":171,"children":172},{},[173],{"type":146,"value":174},"My process is collaborative and iterative,\ntypically involving stages like Discovery & Research,\nIdeation & Prototyping, User Testing, Visual Design\n, and close collaboration with development teams during implementation.\nI tailor the process based on project needs, always focusing on user-centered solutions.",{"data":176,"body":177},{},{"type":138,"children":178},[179],{"type":141,"tag":142,"props":180,"children":181},{},[182],{"type":146,"value":183},"Absolutely! I enjoy working with startups to help shape their product vision and create user-friendly interfaces from the ground up.\nI can adapt my process to fit the fast-paced startup environment.",[185],{"id":186,"title":10,"author":187,"body":191,"date":219,"description":220,"extension":83,"image":221,"meta":222,"minRead":223,"navigation":224,"path":11,"seo":225,"stem":12,"__hash__":226},"blog\u002Fblog\u002Fhow-i-built-my-own.md",{"name":188,"avatar":189},"Anthony Steiner",{"src":190,"alt":188},"https:\u002F\u002Fwww.gravatar.com\u002Favatar\u002F00290008d2d05a6b7525faee9abab198d84108610c8f28851813f4f761b510d0?d=wavatar",{"type":24,"value":192,"toc":217},[193,196,199,202,205,208,211,214],[142,194,195],{},"I had always believed that creating a comprehensive design system from scratch was an impossible task. The idea seemed daunting, and I often heard from peers that it couldn't be done. But I decided to challenge that notion and embarked on the journey anyway.",[142,197,198],{},"The first step was to audit my existing projects. I meticulously reviewed my past work, identifying recurring patterns, components, and inconsistencies. This audit revealed the areas where my designs lacked cohesion and highlighted the components that needed standardization.",[142,200,201],{},"Next, I focused on establishing a solid foundation for my design system. I defined a flexible color palette with semantic naming conventions, created a typography scale based on the golden ratio, and set spacing and layout rules to ensure consistency across different screen sizes.",[142,203,204],{},"With the foundation in place, I began building components iteratively. Instead of designing everything upfront, I documented each component as I created it for real projects. This approach allowed the system to evolve organically, adapting to the needs of actual use cases rather than hypothetical scenarios.",[142,206,207],{},"Throughout the process, I continuously tested and refined the system. I sought feedback from colleagues and developers, ensuring that the components were not only visually consistent but also practical and easy to implement. This iterative feedback loop was crucial in creating a robust and usable design system.",[142,209,210],{},"In the end, the design system became a living entity that grew alongside my projects. It provided a consistent visual language, streamlined my workflow, and significantly improved collaboration with developers. The journey taught me that what initially seemed impossible could indeed be achieved with careful planning, iterative development, and a willingness to learn from real-world application.",[142,212,213],{},"Looking back, I realize that the key to success was not just technical skill, but also the mindset of embracing challenges and learning from each step of the process. By treating the design system as an evolving tool rather than a static deliverable, I was able to create something truly valuable and sustainable for my work.",[142,215,216],{},"Ultimately, this journey reinforced the importance of perseverance, adaptability, and continuous learning in any creative endeavor. It showed me that even the most daunting tasks can be accomplished with the right approach and mindset, and that the process of building and refining is just as important as the final outcome.",{"title":27,"searchDepth":28,"depth":28,"links":218},[],"2025-03-05","A practical guide to creating your own design system, from initial audit to implementation, and the lessons learned along the way.","https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1600132806370-bf17e65e942f?q=80&w=1594&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=NHwxMjA3fDA%3D",{},15,true,{"title":10,"description":220},"ekjf14XbYCsM1FWpJ0xxsjRBQxAZNiZYl27mf23HG0c",{"id":228,"name":229,"slug":230,"tags":231,"isPublic":224,"showDownloadButtons":224,"allowWordDownload":13,"showInSearchEngines":224,"hideContactDetails":224,"isPrimary":224,"isLocked":13,"data":234,"createdAt":620,"updatedAt":621,"hasPassword":13,"aiOperationIds":622,"aiUsage":133,"applicationId":133},"01a19974-3b5d-77ce-bab9-d512675af00d","2027 Resume Native","resume",[232,233],"2026","principal",{"picture":235,"basics":243,"summary":250,"sections":253,"customSections":559,"metadata":560},{"hidden":224,"fit":236,"url":237,"size":238,"rotation":239,"aspectRatio":240,"borderRadius":239,"borderColor":241,"borderWidth":239,"shadowColor":242,"shadowWidth":239},"cover","https:\u002F\u002Fgravatar.com\u002Fuserimage\u002F8590100\u002F4263960a8e9907ec61fa9db7fbb5a122.jpeg?size=256",64,0,1,"rgba(0, 0, 0, 0)","rgba(0, 0, 0, 0.5)",{"name":188,"headline":244,"email":245,"phone":246,"location":247,"website":248,"customFields":249},"Consulting Technologist & Principal-level Software Engineer","asteiner@steinerd.com","+1 716-574-0641","Buffalo, NY USA",{"url":52,"label":27},[],{"title":251,"icon":27,"columns":240,"hidden":13,"showHeading":224,"keepTogether":13,"startOnNewPage":13,"content":252},"Summary","\u003Cp data-resume-whitespace=\"preserve\">Principal Software Engineer &amp; Team Leader with just over two decades of experience engineering and one decade leading high-performing teams, architecting enterprise-scale solutions, and driving DevOps culture.\u003C\u002Fp>",{"profiles":254,"experience":293,"education":361,"projects":364,"skills":391,"languages":476,"interests":479,"awards":510,"certifications":513,"publications":550,"volunteer":553,"references":556},{"title":255,"icon":27,"columns":28,"hidden":13,"showHeading":224,"keepTogether":13,"startOnNewPage":13,"items":256},"Profiles",[257,265,273,278,286],{"id":258,"hidden":13,"icon":259,"iconColor":260,"network":261,"username":262,"website":263},"nosrnd634e32hlimefxk795q","linkedin-logo","rgba(0, 132, 209, 1)","LinkedIn","linkedin.com\u002Fin\u002Fanthonysteiner",{"url":264,"label":27,"inlineLink":224},"https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fanthonysteiner\u002F",{"id":266,"hidden":13,"icon":267,"iconColor":268,"network":269,"username":270,"website":271},"ycuki2jsx0eougpghmfnm11y","github-logo","rgba(0, 153, 102, 1)","GitHub","github.com\u002Fsteinerd",{"url":272,"label":27,"inlineLink":224},"https:\u002F\u002Fgithub.com\u002Fsteinerd",{"id":274,"hidden":224,"icon":275,"iconColor":27,"network":275,"username":275,"website":276},"jw8ymgf0lt79k007u4t306j1","dev.to",{"url":277,"label":27,"inlineLink":13},"https:\u002F\u002Fdev.to\u002Fsteinerd",{"id":279,"hidden":13,"icon":280,"iconColor":281,"network":282,"username":283,"website":284},"ubof2nalp75ml412o7co35l7","ranking","rgba(208, 135, 0, 1)","HackerRank","www.hackerrank.com\u002Fprofile\u002Fsteinerd",{"url":285,"label":27,"inlineLink":224},"https:\u002F\u002Fwww.hackerrank.com\u002Fprofile\u002Fsteinerd",{"id":287,"hidden":13,"icon":288,"iconColor":27,"network":289,"username":290,"website":291},"01a19991-e9e5-7245-bf40-05f3cba21ab3","certificate","PluralSight","app.pluralsight.com\u002Fprofile\u002Fanthony-steiner-mtb",{"url":292,"label":27,"inlineLink":224},"https:\u002F\u002Fapp.pluralsight.com\u002Fprofile\u002Fanthony-steiner-mtb",{"title":294,"icon":27,"columns":240,"hidden":13,"showHeading":224,"keepTogether":13,"startOnNewPage":13,"items":295},"Experience",[296,305,314,323,332,342,353],{"id":297,"hidden":13,"company":36,"position":39,"location":298,"period":299,"dates":300,"website":302,"description":303,"roles":304,"__company":36,"color":37},"zkow65m2scvx3xqthzd61onq","Buffalo, NY","May 2022 – Present",{"start":301,"end":133,"present":224},"2022-05",{"url":38,"label":27,"inlineLink":224},"\u003Cul>\u003Cli>\u003Cp data-resume-whitespace=\"preserve\">\u003Cstrong>Leading\u003C\u002Fstrong> teams of 3-5 direct reports (depending on the project), as well as mentoring individual developers for tricky troubleshooting sessions.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>This position heavily utilized the Microsoft Stack, which comprised C#, VB, F#, WPF, WinForms, and SQL Server.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp data-resume-whitespace=\"preserve\">When acting as a team lead, I developed and implemented multiple subroutines that accelerated development and the operations of those developments and shared them with the entire company to be utilized by multiple teams. This approach kept morale and productivity up, reducing \"housekeeping\" burdens on the development efforts.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp data-resume-whitespace=\"preserve\">When acting as a team-lead, developed and implemented a series of CI\u002FCD automations that made use of Kubernetes, Node, NPM, NuGet, JFrog, and OpenShift as well as run coverage reports and unit tests via NUnit (C#) and Karma (Angular). This in-turn posts the successes\u002Ffailures of those assertions into Jira via Zephyr Scale to remove and\u002For minimize the burden on the independent contributors.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>When acting as a team lead, developed and maintained ETL processes designed with SSIS, and scheduled runs via Broadcom Automic.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp data-resume-whitespace=\"preserve\">Team contributor for a series of .NET 8, and Angular 19 web applications that would allow different stakeholders the ability to manage, maintain, and audit their respective stakeholders.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp data-resume-whitespace=\"preserve\">Independent contributor for \u003Cstrong>\u003Cem>Director Web Bridge\u003C\u002Fem>\u003C\u002Fstrong> (see projects) that unlocked web technologies for a previously .NET Framework-only architecture, accelerating development and enabling the average new hire to develop complex scripts and web apps that they wouldn't otherwise have the ability to.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>Wrote and maintained a handful of Python scripts tied to scheduled automations as an independent contributor.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Cp>\u003C\u002Fp>",[],{"id":306,"hidden":13,"company":43,"position":46,"location":307,"period":308,"dates":309,"website":311,"description":312,"roles":313,"__company":43,"color":44},"01a19975-5e5c-7613-80ba-689d8036768c","Orchard Park, NY","October 2021 – May 2022",{"start":310,"end":301,"present":13},"2021-10",{"url":45,"label":27,"inlineLink":224},"\u003Cul>\u003Cli>\u003Cp data-resume-whitespace=\"preserve\">Worked on .NET microservices, making use of mediator patterns as well as CQRS to facilitate the creation of a series of intelligent communication routines. This enables higher-education institutions to more broadly and more securely communicate within the student body and faculty therein.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp data-resume-whitespace=\"preserve\">Created \u003Cstrong>Terraform\u003C\u002Fstrong> routines to automatically create a QA instance of changes separate from any other feature set being tested to avoid code collisions.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Cp data-resume-whitespace=\"preserve\">\u003C\u002Fp>",[],{"id":315,"hidden":13,"company":50,"position":53,"location":298,"period":316,"dates":317,"website":320,"description":321,"roles":322,"__company":50,"color":51},"01a1997b-b4d9-71f6-9395-6de74facbfb7","July 2020 – September 2021",{"start":318,"end":319,"present":13},"2020-07","2021-09",{"url":52,"label":27,"inlineLink":224},"\u003Cul>\u003Cli>\u003Cp data-resume-whitespace=\"preserve\">Worked multiple contracts simultaneously at varying hourly commitments based on the project needs, averaging 40-70 hours per week.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp data-resume-whitespace=\"preserve\">\u003Cstrong>Lead\u003C\u002Fstrong> a team of 15 direct reports (engineers, designers, copywriters, and business analysts) on an NYS Government contract for the NYS Services Division of Service-Disabled Veterans\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp data-resume-whitespace=\"preserve\">\u003Cstrong>Lead \u003C\u002Fstrong>a modest team of 1 developer and 1 designer to create a bespoke e-commerce system written in a combination of \u003Cstrong>PHP\u003C\u002Fstrong> and \u003Cstrong>C# \u003C\u002Fstrong>used by Dynics, Inc.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp data-resume-whitespace=\"preserve\">Maintained and supported production changes for legacy \u003Cstrong>Classic ASP\u003C\u002Fstrong> mission-critical web apps.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp data-resume-whitespace=\"preserve\">\u003Cstrong>Mentor \u003C\u002Fstrong>software engineers on \u003Ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"http:\u002F\u002FCodeMentor.io\">CodeMentor.io\u003C\u002Fa> on an as-needed basis.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Cp>\u003C\u002Fp>",[],{"id":324,"hidden":13,"company":57,"position":60,"location":325,"period":326,"dates":327,"website":329,"description":330,"roles":331,"__company":57,"color":58},"01a19976-6605-70f8-a021-0b2923d2a3fe","Toledo, OH","March 2012 – July 2020",{"start":328,"end":318,"present":13},"2012-03",{"url":59,"label":27,"inlineLink":224},"\u003Cul>\u003Cli>\u003Cp data-resume-whitespace=\"preserve\">\u003Cstrong>Lead\u003C\u002Fstrong> multiple cloud-native and migratory projects\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp data-resume-whitespace=\"preserve\">\u003Cstrong>Lead\u003C\u002Fstrong> the project for a custom and complex TCP-based application called \"Gateway API\" (see projects).\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp data-resume-whitespace=\"preserve\">Designed and developed a series of custom web interfaces written in \u003Cstrong>PHP\u003C\u002Fstrong> and \u003Cstrong>Dojo\u003C\u002Fstrong> to provide MSPs the authorized ability to reset user passwords, rename, unlock accounts, and install\u002Fremove software on specific machines.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp data-resume-whitespace=\"preserve\">Designed and developed Windows Services that extended the built-in features of Microsoft Active Directory to allow over 24 different 3rd party apps to make direct use of the metadata each domain user or computer had.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Cp data-resume-whitespace=\"preserve\">\u003C\u002Fp>",[],{"id":333,"hidden":13,"company":64,"position":67,"location":334,"period":335,"dates":336,"website":338,"description":339,"roles":340,"__company":341,"color":65},"01a1997d-ceda-72d3-a12d-06c7538a2314","Tonawanda, NY","November 2010 – March 2012",{"start":337,"end":328,"present":13},"2010-11",{"url":66,"label":27,"inlineLink":224},"\u003Cul>\u003Cli>\u003Cp data-resume-whitespace=\"preserve\">Ran revolving special projects team involving…\u003C\u002Fp>\u003Cul>\u003Cli>\u003Cp data-resume-whitespace=\"preserve\">Deployment and training of \u003Cstrong>PGP Keyring \u003C\u002Fstrong>to 120 accountants\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp data-resume-whitespace=\"preserve\">Designed and developed an email processing web app that created simplified workflows for processing requests from clients.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp data-resume-whitespace=\"preserve\">Designed and developed reporting software that would use OCR to read facsimile reports and cherry-picked content to transpose onto a more uniform portrait-style report that garnered the company $1 million in contracted profits with vendors in 2012.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003C\u002Fli>\u003C\u002Ful>\u003Cp data-resume-whitespace=\"preserve\">\u003C\u002Fp>",[],"Mueller",{"id":343,"hidden":13,"company":71,"position":74,"location":344,"period":345,"dates":346,"website":349,"description":350,"roles":351,"__company":352,"color":72},"01a19980-c738-7299-97f4-4e0714d62dd9","Amherst, NY","January 2010 – August 2010",{"start":347,"end":348,"present":13},"2010-01","2010-08",{"url":73,"label":27,"inlineLink":224},"\u003Cul>\u003Cli>\u003Cp data-resume-whitespace=\"preserve\">Developed and maintained production web apps written in \u003Cstrong>.NET Framework,\u003C\u002Fstrong> making use of the \u003Cstrong>DevExpress\u003C\u002Fstrong> component library.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Cp>\u003C\u002Fp>",[],"LDI",{"id":354,"hidden":13,"company":78,"position":81,"location":334,"period":355,"dates":356,"website":358,"description":359,"roles":360,"__company":78,"color":79},"01a19982-158b-77f3-a6e8-9dc3d55a2124","January 2004 – August 2010",{"start":357,"end":348,"present":13},"2004-01",{"url":80,"label":27,"inlineLink":224},"\u003Cul>\u003Cli>\u003Cp data-resume-whitespace=\"preserve\">Was lead on the design and development, maintenance, and support of the \"Entry Assistant\" program that would allow data entry analysts to press a single key to open a workflow. This would save the average analyst 30 minutes to an hour per shipment processed.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp data-resume-whitespace=\"preserve\">Was lead on the design and development of the \"Outlook Attachment Ripper\" as one such utility that would allow a port manager the ability to transfer hundreds of faxed shipment paperwork to a document archive called Synergize DIMMS. This would then allow analysts to be entirely paperless, saving the company millions a year in printing paper and printer toner.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Cp data-resume-whitespace=\"preserve\">\u003C\u002Fp>",[],{"title":362,"icon":27,"columns":240,"hidden":13,"showHeading":224,"keepTogether":13,"startOnNewPage":13,"items":363},"Education",[],{"title":27,"icon":27,"columns":240,"hidden":13,"showHeading":224,"keepTogether":13,"startOnNewPage":13,"items":365},[366,374,382],{"id":367,"hidden":13,"name":368,"period":369,"dates":370,"website":372,"description":373},"ufiweg2f4enh76krxnf9r1xf","Director Web Bridge (M&T Bank)","October 2023 – Present",{"start":371,"end":133,"present":224},"2023-10",{"url":27,"label":27,"inlineLink":13},"\u003Cp data-resume-whitespace=\"preserve\">Written as a COM add-on companion application that would enable intranet web apps the ability to make calls into desktop-installed software, making use of ActiveX\u002FCOM add-ins. \u003C\u002Fp>\u003Cp data-resume-whitespace=\"preserve\">This project is decidedly a stopgap for a vendor-provided solution that allows a seamless pivot behind the scenes of the subsystem created in this project. \u003C\u002Fp>",{"id":375,"hidden":13,"name":376,"period":377,"dates":378,"website":380,"description":381},"syuuz2rnpbyecwnxk0aa7xh9","Gateway API (IDSync)","November 2012 – July 2020",{"start":379,"end":318,"present":13},"2012-11",{"url":27,"label":27,"inlineLink":13},"\u003Cp>A custom, multi-threaded TCP-socketed \u003Cstrong>\u003Cu>Gateway API\u003C\u002Fu>\u003C\u002Fstrong> that was more akin to reverse-proxy in \u003Cstrong>.NET Framework\u003C\u002Fstrong> that was installed behind a pre-configured \u003Cstrong>F5\u003C\u002Fstrong> \u003Cstrong>Firewall \u003C\u002Fstrong>using a custom \u003Cstrong>\u003Cem>AES256\u003C\u002Fem>\u003C\u002Fstrong> encryption to securely communicate with Active Directory Domain controllers via a \u003Cstrong>\u003Cem>client app \u003C\u002Fem>\u003C\u002Fstrong>designed as a required Agent to be used with the \u003Cstrong>\u003Cu>Gateway API\u003C\u002Fu>\u003C\u002Fstrong> to allow Managed Service Providers (MSP) to manage Domain Users and install\u002Fremove applications for machines without clients needing to give direct VPN access to said MSP.\u003C\u002Fp>",{"id":383,"hidden":224,"name":384,"period":385,"dates":386,"website":388,"description":390},"tqslrqxk1ig2bnimd0l7trld","FAMFAM","January 2024",{"start":387,"end":133,"present":13},"2024-01",{"url":389,"label":27,"inlineLink":13},"https:\u002F\u002Fwww.famfam.io","\u003Cp>Passion project making heavy use of \u003Cstrong>Nuxt\u003C\u002Fstrong> which is a \u003Cstrong>Vue\u003C\u002Fstrong> based Web Framework. Uses \u003Cstrong>Supabase\u003C\u002Fstrong> (DBaaS, namely Postgres) as a back-end of sorts. \u003C\u002Fp>",{"title":392,"icon":27,"columns":28,"hidden":13,"showHeading":224,"keepTogether":13,"startOnNewPage":13,"items":393,"keywordLayout":474,"layout":475},"Skills",[394,408,420,429,438,445,454,466],{"id":395,"hidden":13,"icon":27,"iconColor":27,"name":396,"proficiency":397,"level":398,"keywords":399},"p78xnknjkeqi7fwfj3xvpmld",".NET\u002Fdotnet","Advanced",4,[400,401,402,403,404,405,406,407],"C#","VB","F#","Blazor","ASP.NET MVC","WinForms","WPF","MAUI",{"id":409,"hidden":13,"icon":27,"iconColor":27,"name":410,"proficiency":397,"level":239,"keywords":411},"wyd0i02bej2utkl42irpq4yh","Node\u002FTypeScript",[412,413,414,415,416,417,418,419],"Node","TypeScript","Vue","Angular","Nuxt","NextJS","React\u002FTSX","Svelte",{"id":421,"hidden":13,"icon":27,"iconColor":27,"name":422,"proficiency":397,"level":239,"keywords":423},"eqstosy6q6v806c8whim59zj","PHP",[424,425,426,427,428],"Laravel","Composer","Symphony","Magento","WordPress",{"id":430,"hidden":13,"icon":27,"iconColor":27,"name":431,"proficiency":432,"level":239,"keywords":433},"t39agrk1sbiw5e0sube50ptl","Python","Intermediate",[434,435,436,437],"Django","Reflex","Masonite","Flask",{"id":439,"hidden":13,"icon":27,"iconColor":27,"name":440,"proficiency":432,"level":239,"keywords":441},"v6rgp998frm7ywt5f0uei95t","Java",[442,443,444],"Spring Boot","Micronaut","Dropwizard",{"id":446,"hidden":13,"icon":27,"iconColor":27,"name":447,"proficiency":397,"level":239,"keywords":448},"jzhbxeb07zpho9tyn38e0sj8","Databases",[449,450,451,452,453],"MS SQL Server","Oracle","PostgreSQL","MySQL\u002FMariaDB","NoSQL (Mongo\u002FCosmos\u002Fetc)",{"id":455,"hidden":13,"icon":27,"iconColor":27,"name":456,"proficiency":397,"level":239,"keywords":457},"k28gy0u1socnuwuxpmj1y56k","DevOps",[458,459,460,461,462,269,463,464,465],"Docker","Ansible","Kubernetes","Puppet","GitLab","Bitbucket","Jira (Test Automation)","Terraform",{"id":467,"hidden":13,"icon":27,"iconColor":27,"name":468,"proficiency":397,"level":239,"keywords":469},"w0ijf7ti8rw87lnmhdjujzrb","Cloud",[470,471,472,473],"Azure","AWS","GCP","DigitalOcean","inline","default",{"title":477,"icon":27,"columns":240,"hidden":13,"showHeading":224,"keepTogether":13,"startOnNewPage":13,"items":478},"Languages",[],{"title":480,"icon":27,"columns":28,"hidden":13,"showHeading":224,"keepTogether":13,"startOnNewPage":13,"items":481},"Interests",[482,487,492,499,504],{"id":483,"hidden":13,"icon":27,"iconColor":27,"name":484,"keywords":485},"bl2926jtv6gytlid47unjf0s","Coding",[486],"Ideally something other than what I already know",{"id":488,"hidden":13,"icon":27,"iconColor":27,"name":489,"keywords":490},"u2hs0ni8vamdrlrp99exaexk","Technology",[491],"Complicated circuits with breadboard and wires",{"id":493,"hidden":13,"icon":27,"iconColor":27,"name":494,"keywords":495},"ao4uws410kko4b2xm9wzzfh7","Sound Recording Engineering",[496,497,498],"FLStudio","Cubase","Ableton Live",{"id":500,"hidden":13,"icon":27,"iconColor":27,"name":501,"keywords":502},"gfh8ayu98y795ls7thsczmkh","Story-writting",[503],"Magical Realism; Space-based High-Fantasy",{"id":505,"hidden":13,"icon":27,"iconColor":27,"name":506,"keywords":507},"itqvlymm66ypc80zqoobsf93","3D Illustrations",[508,509],"Blender","Adobe Animate",{"title":511,"icon":27,"columns":240,"hidden":13,"showHeading":224,"keepTogether":13,"startOnNewPage":13,"items":512},"Awards",[],{"title":514,"icon":27,"columns":28,"hidden":13,"showHeading":224,"keepTogether":13,"startOnNewPage":13,"items":515},"Certifications",[516,525,531,537,543],{"id":517,"hidden":13,"title":518,"issuer":519,"date":520,"dates":521,"website":523,"description":27},"sxhf9xhld8fx9sna9b0shjnr","Angular (Intermediate)","HackerRank (ID: 8e8e68cf754e)","December 2024",{"start":522,"end":133,"present":13},"2024-12",{"url":524,"label":27,"inlineLink":13},"https:\u002F\u002Fwww.hackerrank.com\u002Fcertificates\u002F8e8e68cf754e",{"id":526,"hidden":13,"title":400,"issuer":527,"date":520,"dates":528,"website":529,"description":27},"vutjxo1ny765hmf9p4s5fz22","HackerRank (ID: afcf1f62d19c)",{"start":522,"end":133,"present":13},{"url":530,"label":27,"inlineLink":13},"https:\u002F\u002Fwww.hackerrank.com\u002Fcertificates\u002Fafcf1f62d19c",{"id":532,"hidden":13,"title":440,"issuer":533,"date":520,"dates":534,"website":535,"description":27},"dye823r5onv4332m4udc3xzu","HackerRank (ID: 22fdc6f44d46)",{"start":522,"end":133,"present":13},{"url":536,"label":27,"inlineLink":13},"https:\u002F\u002Fwww.hackerrank.com\u002Fcertificates\u002F22fdc6f44d46",{"id":538,"hidden":13,"title":431,"issuer":539,"date":520,"dates":540,"website":541,"description":27},"s9girfvdvpttacssskdnx9zt","HackerRank (ID: 74f62a1b6274)",{"start":522,"end":133,"present":13},{"url":542,"label":27,"inlineLink":13},"https:\u002F\u002Fwww.hackerrank.com\u002Fcertificates\u002F74f62a1b6274",{"id":544,"hidden":13,"title":545,"issuer":546,"date":520,"dates":547,"website":548,"description":27},"jb9x97fcnx2048jdxxjk1qgd","Javascript","HackerRank (ID: 3b34e9f49450)",{"start":522,"end":133,"present":13},{"url":549,"label":27,"inlineLink":13},"https:\u002F\u002Fwww.hackerrank.com\u002Fcertificates\u002F3b34e9f49450",{"title":551,"icon":27,"columns":240,"hidden":13,"showHeading":224,"keepTogether":13,"startOnNewPage":13,"items":552},"Publications",[],{"title":554,"icon":27,"columns":240,"hidden":13,"showHeading":224,"keepTogether":13,"startOnNewPage":13,"items":555},"Volunteering",[],{"title":557,"icon":27,"columns":240,"hidden":13,"showHeading":224,"keepTogether":13,"startOnNewPage":13,"items":558},"References",[],[],{"template":561,"layout":562,"page":582,"design":588,"typography":600,"notes":27,"styleRules":612,"web":613,"check":614},"porygon",{"sidebarWidth":563,"sidebarSide":564,"pages":565},33.33,"right",[566],{"fullWidth":13,"main":567,"sidebar":581},[568,569,570,571,572,573,574,575,576,577,578,579,580],"education","summary","profiles","experience","volunteer","references","awards","publications","languages","certifications","skills","projects","interests",[],{"gapX":398,"gapY":398,"marginX":583,"marginY":584,"format":585,"locale":586,"dateFormat":587,"hideLinkUnderline":13,"hideIcons":13,"hideSectionIcons":224},10,8,"letter","en-US","long",{"level":589,"colors":592,"entry":596},{"icon":590,"type":591},"acorn","hidden",{"primary":593,"text":594,"background":595},"rgba(33, 123, 201, 1)","rgba(0, 0, 0, 1)","rgba(255, 255, 255, 1)",{"layout":597,"lead":598,"accent":599},"eyebrow","role","band",{"body":601,"heading":608},{"fontFamily":602,"fontWeights":603,"fontSize":606,"lineHeight":607},"Lato",[604,605],"400","700",9,1.35,{"fontFamily":602,"fontWeights":609,"fontSize":610,"lineHeight":611},[605],12,1.5,[],{"showCredit":13},{"ignored":615,"hiddenTerms":619},[616,617,618],"TWO_COLUMN_LAYOUT:\u002Fmetadata\u002Flayout\u002Fpages","NON_STANDARD_SECTION_TITLE:\u002FcustomSections\u002F#f33rnhilpgdz1z0oz7quf18f\u002Ftitle","NON_STANDARD_SECTION_TITLE:\u002FcustomSections\u002F#p2j3pt4gtmajedurlbp3riqj\u002Ftitle",[],"2026-11-01T23:31:33.865Z","2026-11-05T03:45:00.514Z",[],1794195221824]