[{"data":1,"prerenderedAt":186},["ShallowReactive",2],{"cv-nav":3,"static-links":131,"medium-links":147},{"id":4,"title":5,"avatar":6,"education":7,"email":19,"experience":20,"extension":68,"github":69,"linkedin":70,"location":71,"meta":72,"name":73,"skills":74,"stem":126,"summary":127,"tagline":128,"twitter":129,"__hash__":130},"cv\u002Fcv.json","Senior Software Engineer","\u002Favatar.jpg",[8,12,16],{"institution":9,"degree":10,"year":11},"Multimedia University of Kenya","Bachelor of Science — Mathematics and Computer Science (Pure Mathematics)","Graduated",{"institution":13,"degree":14,"year":15},"eMobilis","Mobile Software Development and Entrepreneurship Program","Completed",{"institution":17,"degree":18,"year":15},"Sundoulos African Leadership Training (SALT)","Servant Leadership","waweruj00@gmail.com",[21,30,40,50,60],{"company":22,"role":5,"period":23,"description":24,"highlights":25},"Kalvad","October 2018 – Present","Worldwide Tech Agency solving business problems through cutting-edge technology.",[26,27,28,29],"Design, develop and deploy frontend applications for clients using Angular and Vue.js as primary technologies.","Write Node.js Lambda functions for heavy browser computations and deploy them to AWS using the Serverless Framework.","Write GitHub Actions configurations and dockerize frontend apps for deployment to Coolify.","Work with project leads to plan implementation of functional requirements and collaborate with clients on UI design.",{"company":31,"role":5,"period":32,"description":33,"highlights":34},"Finsweet (Wized)","May 2022 – February 2024","Full-stack engineer on Wized — a no-code platform enabling Webflow developers to build data-rich apps.",[35,36,37,38,39],"Built data integrations to Firebase, Supabase, Notion, Xano, Airtable, Stripe, and REST APIs.","Enabled authentication and user management for Webflow apps via the Wized platform.","Worked on the Wized Embed library — DOM integration layer powering page actions without custom JavaScript.","Built the configurator tool for developers to manage projects, workspaces and app configuration.","Supported Stripe Connected Apps for payment collection and transaction fee processing.",{"company":41,"role":42,"period":43,"description":44,"highlights":45},"CanGo (formerly Safemotos)","Backend Software Engineer","June 2019 – February 2020","On-demand transportation and food delivery service (similar to Bolt\u002FUber).",[46,47,48,49],"Built microservices using NestJS for a GraphQL API serving mobile and web clients.","Developed Payment, Trip Management, Events Controller, and Customer Management services.","Created an internal Apache Kafka library with Avro schema management for producers and consumers.","Designed microservice architecture with the CTO and deployed to Kubernetes monitored via Prometheus and Grafana.",{"company":51,"role":52,"period":53,"description":54,"highlights":55},"Middleware Inc.","Backend Software Engineer (Consultant)","April 2020 – August 2020","Fleet management company. Responsible for a Node.js microservice called Bloodhound.",[56,57,58,59],"Built fleet tracking system consuming IoT data relayed by Golang microservices on motorcycles.","Implemented driver management including motor vehicle assignment.","Built motor vehicle management covering road worthiness and insurance tracking.","Developed a REST API serving dashboard data to the frontend team. MongoDB as the database.",{"company":61,"role":62,"period":63,"description":64,"highlights":65},"LivingGoods","Software Engineer, Consultant","May 2018 – May 2019","NGO supporting digitally empowered community health workers. Started as intern, promoted to consultant.",[66,67],"Maintained an SMS Health Information System built with Python and RapidSMS.","Created and maintained an ETL tool streaming data to and from the SMS platform for dashboard observability.","json","https:\u002F\u002Fgithub.com\u002Fwaw3ru","https:\u002F\u002Flinkedin.com\u002Fin\u002Fwaw3ru","Nairobi, Kenya",{},"John (.W.) Wambugu",[75,82,92,102,108,116],{"category":76,"skills":77},"Programming Languages",[78,79,80,81],"JavaScript","Typescript","Golang","Python",{"category":83,"skills":84},"Frontend",[85,86,87,88,89,90,91],"Angular","Vue","Preact","Vite","Nuxt","Tailwind CSS","UI Design",{"category":93,"skills":94},"Backend",[95,96,97,98,99,100,101],"Node.js - but I use Bun 😊","NestJS","Flask","Hono","Gin","Fiber","Django",{"category":103,"skills":104},"DevOps",[105,106,107],"Docker","Kubernetes","Coolify",{"category":109,"skills":110},"Databases",[111,112,113,114,115],"PostgreSQL","MongoDB","SQLite","Redis","Apache Kafka",{"category":117,"skills":118},"Tools",[119,120,121,122,123,124,125],"n8n","Firebase","Supabase","Git","Travis CI","Gitlab CI","GitHub Actions","cv","Senior Software Engineer with a deep-rooted passion for TypeScript, Angular, Vue.js, Node.js and Python. Over 7 years honing my craft across agencies, startups, NGOs and consultancies — from microservices and distributed systems to no-code platforms and frontend applications.","Maestro in web development. 8+ years building robust, efficient, and user-centric software solutions.","https:\u002F\u002Fx.com\u002Fwaw3ru","vxrx4fMa1gNDENkmVi8SXWwRH4_KnHx8Uj-ELWNfqPQ",{"id":132,"extension":68,"links":133,"meta":144,"stem":145,"__hash__":146},"links\u002Flinks.json",[134],{"title":135,"description":136,"url":137,"platform":138,"publishedAt":139,"tags":140},"Coding Better Together Series (pt.1) - Code Smells","Eliminate Technical Debt: Identifying and Refactoring Common Code Smells to Improve Readability, Maintainability, and Collaboration within Engineering Teams, Ensuring Long-Term Project Scalability and a Healthier, More Efficient Development Lifecycle.","https:\u002F\u002Fwww.linkedin.com\u002Fpulse\u002Fcoding-better-together-series-pt1-code-smells-john-wambugu","LinkedIn","2023-08-14",[141,142,143],"Clean Code","Software Design","OOP",{},"links","AaeR7FVemxc8WvRi5tVGZ4ZjnRDKUMb4AUYv88ULiQY",{"id":148,"extension":68,"links":149,"meta":183,"stem":184,"__hash__":185},"mediumLinks\u002Fmedium-links.json",[150,159,165,171,177],{"title":151,"description":152,"url":153,"platform":154,"publishedAt":155,"tags":156},"Something am feeling","I look into your eyes and I fall deeply in love. I lose myself into you. You are my all, I want to hold you close. Kiss your lips. Tell you…","https:\u002F\u002Fmedium.com\u002F@waw3ru\u002Fsomething-am-feeling-93d928f1c069","Medium","2017-07-12",[157,158],"some sort of poetry","life",{"title":160,"description":161,"url":162,"platform":154,"publishedAt":163,"tags":164},"I had two in me…","I am crazy. I always see them undermine me. I know am not wanted. They once said I was a mistaken baby. I know y’all see that your better…","https:\u002F\u002Fmedium.com\u002F@waw3ru\u002Fi-am-crazy-feeee789d11a","2017-07-02",[157,158],{"title":166,"description":167,"url":168,"platform":154,"publishedAt":169,"tags":170},"It’s always been you…","I’m amused by love. What does it mean when I say I love you? When I say it, does it make you feel the way I feel ? I feel like dancing. Do…","https:\u002F\u002Fmedium.com\u002F@waw3ru\u002Fits-always-been-you-f0c6f39c73ab","2017-06-23",[157,158],{"title":172,"description":173,"url":174,"platform":154,"publishedAt":175,"tags":176},"That good feeling","Ever wonder what is a good feeling ? The good feeling you feel when you dance, laugh, smile, joke and sing. Can anyone explain the good…","https:\u002F\u002Fmedium.com\u002F@waw3ru\u002Fthat-good-feeling-dc1b1e590da6","2017-06-22",[157,158],{"title":178,"description":179,"url":180,"platform":154,"publishedAt":181,"tags":182},"I love everyone, do you ?","We all act like we were meant to be but we are just a matter of circumstance. We are all the same. Don’t judge anyone…","https:\u002F\u002Fmedium.com\u002F@waw3ru\u002Fi-love-everyone-do-you-72129e524f","2017-05-25",[157,158],{},"medium-links","zfGTtH8PlLCQ9-tuEyCfid1FUZuGDWl52RHN0TYcSQM",1774823366622]