[{"data":1,"prerenderedAt":960},["ShallowReactive",2],{"articles":3},[4,14,19,25,32,38,44,50,56,62,68,74,83,89,97,104,110,117,124,131,138,145,153,160,166,173,180,188,196,203,209,218,225,232,239,246,253,260,267,275,283,289,298,306,313,320,328,336,344,351,358,366,373,381,388,395,402,408,415,423,430,437,445,452,459,466,473,480,486,494,500,506,513,521,528,535,542,549,556,563,570,577,584,591,600,608,615,622,629,636,644,651,658,665,672,679,686,693,700,707,714,721,729,737,745,752,760,767,775,783,790,797,804,809,814,819,827,834,840,847,855,863,870,877,884,891,898,905,912,920,928,936,944,952],{"path":5,"title":6,"description":7,"date":8,"tags":9,"image":13,"provider":13,"url":13,"canonical":13},"\u002Fblog\u002Fgrok-bot-50th-birthday-photo-video","How Grok Bot turned 133 family photos into a 50th birthday video with zero editing","How I made a photo video for my brother Ken's 50th birthday with my Grok Bots: scanned prints, photos from my Mac and family, music, pacing, and an intro and outro.","2026-10-13",[10,11,12],"ai","personal","grok-bot",null,{"path":15,"title":16,"description":17,"date":8,"tags":18,"image":13,"provider":13,"url":13,"canonical":13},"\u002Fblog\u002Ftalk-to-my-bots-through-alexa","Talk to my bots through Alexa: building an Alexa skill for Grok Bot","How I connected Alexa to my Grok Bot chief of staff with a small Cloudflare Worker, and learned the Amazon developer console by calling my engineer bot in Grok Bot and having it talk me through each screen.",[10,11,12],{"path":20,"title":21,"description":22,"date":23,"tags":24,"image":13,"provider":13,"url":13,"canonical":13},"\u002Fblog\u002Fback-to-the-gym-after-three-years","Back to the gym after three years","First gym session in three years after twins started school in Spain — celebrating the milestone and choosing me time again.","2026-09-25",[11],{"path":26,"title":27,"description":28,"date":29,"tags":30,"image":13,"provider":13,"url":13,"canonical":13},"\u002Fblog\u002Fi-created-an-ai-fitness-coach-with-grok-bot","I Created an AI Fitness Coach with Grok Bot","I created a Grok Bot coach for gym, nutrition, and accountability after having twins. Home gym photos, 130g protein, workout critiques, and a garage playlist on my iPad.","2026-09-08",[10,31,12],"agents",{"path":33,"title":34,"description":35,"date":36,"tags":37,"image":13,"provider":13,"url":13,"canonical":13},"\u002Fblog\u002Fdid-you-know-grok-bot-can-watch-videos","Did you know Grok Bot can watch videos for you?","I created a CoachBot for nutrition and training. It watched my workout video and told me my five kilo dumbbells were not enough.","2026-08-31",[10,31,12],{"path":39,"title":40,"description":41,"date":42,"tags":43,"image":13,"provider":13,"url":13,"canonical":13},"\u002Fblog\u002Fgrok-bot-does-my-shopping","Grok Bot does my shopping (while walking the twins)","Quick walk-through of how I did my full shop with Grok Bot from my phone, while out with the twins.","2026-08-24",[10,31,12],{"path":45,"title":46,"description":47,"date":48,"tags":49,"image":13,"provider":13,"url":13,"canonical":13},"\u002Fblog\u002Fjob-hunt-with-a-bot","Job Hunt With a Bot?","I need to look for a job, so I made a Job Hunt bot on Grok Bot. It looked me up online, found roles, and can even do interview prep.","2026-08-22",[10,31,12],{"path":51,"title":52,"description":53,"date":54,"tags":55,"image":13,"provider":13,"url":13,"canonical":13},"\u002Fblog\u002Fi-sent-grok-bot-to-buy-my-gluten-free-beer","I Sent Grok Bot to Buy My Gluten-Free Beer","I ran out of gluten-free beer on a Sunday night and asked my Grok Bot chief of staff to buy more. Amazon rolls bought from my phone, an Alcampo login that would not click, a morning podcast, and a delivery slot I can keep adding to.","2026-08-16",[10,31,12],{"path":57,"title":58,"description":59,"date":60,"tags":61,"image":13,"provider":13,"url":13,"canonical":13},"\u002Fblog\u002Fhow-to-get-started-with-grok-bot","How to Get Started with Grok Bot","Grok Bot just dropped. I downloaded it on a Mac the same day and recorded myself setting it up. Not a feature list. What I actually clicked, what worked, and which bots I would create.","2026-08-14",[10,31,12],{"path":63,"title":64,"description":65,"date":66,"tags":67,"image":13,"provider":13,"url":13,"canonical":13},"\u002Fblog\u002Fi-tested-if-grok-bot-could-book-my-flights","I Tested If Grok Bot Could Book My Flights","I asked a Grok Bot to act as my travel agent and book flights. Close, but missing the last step. Here is the video of what worked and what didn't.","2026-08-13",[10,31,12],{"path":69,"title":70,"description":71,"date":72,"tags":73,"image":13,"provider":13,"url":13,"canonical":13},"\u002Fblog\u002Fgrok-bot-just-dropped","Grok Bot Just Dropped and I Had to Try It","Grok Bot just dropped. A team of bots on your computer for LinkedIn, GitHub, email, and content publishing. Here is my raw first look.","2026-08-11",[10,31,12],{"path":75,"title":76,"description":77,"date":78,"tags":79,"image":13,"provider":13,"url":13,"canonical":82},"\u002Fblog\u002Fan-agent-that-hunts-bugs-while-i-sleep","An Agent That Hunts Bugs in My App While I Sleep","Every hour, an agent opens our real app, clicks around like a tester, and files honest bug reports. A second agent fixes them. Here is how it works.","2026-07-10",[10,31,80,81],"testing","playwright","https:\u002F\u002Ftheaiplatform.app\u002Fblog\u002Fan-agent-that-hunts-bugs-while-i-sleep\u002F",{"path":84,"title":85,"description":86,"date":78,"tags":87,"image":13,"provider":13,"url":13,"canonical":88},"\u002Fblog\u002Ftesting-an-ai-product-without-burning-credit","How We Test an AI Product Without Burning Credit","Every message in an AI product is a paid model call. Here is how we test the full chat flow end to end and spend nothing doing it.",[10,80,81],"https:\u002F\u002Ftheaiplatform.app\u002Fblog\u002Ftesting-an-ai-product-without-burning-credit\u002F",{"path":90,"title":91,"description":92,"date":93,"tags":94,"image":13,"provider":13,"url":13,"canonical":96},"\u002Fblog\u002Fdocumenting-product-with-ai-agent","How I Documented an Entire Product in 4 Days with an AI Agent","How I used Goose, an open-source AI agent, to write 55 pages of documentation, capture 59 screenshots, and build three reusable skills in just four days.","2026-05-13",[10,95],"webdev","https:\u002F\u002Ftheaiplatform.app\u002Fblog\u002Fdocumenting-product-with-ai-agent\u002F",{"path":98,"title":99,"description":100,"date":101,"tags":102,"image":13,"provider":13,"url":13,"canonical":103},"\u002Fblog\u002Fhow-i-used-ai-to-fix-our-e2e-test-architecture","How I Used AI to Fix Our E2E Test Architecture","AI-led analysis of a 6% local pass rate — from tracer bullet planning to building an agent skill that transformed 38 spec files with measurable benchmarks.","2026-04-29",[80,81,10],"https:\u002F\u002Fdev.to\u002Fdebs_obrien\u002Fhow-i-used-ai-to-fix-our-e2e-test-architecture-444a",{"path":105,"title":106,"description":107,"date":108,"tags":109,"image":13,"provider":13,"url":13,"canonical":13},"\u002Fblog\u002Fclaude-code-commands-and-shortcuts","Claude Code Commands and Shortcuts","A guide to Claude Code's slash commands, keyboard shortcuts, and tips for a smoother workflow in the terminal.","2026-03-31",[10],{"path":111,"title":112,"description":113,"date":114,"tags":115,"image":13,"provider":13,"url":13,"canonical":13},"\u002Fblog\u002Fbuilt-agent-skill-readme-wizard","I Built an Agent Skill That Turns Rough READMEs Into Polished Docs","How I turned a single-file agent skill into a maintainable README workflow with scripts, references, and evals.","2026-03-24",[10,116,95],"githubcopilot",{"path":118,"title":119,"description":120,"date":121,"tags":122,"image":13,"provider":13,"url":13,"canonical":123},"\u002Fblog\u002Fbuild-websites-games-and-teaching-resources-with-google-gemini","Build Websites, Games, and Teaching Resources With Google Gemini for Free (No Coding Required)","Discover how Google Gemini's Canvas lets anyone build websites, games, and interactive teaching resources for free — no coding skills required.","2026-03-15",[10,95],"https:\u002F\u002Fdev.to\u002Fdebs_obrien\u002Fbuild-websites-games-and-teaching-resources-with-google-gemini-for-free-no-coding-required-3gld",{"path":125,"title":126,"description":127,"date":128,"tags":129,"image":13,"provider":13,"url":13,"canonical":130},"\u002Fblog\u002Fwhat-are-agent-skills-beginners-guide","What Are Agent Skills? Beginners Guide","A beginner's guide to AI agent skills — what they are, how they work, and how to build your first skill in minutes.","2026-03-04",[10,95],"https:\u002F\u002Fdev.to\u002Fdebs_obrien\u002Fwhat-are-agent-skills-beginners-guide-e2n",{"path":132,"title":133,"description":134,"date":135,"tags":136,"image":13,"provider":13,"url":13,"canonical":13},"\u002Fblog\u002Ffrom-prompt-files-to-agent-skills","From Prompt Files to Agent Skills: How I Unified My Content Automation","How I migrated from three separate VS Code prompt files to a single portable agent skill that handles videos, podcasts, and blog posts — with browser verification and automatic PR creation built in.","2026-02-18",[10,137,81],"mcp",{"path":139,"title":140,"description":141,"date":142,"tags":143,"image":13,"provider":13,"url":13,"canonical":144},"\u002Fblog\u002Fai-agents-mcp-automate-content","How I Use AI Agents + MCP to Fully Automate My Website's Content","How I use AI agents and MCP tools to automate publishing and updating podcasts, videos, and other content on my website.","2026-01-14",[137,10],"https:\u002F\u002Fdev.to\u002Fdebs_obrien\u002Fhow-i-use-ai-agents-mcp-to-fully-automate-my-websites-content-3ekj",{"path":146,"title":147,"description":148,"date":149,"tags":150,"image":151,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Ffirst-two-years-raising-kids-working-fulltime","First Two Years of Raising Kids and Working Fulltime","I now have two year old twins yet I also work fulltime and manage to raise my kids with no daycare or family help. Many people ask me how I do it and sometimes I even wonder myself! In this post, I want to share my experiences, challenges, and strategies for balancing work and parenthood over the past two years.","2026-01-11",[11],"v1640965793\u002Fdebbie.codes\u002Fblog\u002F2026\u002Ffamily-microsoft","cloudinary",{"path":154,"title":155,"description":156,"date":157,"tags":158,"image":13,"provider":13,"url":13,"canonical":159},"\u002Fblog\u002Fdebugging-my-zsh-config-with-goose-and-why-agentic-ai-actually-helped","Debugging My Zsh Config With Goose (and Why Agentic AI Actually Helped)","I've been playing around with a few things recently and wanted to share a real experience that genuinely surprised me. When Goose CLI wouldn't run, the agent investigated my .zshrc file and found a subtle syntax error that would have taken me much longer to debug manually.","2025-12-15",[10,95],"https:\u002F\u002Fdev.to\u002Fdebs_obrien\u002Fdebugging-my-zsh-config-with-goose-and-why-agentic-ai-actually-helped-1noh",{"path":161,"title":162,"description":163,"date":164,"tags":165,"image":13,"provider":13,"url":13,"canonical":13},"\u002Fblog\u002Flaid-off-what-now","Laid off from my dream job, what now?","It’s time to say goodbye. Unfortunately I have been the latest victim of layoffs due to reorgs in Microsoft Spain. I have taken some time to process but I won’t lie, It has been really hard to deal with. This wasn’t just a job. This was my dream. And my dream came true. But unfortunately all dreams must come to an end at some point. So what now?","2025-12-10",[11],{"path":167,"title":168,"description":169,"date":170,"tags":171,"image":13,"provider":13,"url":13,"canonical":172},"\u002Fblog\u002Ftesting-logged-in-state-playwright-mcp-browser-extension","Testing in a Logged-In State with the Playwright MCP Browser Extension","If you've ever needed to test an application that requires authentication, you know the pain of logging in every time or, worse, handing over your credentials to an LLM. With the new Playwright MCP Browser Extension for Chrome and Edge, that's no longer necessary.","2025-08-21",[81,137,80,10],"https:\u002F\u002Fdev.to\u002Fdebs_obrien\u002Ftesting-in-a-logged-in-state-with-the-playwright-mcp-browser-extension-4cmg",{"path":174,"title":175,"description":176,"date":177,"tags":178,"image":13,"provider":13,"url":13,"canonical":179},"\u002Fblog\u002Fautomating-form-submissions-with-playwright-mcp-and-a-prompt-file","Automating Form Submissions with Playwright MCP and a Prompt file","Have you ever wished you could automate browser tasks — like filling out a form or uploading a file — without writing a full-blown test script? What if all you needed was a plain-text prompt written in natural language? Well now you can with Playwright's MCP server.","2025-07-10",[81,137,10],"https:\u002F\u002Fdev.to\u002Fdebs_obrien\u002Fautomating-form-submissions-with-playwright-mcp-and-a-prompt-file-43c3",{"path":181,"title":182,"description":183,"date":184,"tags":185,"image":13,"provider":13,"url":13,"canonical":187},"\u002Fblog\u002Fbuilding-your-first-mcp-server-a-beginners-tutorial","Building Your First MCP Server: A Beginners Tutorial","Have you ever wanted your AI assistant to access real-time data? Model Context Protocol (MCP) servers make this possible, and they're surprisingly simple to build and use! Learn how to build an MCP server from scratch using TypeScript, connect it to a real weather API, and integrate it with VS Code and GitHub Copilot.","2025-07-01",[137,95,10,186],"typescript","https:\u002F\u002Fdev.to\u002Fdebs_obrien\u002Fbuilding-your-first-mcp-server-a-beginners-tutorial-5fag",{"path":189,"title":190,"description":191,"date":192,"tags":193,"image":13,"provider":13,"url":13,"canonical":195},"\u002Fblog\u002Fvibe-coding-with-copilot-and-gemini","Vibe Coding with Copilot and Gemini 2.5 pro - Simplifying My Blog with AI-Assisted Refactoring","I have been wanting to share more content on my blog, but ironically, the process of publishing has been slowing me down. In a recent vibe coding session, I decided to remove images from the blog entirely and explore a content-first approach with AI assistance.","2025-06-20",[95,10,116,194],"vscode","https:\u002F\u002Fdev.to\u002Fdebs_obrien\u002Fvibe-coding-with-copilot-and-gemini-25-pro-simplifying-my-blog-with-ai-assisted-refactoring-3033",{"path":197,"title":198,"description":199,"date":200,"tags":201,"image":13,"provider":13,"url":13,"canonical":202},"\u002Fblog\u002Fgenerate-playwright-tests-without-code-access","Generate Playwright tests without code access using MCP and Copilot","Discover how to use MCP (Model Context Protocol) and GitHub Copilot to generate Playwright tests without needing access to your application's source code, perfect for testing external sites or black-box testing scenarios.","2025-06-18",[81,80,137,10],"https:\u002F\u002Fdev.to\u002Fdebs_obrien\u002Fgenerate-playwright-tests-without-code-access-using-mcp-and-copilot-2m05",{"path":204,"title":205,"description":206,"date":200,"tags":207,"image":13,"provider":13,"url":13,"canonical":208},"\u002Fblog\u002Fletting-playwright-mcp-explore-your-site","Letting Playwright MCP explore your site and write your tests","Learn how to use Playwright MCP (Model Context Protocol) to explore your website and automatically generate comprehensive tests, making web testing more efficient and thorough.",[81,80,137,10],"https:\u002F\u002Fdev.to\u002Fdebs_obrien\u002Fletting-playwright-mcp-explore-your-site-and-write-your-tests-mf1",{"path":210,"title":211,"description":212,"date":213,"tags":214,"image":217,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Fgithub-mcp-server","Setting Up the Official GitHub MCP Server, A simple Guide","The GitHub MCP (Model Context Protocol) Server is a powerful tool that provides seamless integration with GitHub APIs, enabling advanced automation and interaction capabilities. This guide will walk you through how to set up and use the official GitHub MCP Server.","2025-04-16",[215,216],"MCP","AI","v1648106423\u002Fdebbie.codes\u002Fblog\u002F2025\u002FGitHub_MCP_server_2x_1_jizwlw",{"path":219,"title":220,"description":221,"date":222,"tags":223,"image":13,"provider":13,"url":13,"canonical":224},"\u002Fblog\u002Fhow-i-vibe-code-improving-my-site-design-with-goose-and-gemini-3","How I vibe code: Improving my site design with Goose and Gemini 3","Having fun with Google's Gemini 3 and Goose coding agent to redesign my home page, creating dynamic hero components that change on refresh.","2024-11-20",[10,95],"https:\u002F\u002Fdev.to\u002Fdebs_obrien\u002Fhow-i-vibe-code-improving-my-site-design-with-goose-and-gemini-3-2a3k",{"path":226,"title":227,"description":228,"date":229,"tags":230,"image":13,"provider":13,"url":13,"canonical":231},"\u002Fblog\u002Fplaywright-mcp-servers-explained-automation-and-testing","Playwright MCP Servers Explained Automation and Testing","Did you know Playwright has two MCP servers? Learn about the Playwright MCP server for browser automation and the Playwright Test MCP server for testing, both designed to work with AI agents and GitHub Copilot.","2024-11-17",[81,137,10,80],"https:\u002F\u002Fdev.to\u002Fdebs_obrien\u002Fplaywright-mcp-servers-explained-automation-and-testing-4mo0",{"path":233,"title":234,"description":235,"date":236,"tags":237,"image":13,"provider":13,"url":13,"canonical":238},"\u002Fblog\u002Ffixing-failing-tests-automatically-with-playwrights-new-healer-agent","Fixing Failing Tests Automatically with Playwright's New Healer Agent","If you've ever returned to your test suite to find a sea of red, you're going to love this one. The Playwright Healer Agent is here — and it's changing how we think about test maintenance.","2024-11-13",[81,10,80],"https:\u002F\u002Fdev.to\u002Fdebs_obrien\u002Ffixing-failing-tests-automatically-with-playwrights-new-healer-agent-13ck",{"path":240,"title":241,"description":242,"date":243,"tags":244,"image":13,"provider":13,"url":13,"canonical":245},"\u002Fblog\u002Fi-built-my-own-ai-agent-and-you-can-too","I Built My Own AI Agent using n8n — And You Can Too","I recently built my own AI agent. Not because I needed one, but because I wanted to see how far I could take the current tools available. It turned out to be surprisingly straightforward, extremely flexible, and genuinely useful.","2024-11-06",[10],"https:\u002F\u002Fdev.to\u002Fdebs_obrien\u002Fi-built-my-own-ai-agent-and-you-can-too-56l1",{"path":247,"title":248,"description":249,"date":250,"tags":251,"image":13,"provider":13,"url":13,"canonical":252},"\u002Fblog\u002Fplaywright-agents-planner-generator-and-healer-in-action","Playwright Agents Planner, Generator, and Healer in Action","Playwright has introduced a powerful new feature: Playwright Agents. These agents can generate test plans, create tests based on those plans, and even debug and fix failing tests automatically.","2024-10-06",[81,80,10],"https:\u002F\u002Fdev.to\u002Fplaywright\u002Fplaywright-agents-planner-generator-and-healer-in-action-5ajh",{"path":254,"title":255,"description":256,"date":257,"tags":258,"image":13,"provider":13,"url":13,"canonical":259},"\u002Fblog\u002Fautomate-your-screenshot-documentation-with-playwright-mcp","Automate Your Screenshot Documentation with Playwright MCP","Creating visual documentation has always been a time-consuming process. What if I told you there's a way to automate this entire workflow with a single prompt using Playwright MCP?","2024-09-03",[81,137,10],"https:\u002F\u002Fdev.to\u002Fdebs_obrien\u002Fautomate-your-screenshot-documentation-with-playwright-mcp-3gk4",{"path":261,"title":262,"description":263,"date":264,"tags":265,"image":266,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Fbrought-my-babies-to-a-conference","Taking my babies to a conference","But this time it was different. I brought my babies to the conference. I was really worried about doing this as what would people think? And the voices start going off in my head. But why should I care. Cause you know, I just do.","2024-09-02",[11],"v1725569430\u002Fdebbie.codes\u002Fblog\u002F2024\u002FGWQjxLBW0AEuweB_eulios.jpg",{"path":268,"title":269,"description":270,"date":271,"tags":272,"image":273,"provider":152,"url":274,"canonical":13},"\u002Fblog\u002Ftesting-staging-production-envs-playwright","Testing Staging and Production environments in Playwright","When working with third party API's it is better to mock the API call rather than hit the API especially when they are API's that you do not control. Mocking the API allows you to finish developing your component or app and write the tests and then when the API is ready you can just swap out the mock for the real API call.","2024-08-02",[81,80],"v1725567832\u002Fdebbie.codes\u002Fblog\u002F2024\u002Fstaging-production_fivhwv","https:\u002F\u002Fdev.to\u002Fplaywright\u002Ftesting-staging-and-production-environments-in-playwright-3p8b",{"path":276,"title":277,"description":278,"date":279,"tags":280,"image":13,"provider":13,"url":13,"canonical":282},"\u002Fblog\u002Finstall-playwright-mcp-server-in-vs-code","Install Playwright MCP Server in VS Code","Installing MCP(Model Context Protocol) servers in Visual Studio Code just got a major upgrade! Learn how to use the new MCP Servers section in the Extensions panel to easily browse, install, and manage MCP servers.","2024-07-15",[81,137,10,281],"vs-code","https:\u002F\u002Fdev.to\u002Fdebs_obrien\u002Finstall-playwright-mcp-server-in-vs-code-4o91",{"path":284,"title":285,"description":286,"date":287,"tags":288,"image":13,"provider":13,"url":13,"canonical":187},"\u002Fblog\u002Fbuilding-your-first-mcp-server","Building Your First MCP Server - A Beginner's Tutorial","Learn how to build your first Model Context Protocol (MCP) server from scratch. This beginner-friendly tutorial walks you through the fundamentals of MCP and guides you step-by-step through creating your own server to enhance AI applications.","2024-07-03",[137,10],{"path":290,"title":291,"description":292,"date":293,"tags":294,"image":297,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Fdelivering-a-talk","Delivering a Talk","How can we walk on that stage with more confidence, deliver a great talk and not only own the stage but also connect with the audience. It’s not easy, but like everything it does get easier with practice. Let’s go over a few ways you can improve your public speaking skills, either for the big stage or for remote talks, and let’s discuss what is holding you back from becoming an amazing tech speaker.","2023-10-20",[11,295,296],"mentoring","motivation","v1673861872\u002Fdebbie.codes\u002Fblog\u002F2023\u002Fvue-amsterdam_i3hjbi.jpg",{"path":299,"title":300,"description":301,"date":302,"tags":303,"image":304,"provider":305,"url":13,"canonical":13},"\u002Fblog\u002Fpython-and-playwright","Getting Started with Python and Playwright","For those new to Python here is a quick beginners guide on how to setup Python and Pytest and install Playwright. We then create an example test and run it in both headed and headless mode meaning with and without a browser window.","2023-09-07",[81,80],"photo-1528158222524-d4d912d2e208?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=800&q=80","imgix",{"path":307,"title":308,"description":309,"date":310,"tags":311,"image":312,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Fnot-one-but-two","Not One but Two","On our 9th attempt at fertility treatment, we were super excited when the doctor called us 10 days after the transfer to tell us that we were pregnant. It had worked. I asked him if he was sure and he said \"yes, very sure. But then when we had the first scan, we got a big surprise.","2023-08-11",[11],"v1691829487\u002Fdebbie.codes\u002Fblog\u002F2023\u002Fscan-twins-2_iwmfs3.jpg",{"path":314,"title":315,"description":270,"date":316,"tags":317,"image":318,"provider":152,"url":319,"canonical":13},"\u002Fblog\u002Fapi-mocking-for-your-playwright-tests","API Mocking for your Playwright tests","2023-07-04",[81,80],"v1630862642\u002Fdebbie.codes\u002Ffeatured-posts\u002Fapi-mocking_mvo0sn","https:\u002F\u002Fdev.to\u002Fplaywright\u002Fapi-mocking-for-your-playwright-tests-47ah",{"path":321,"title":322,"description":323,"date":324,"tags":325,"image":326,"provider":152,"url":327,"canonical":13},"\u002Fblog\u002Fui-mode-playwright","Playwright's UI Mode - watch mode and time travel debugging","Are you looking for a more efficient way to execute and debug your end to end tests? Look no further than Playwright's UI Mode. In this guide, we'll explore the features of Playwright's UI Mode and show you how to take advantage of them for your test automation needs.","2023-05-05",[81,80],"v1630862642\u002Fdebbie.codes\u002Ffeatured-posts\u002Fui-mode_tgv3o4","https:\u002F\u002Fdev.to\u002Fplaywright\u002Fplaywrights-ui-mode-watch-mode-and-time-travel-debugging-10g5",{"path":329,"title":330,"description":331,"date":332,"tags":333,"image":334,"provider":152,"url":335,"canonical":13},"\u002Fblog\u002Fplaywright-global-setup","A better global setup in Playwright reusing login with project dependencies","When you use global setup, you don't see a trace for the setup part of your tests and the setup doesn't appear in the HTML report. This can make debugging difficult. It's also not possible to use fixtures in global setup. In order to fix this issue, project dependencies were created.","2023-03-15",[81,80],"v1630862642\u002Fdebbie.codes\u002Ffeatured-posts\u002Fsetup_bznutp","https:\u002F\u002Fdev.to\u002Fplaywright\u002Fa-better-global-setup-in-playwright-reusing-login-with-project-dependencies-14",{"path":337,"title":338,"description":339,"date":340,"tags":341,"image":342,"provider":152,"url":343,"canonical":13},"\u002Fblog\u002Fplaywright-local-dev-server","Setup a local dev server for your Playwright tests","Playwright comes with a webserver option in the config file which gives you the ability to launch a local dev server before running your tests. This is ideal for when writing your tests during development and when you don't have a staging or production url to test against.","2023-03-07",[81,80],"v1630862642\u002Fdebbie.codes\u002Ffeatured-posts\u002Flocal-dev-server_z2dylp","https:\u002F\u002Fdev.to\u002Fplaywright\u002Fsetup-a-local-dev-server-for-your-playwright-tests-33m9",{"path":345,"title":346,"description":347,"date":348,"tags":349,"image":350,"provider":305,"url":13,"canonical":13},"\u002Fblog\u002Ftesting-menus-desktop-mobile","Testing Menus on Desktop and Mobile","We can write a simple test to make sure that when a user clicks on an item in the menu it takes them to the correct page. To test my website I use Playwright which I already have installed. Let's take a look at how to test the menu on desktop and mobile.","2023-03-01",[81,80],"photo-1510267413785-9d9e64460cde?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&q=80",{"path":352,"title":353,"description":354,"date":355,"tags":356,"image":357,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002F2022-in-review","2022 Recap - Achieving your dreams Debbie","And there it is, another year gone but when you look back at all you have achieved then really there is no more to say than; what a year. From Google interviews to being hired by Microsoft, speaking at conferences and traveling to so many conferences and lots of sport, 2022 was a great year.","2022-12-31",[11],"v1673861872\u002Fdebbie.codes\u002Fblog\u002F2022\u002Fmicrosoft-running_gztjdu.jpg",{"path":359,"title":360,"description":361,"date":362,"tags":363,"image":364,"provider":152,"url":365,"canonical":13},"\u002Fblog\u002Flocate-elements-playwright","How To Locate Elements in Playwright","In order to write end to end tests we need to first find elements on the webpage and then perform user actions on them. For example, find a link and click on it. But before we dive into how to use the test generator, first let's understand what a link element is and what exactly locators are.","2022-12-01",[81,80],"v1630862642\u002Fdebbie.codes\u002Ffeatured-posts\u002Flocators_jip380","https:\u002F\u002Fdev.to\u002Fplaywright\u002Fhow-to-locate-elements-in-playwright-2918",{"path":367,"title":368,"description":369,"date":370,"tags":371,"image":372,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Fhow-to-locate-elements-in-playwright","How to locate elements in Playwright","How can we locate a link click on it in our e2e tests. In this article we will learn how to locate elements in Playwright using the test generator to generate your tets based on user actions or pick a locator by clicking on an element","2022-11-30",[80,81],"v1669817488\u002Fdebbie.codes\u002Fblog\u002F2022\u002Fvs-code-codegen_gxf58x.png",{"path":374,"title":375,"description":376,"date":377,"tags":378,"image":380,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Fmigrating-nuxt2-nuxt3","Migrating from Nuxt 2 to Nuxt 3","My personal website was built many years ago and had collected quite a large amount of code as I used my site to play around and experiment new features of Nuxt. It took me ages to finally decide to migrate cause lets face it, we all hate migrations. But I finally did it and I'm so glad I did. I'm going to share with you the steps I took to migrate my site from Nuxt 2 to Nuxt 3.","2022-11-27",[379],"nuxt","v1640965793\u002Fdebbie.codes\u002Fblog\u002F2022\u002Fnuxt3_q10xtr.png",{"path":382,"title":383,"description":384,"date":385,"tags":386,"image":387,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Fchallenging-yourself","Challenging Yourself","Cycle all around the island of Mallorca for a total of 235km with an expected cycling time of 9.5 hours at a speed of 25km per hour. Just the thoughts of that is scary enough. Was I able for it? Had I trained enough for it? Probably not. But I was determined to give it a go.","2022-09-11",[11,296],"v1648376409\u002Fdebbie.codes\u002Fblog\u002F2022\u002FIMG_5391_pp2gha",{"path":389,"title":390,"description":391,"date":392,"tags":393,"image":394,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Ftesting-color-mode","Testing a Sites Color Mode with Playwright","My site has a color mode option to change from light theme to dark theme or sepia theme or use the system preference. So how can we write a test to make sure this all works?","2022-09-03",[80,81],"v1662280533\u002Fdebbie.codes\u002Fblog\u002F2022\u002Ftesting-color-mode_j9i7sj.png",{"path":396,"title":397,"description":398,"date":399,"tags":400,"image":401,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Finterviewing-with-the-big-tech-companies","Interviewing with the Big Tech Companies","When a recruiter from Meta, from America, had called me, it just opened my eyes to the possibility that maybe just maybe I was actually good enough to work for the big tech companies.","2022-05-19",[11],"v1651679092\u002Fdebbie.codes\u002Fblog\u002F2022\u002Fdata-structures_2x_kvks59.png",{"path":403,"title":404,"description":405,"date":399,"tags":406,"image":407,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Fwhy-microsoft","Why Microsoft and How I achieved my Goal","I just really liked the idea that Microsoft were willing to send people out to help others, to help them build better software with their products and I said to the two Microsoft guys, \"One day I will work for Microsoft\".",[11],"v1651559990\u002Fdebbie.codes\u002Fblog\u002F2022\u002Fmicrosoft-offices-boston_vhzguu",{"path":409,"title":410,"description":411,"date":412,"tags":413,"image":414,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Ffixing-diversity-in-tech","Fixing Diversity in Tech","When you step back from the nationality, the color, the religion the sex etc you just get a bunch of people who become a great bunch of friends. This is tech. This is what tech should be like always, for everyone.","2022-05-15",[11],"v1652876872\u002Fdebbie.codes\u002Fblog\u002F2022\u002Fbejs-team_om4aqb.jpg",{"path":416,"title":417,"description":418,"date":419,"tags":420,"image":422,"provider":305,"url":13,"canonical":13},"\u002Fblog\u002Fjs-array-at-method","The JavaScript Array.at() method","Often we want to return a single item from an array. There are a few methods of doing this including the `at(index)` method which returns the item at a given index.","2022-05-12",[421],"javascript","photo-1562755524-cb3e786bee18?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxzZWFyY2h8MjJ8fGF0fGVufDB8MHwwfHw%3D&auto=format&fit=crop&w=800&q=60",{"path":424,"title":425,"description":426,"date":427,"tags":428,"image":429,"provider":305,"url":13,"canonical":13},"\u002Fblog\u002Fjs-array-filter-method","The JavaScript Array.filter() method","The .filter() method in JavaScript creates a new array with all elements that pass the test implemented by the provided function.","2022-05-11",[421],"photo-1515560570411-00a0026e6086?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxzZWFyY2h8NXx8ZmlsdGVyfGVufDB8MHwwfHw%3D&auto=format&fit=crop&w=800&q=60",{"path":431,"title":432,"description":433,"date":434,"tags":435,"image":436,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Fwork-life-balance","Finding the Right Work Life Balance","To many people it might look like I have it all worked out and to be honest I do think I have a pretty good work life balance. But it wasn't always that way. I am probably older than most people who will read this and therefore I have had more time to make mistakes and learn from them.","2022-05-10",[11],"v1640965793\u002Fdebbie.codes\u002Fblog\u002Fdevs-in-the-forest_c_gctzoz.jpg",{"path":438,"title":439,"description":440,"date":441,"tags":442,"image":443,"provider":152,"url":444,"canonical":13},"\u002Fblog\u002Fcourage-inspiration-developer-community","Finding courage and inspiration in the developer community","How do we empower women in tech and equip them with the skills to help them become true leaders? One way is learning from others' successes and failures. Web GDEs—Debbie O'Brien, Julia Miocene, and Glafira Zhur—discuss the value of one to one mentoring and the impact it has made on their own professional and personal development.","2022-05-09",[295],"v1652110618\u002Fdebbie.codes\u002Ffeatured-posts\u002Fwebdev-mentoring_lpmeze.png","https:\u002F\u002Fweb.dev\u002Fgde-mentoring\u002F",{"path":446,"title":447,"description":448,"date":441,"tags":449,"image":451,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Fminimizing-svgs","Minimizing SVGs","When working with SVG's sometimes we just put the svg into our code and think nothing more of it. But do we always need all that code that the SVG gives us? Perhaps not. SVGO is a tool that can take an SVG and compress it down to a smaller size ensuring your site is more performant.",[450],"performance","v1652107148\u002Fdebbie.codes\u002Fblog\u002F2022\u002Fdev-logo-svgomg_2x_ljbh5t.png",{"path":453,"title":454,"description":455,"date":456,"tags":457,"image":458,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Ffinding-motivation-as-a-developer","Finding Motivation as a Developer","Many people keep asking me where I get my motivation from, how do I find so much time and energy to do so much? I certainly don't have all the answers but I do think it is something you teach yourself.","2022-05-06",[11,296],"v1651832018\u002Fdebbie.codes\u002Fblog\u002F2022\u002Finspiring-books_2x_ey0xyw.png",{"path":460,"title":461,"description":462,"date":463,"tags":464,"image":465,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Fbeing-an-imposter","Being an Imposter","If you ever look at the home page of my site or the intro slide of my talks you will probably think I am the biggest show off in the world. However, really I am an imposter. I doubt my abilities and find it difficult to accept my accomplishments and wonder if I deserve them.","2022-03-27",[11,296],"v1648376409\u002Fdebbie.codes\u002Fblog\u002F2022\u002FA26430C9-6959-45BF-83B7-EB0086E85E6A_1_105_c_occakl.jpg",{"path":467,"title":468,"description":469,"date":470,"tags":471,"image":472,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Fpagination-in-nuxt-content","Pagination in Nuxt Content","My blog was getting bigger and bigger and so time to add pagination. I am using Nuxt Content to manage my blog posts. So how do I add pagination to my blog? Let me show you how I did it.","2022-03-26",[379],"v1648296331\u002Fdebbie.codes\u002Fblog\u002F2022\u002Fpagination_2x_ppog9g.png",{"path":474,"title":475,"description":476,"date":477,"tags":478,"image":479,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Fdebugging-tests-in-playwright","Debugging Tests in Playwright","Let's take a look at some of the ways you can debug your tests in Playwright should they fail. Playwright scripts work with existing debugging tools, like Node.js debuggers and browser developer tools. Playwright also introduces new debugging features for browser automation.","2022-03-25",[80,81],"v1648217584\u002Fdebbie.codes\u002Fblog\u002F2022\u002Frunning-tests_2x_twjt1c.png",{"path":481,"title":482,"description":483,"date":477,"tags":484,"image":485,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Freports-tracing-tests-in-playwright","Playwright Reports and Traces","Playwright will serve up a HTML report on your local server so you can easily walk through the steps of your test. You can also open a trace file which gives you even more powerful options of viewing, reporting, interacting and even debugging your tests.",[80,81],"v1648219793\u002Fdebbie.codes\u002Fblog\u002F2022\u002Ftrace-viewer-broswer_jqoim0.png",{"path":487,"title":488,"description":489,"date":490,"tags":491,"image":493,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Fdesign-tokens-and-theming","Design Tokens and Theming","As frontend developers we are normally given a design from Figma or similar tools that we then need to turn into code. So where do we start? What are the first steps we should take when converting our design into code?","2022-03-24",[492],"react","v1648117439\u002Fdebbie.codes\u002Fblog\u002F2022\u002Fpink-theme_2x_iyuccs.png",{"path":495,"title":496,"description":497,"date":490,"tags":498,"image":499,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Fgetting-started-with-playwright-testing","Getting Started with Playwright Testing","How can we get more developers to write tests? We can create better tools that makes testing easier. Let's take a look at Playwright and it's amazing features including codegen which writes your tests for you.",[80,81],"v1648106423\u002Fdebbie.codes\u002Fblog\u002F2022\u002Fcodegen_2x_psrpgk.png",{"path":501,"title":502,"description":503,"date":490,"tags":504,"image":505,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Ftesting-iframes-with-playwright","Testing iframes with Playwright","Have you ever had to test something in an iframe on your page with end to end testing? Even testing the play button of an embedded video used to be difficult but then along came Playwright. Let's take a look at how Playwright can help you test iframes.",[80,81],"v1648137581\u002Fdebbie.codes\u002Fblog\u002F2022\u002Fhas-locator_2x_wlg69v.png",{"path":507,"title":508,"description":509,"date":510,"tags":511,"image":512,"provider":305,"url":13,"canonical":13},"\u002Fblog\u002Ftheming-in-react","Theming in React","Theming is a fascinating topic and a really important one these days as more and more people add light and dark mode to their sites and companies change the theme of their site or part of their site on specific dates to celebrate occasions such as christmas, pride week etc.","2022-03-10",[492],"photo-1595446472721-4b7aa63a2bc7?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=500&q=80",{"path":514,"title":515,"description":516,"date":517,"tags":518,"image":520,"provider":305,"url":13,"canonical":13},"\u002Fblog\u002Flearning-about-developer-advocates","Learning about Developer Advocates","Being a Developer Advocate is by far the best job in the world, at least in my opinion and for me. It isn't for everyone and that's ok too. In this post I am going to share a bit about what I do as a Developer Advocate and what I love about it.","2022-02-06",[11,519],"dev-rel","photo-1560155016-bd4879ae8f21?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1364&q=80",{"path":522,"title":523,"description":524,"date":525,"tags":526,"image":527,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Fbuilding-cart-context-component","Building a Cart Context Component","Creating a generic cart component that can add and remove a product from the cart using React Context. This component can then be used in any other component or app to create more specific cart components.","2022-02-02",[492],"v1643820029\u002Fdebbie.codes\u002Fblog\u002F2022\u002Fcart-context_2x_qlqg5q",{"path":529,"title":530,"description":531,"date":532,"tags":533,"image":534,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Fbuilding-and-testing-counter-component","Building and Testing a Counter Component","We want to build and test a counter component built with React and TypeScript. So where do we start? Which components do we need to build to create this component and what do we test?","2022-01-12",[492,80],"v1642010879\u002Fdebbie.codes\u002Fblog\u002F2022\u002Fcounter_2x_ma1ik6",{"path":536,"title":537,"description":538,"date":539,"tags":540,"image":541,"provider":305,"url":13,"canonical":13},"\u002Fblog\u002Ftypescript-and-children","TypeScript and Children","What happens when we pass in children in React? Children is a special prop that allows us to pass in any type of element. It could be a number, a string, a boolean, an array of elements or even another component. So how can we check the types?","2022-01-11",[186,492],"photo-1504438190342-5951e134ffee?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=600&q=80",{"path":543,"title":544,"description":545,"date":546,"tags":547,"image":548,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Fbuilding-and-testing-select-input","Building and Testing a Select Component","Building a Select component with a Composition to see the component render in isolation as well as Tests using React Testing Library to test the select works on change and shows a new value.","2022-01-10",[492,80],"v1641812664\u002Fdebbie.codes\u002Fblog\u002F2022\u002Fselect_2x_g2mbjj",{"path":550,"title":551,"description":552,"date":553,"tags":554,"image":555,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Ftesting-button-component","Testing a Button Component","Testing a button component with React Testing Library. What to test and how to test your button component when building multiple compositions of the button.","2022-01-07",[492,80],"v1612443662\u002Fdebbie.codes\u002Fblog\u002Fbutton-testing_2x_oliu20",{"path":557,"title":558,"description":559,"date":560,"tags":561,"image":562,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002F2021-in-review","2021 - climbing higher and higher","A look back at yet again another amazing year even though times were hard. From lockdowns to in person conferences, to changing jobs and learning a new library, as well as mentoring, teaching workshops, doing lots of sport and so much more.","2021-12-31",[11],"v1640964235\u002Fdebbie.codes\u002Fblog\u002Fcycling-sa-colobra_mvtntg.jpg",{"path":564,"title":565,"description":566,"date":567,"tags":568,"image":569,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Fadding-tailwind-to-bit","Adding TailwindCSS to Bit","Adding TailwindCSS to your Bit components by adding it to the env that is used by your components. This way the the component compositions will show the TailwindCSS classes.","2021-12-30",[492],"v1640962583\u002Fdebbie.codes\u002Fblog\u002Ftailwindcss-button_2x_gtcqu9",{"path":571,"title":572,"description":573,"date":574,"tags":575,"image":576,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Fbuilding-an-ecommerce-product-page","Building an ecommerce Product details component","Where do you start when building a product page for an e-commerce store? How do you think about naming the components and how much to break down the components? What do you start building first and why?","2021-12-23",[492],"v1640267556\u002Fdebbie.codes\u002Fblog\u002Fproduct-details-component_2x_isk5aj",{"path":578,"title":579,"description":580,"date":581,"tags":582,"image":583,"provider":305,"url":13,"canonical":13},"\u002Fblog\u002Funderstanding-typescript","Understanding TypeScript","TypeScript is a superset of JavaScript. Any types that are added are not part of the final bundle so really TypeScript is there to make your life easier as a developer.","2021-10-06",[186,492],"reserve\u002FuZYSV4nuQeyq64azfVIn_15130980706_64134efc6e_o.jpg?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=600&q=80",{"path":585,"title":586,"description":587,"date":588,"tags":589,"image":590,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Fnuxt-image","Improve Performance with Nuxt Image","Showing the benefits of Nuxt image by analyzing the performance of my website before and after adding the Nuxt Image module.","2021-09-16",[379,450],"v1631791512\u002Fdebbie.codes\u002Fblog\u002Fgood-lighthouse-test_joltel",{"path":592,"title":593,"description":594,"date":595,"tags":596,"image":598,"provider":305,"url":599,"canonical":13},"\u002Fblog\u002Fpublish-multiple-components-to-npm","Publish Multiple Components to NPM with no package.jsons to Maintain","Sharing components across multiple projects or with other developers seems to be the most complicated thing, yet it really shouldn’t be. With package registries such as npm or GitHub packages surely we should easily be able to share our components by publishing them as packages.","2021-08-11",[597],"architecture","photo-1543966888-7c1dc482a810?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=600&q=80","https:\u002F\u002Fblog.bitsrc.io\u002Fpublish-multiple-components-to-npm-with-no-package-jsons-to-maintain-db34f0fbf5aa",{"path":601,"title":602,"description":603,"date":604,"tags":605,"image":606,"provider":152,"url":607,"canonical":13},"\u002Fblog\u002Fsharing-react-components-across-multiple-applications","Sharing React Components across Multiple Applications","We have almost all been in a situation where we need to share a component between one app and another. Often we just decide to copy and paste it because it really is the quickest option. And sometimes it’s even ok, especially when it comes to those smaller components. But what if you wanted to share a big and more complex component?","2021-06-16",[492,597],"v1630863000\u002Fdebbie.codes\u002Ffeatured-posts\u002Fsharing-react-components_ejjqxp","https:\u002F\u002Fblog.bitsrc.io\u002Fsharing-react-components-across-multiple-applications-a407b5a15186",{"path":609,"title":610,"description":611,"date":612,"tags":613,"image":614,"provider":305,"url":13,"canonical":13},"\u002Fblog\u002Fvs-code-tips","VS Code Tips","Tips, shortcuts and extensions to make working with VS Code easier so you can developer faster and let the tools do the job for you.","2021-05-13",[281],"photo-1510751007277-36932aac9ebd?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop",{"path":616,"title":617,"description":618,"date":619,"tags":620,"image":621,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Famazing-things-are-going-to-happen","Amazing Things are Going to Happen","Believing in yourself is hard, especially when for so long people have put you down or not believed in you. Getting those voices out of your head is not easy but I think I have finally done it and now I can finally grow and just be a star.","2021-04-26",[11,296],"v1619366231\u002Fdebbie.codes\u002Fblog\u002FIMG_8227_bav9rh",{"path":623,"title":624,"description":625,"date":626,"tags":627,"image":628,"provider":305,"url":13,"canonical":13},"\u002Fblog\u002Fdiscord-virtual-office","Discord as a Virtual Office","We use Discord as our virtual office at Bit and I have to tell you all about it as it really is a great way to work and collaborate with others especially when working in different time zones.","2021-04-03",[11],"photo-1614680376739-414d95ff43df?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop",{"path":630,"title":631,"description":632,"date":633,"tags":634,"image":635,"provider":305,"url":13,"canonical":13},"\u002Fblog\u002Flearning-react","Learning React","Recently I started learning React for my new job. I basically went from being a coding ninja to being a coding newbie. But hey everything can be learnt so here is what I have learnt so far.","2021-03-21",[492],"photo-1581276879432-15e50529f34b?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop",{"path":637,"title":638,"description":639,"date":640,"tags":641,"image":642,"provider":152,"url":643,"canonical":13},"\u002Fblog\u002Fask-engineers-anything","GitHub Star Shares Tips on Developer Advocacy, Coding Without a Degree, and Imposter Syndrome","For February’s Ask Engineers Anything event (aka office hours for our engineer community), I invited GitHub Star and community favorite, Debbie O’Brien, to share her experience as a woman in tech who is making a huge difference in the ecosystem.","2021-03-10",[519],"f_auto,c_fill,g_auto,e_sharpen\u002Fv1615392668\u002Fdebbie.codes\u002Ffeatured-posts\u002Fask-engineers-anything_m3vmrk","https:\u002F\u002Fandela.com\u002Finsights\u002Fcommunity-developer-advocacy-impostor-syndrome\u002F",{"path":645,"title":646,"description":647,"date":648,"tags":649,"image":650,"provider":305,"url":13,"canonical":13},"\u002Fblog\u002Fnuxt-middleware","Understanding Nuxt Middleware","Middleware lets you define custom functions that can be run before rendering either a page or a group of pages which we call layouts.","2021-02-18",[379],"photo-1446769357257-5aa1b1bfcd65?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop",{"path":652,"title":653,"description":654,"date":655,"tags":656,"image":657,"provider":305,"url":13,"canonical":13},"\u002Fblog\u002Fnuxt-loading","Customizing the Nuxt Loading Component","We can customize the Loading for our Client Side applications as well as the loading Progress bar for our server rendered applications and we can even customize this to create our own.","2021-02-16",[379],"photo-1607434472257-d9f8e57a643d?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&",{"path":659,"title":660,"description":661,"date":662,"tags":663,"image":664,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Fnuxt-deploying-to-netlify","Deploying your Nuxt app to Netlify","If you are building a Nuxt static site and want to deploy it easily and for free then Netlify is a great choice. Let me show you how easy it is.","2021-02-07",[379],"c_scale,fl_lossy,f_auto,q_auto,,w_600\u002Fv1612716320\u002Fdebbie.codes\u002Fblog\u002Fnew-site-from-netlify_fx4zmm",{"path":666,"title":667,"description":668,"date":669,"tags":670,"image":671,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Fwhy-livestreams-scare-me","Why Live Streams Scare me","What its like to do a live stream, why it scares me and why I know the only way to get over fear is to keep doing it again and again.","2021-02-05",[11],"fl_lossy,f_auto\u002Fv1609438516\u002Fdebbie.codes\u002Fblog\u002Flivestreams_mg6ulm",{"path":673,"title":674,"description":675,"date":676,"tags":677,"image":678,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Fprogressive-web-apps","How Progressive Web Apps work","Progressive web apps will really help your performance and you can install them on your home screen or desktop and have that app like feel for your website. Let's have a look at how they work.","2021-02-04",[379,450],"v1612443662\u002Fdebbie.codes\u002Fblog\u002Finstall-app_z3nqdh",{"path":680,"title":681,"description":682,"date":683,"tags":684,"image":685,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Fnuxt-add-vue-plugins","Adding Vue Plugins to your Nuxt APP","In Nuxt we can add Vue plugins to our application by creating a Nuxt plugin and then registering that plugin in the Nuxt Config file.","2021-02-02",[379],"c_scale,fl_lossy,f_auto,q_auto\u002Fv1612282619\u002Fdebbie.codes\u002Fblog\u002Fvue-plugins_ubadyf",{"path":687,"title":688,"description":689,"date":690,"tags":691,"image":692,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Fcreating-video-courses","Creating Video Courses","Creating video courses can be very time consuming and for sure there is no one way to go about it. In this post I share what I have learnt and how I now find it easier to create courses.","2021-01-31",[11],"c_scale,fl_lossy\u002Fv1612090624\u002Fdebbie.codes\u002Fblog\u002FScreenshot_2021-01-31_at_11.54.39_mlegoc",{"path":694,"title":695,"description":696,"date":697,"tags":698,"image":699,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Fwhy-i-love-nuxt","Why I Love Nuxt","I have been using Nuxt in all of my recent tech jobs but why did I start using it? What problems did I have trying to convince the team and more important the clients. And why should you use Nuxt?","2021-01-30",[379,11],"f_auto,q_auto\u002Fv1599991772\u002Fdebbie.codes\u002Fvue_amsterdam_2_vkc631",{"path":701,"title":702,"description":703,"date":704,"tags":705,"image":706,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Fnuxt-lite-youtube-embeds","Lite YouTube Embeds","If you are adding YouTube videos to your site you might notice that they can load quite slowly especially when loading iframes. However this is a better way. With this library your YouTube videos will load super fast and your site will be more performant because of it.","2021-01-29",[379,450],"f_auto,q_auto\u002Fv1611939855\u002Fdebbie.codes\u002Fblog\u002FScreenshot_2021-01-29_at_18.03.52_yuqsr3",{"path":708,"title":709,"description":710,"date":711,"tags":712,"image":713,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002Fnuxt-analytics","Adding analytics to your Nuxt site","When you build your own site sometimes it's important to add analytics to see what is doing well, what your audience is spending time and perhaps find ways of improving your site","2021-01-28",[379],"c_scale,fl_lossy,f_auto,q_auto,w_600\u002Fv1611841528\u002Fdebbie.codes\u002Fplausible_laomvr",{"path":715,"title":716,"description":717,"date":718,"tags":719,"image":720,"provider":152,"url":13,"canonical":13},"\u002Fblog\u002F2020-in-review","2020 - my most successful year (career wise)","A look back at what we could say has been an interesting year, challenging in many ways yet somehow has been my most successful year to date.","2020-12-30",[11],"v1609438516\u002Fdebbie.codes\u002Fblog\u002FScreenshot_2020-12-31_at_18.14.59_sbfsen",{"path":722,"title":723,"description":724,"date":725,"tags":726,"image":727,"provider":152,"url":728,"canonical":13},"\u002Fblog\u002Fcreating-a-nuxt-module","Creating a Nuxt Module","Modules are functions that are called sequentially when booting Nuxt. The framework waits for each module to finish before continuing. In this way, modules can customize almost any aspect of your project. Nuxt modules can be incorporated into npm packages. This makes them easy to reuse across projects and to share with the community.","2020-11-27",[379],"v1630863199\u002Fdebbie.codes\u002Ffeatured-posts\u002Fcreating-nuxt-module_w12ktc","https:\u002F\u002Fnuxtjs.org\u002Fblog\u002Fcreating-a-nuxt-module",{"path":730,"title":731,"description":732,"date":733,"tags":734,"image":735,"provider":152,"url":736,"canonical":13},"\u002Fblog\u002Fhow-we-use-nuxt-at-the-nuxtjs-company","How we use Nuxt at The NuxtJS Company","The first commit for Nuxt.js on Github was made on October 26th, 2016. Since then the Nuxt.js framework has grown from 2 creators in 2016 to having 10 full-time employees at the NuxtJS company, as well as the amazing Nuxt community with maintainers, ambassadors and contributors.","2020-10-22",[379],"v1630862648\u002Fdebbie.codes\u002Ffeatured-posts\u002Fhow-we-use-nuxt_zx05uz","https:\u002F\u002Fdevblogs.microsoft.com\u002Fstartups\u002Fnuxt\u002F?WT.mc_id=startups-7534-cxa",{"path":738,"title":739,"description":740,"date":741,"tags":742,"image":744,"provider":305,"url":13,"canonical":13},"\u002Fblog\u002Fvue-directives","Vue Directives","Vue Directives are a great way of doing things like trimming your models or only showing something once. So many cool directives to make your life easier when coding in Vue.","2020-10-16",[743,379],"vue","photo-1503437313881-503a91226402?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=3578&q=80",{"path":746,"title":747,"description":748,"date":749,"tags":750,"image":751,"provider":305,"url":13,"canonical":13},"\u002Fblog\u002Fdate-formatting","Formatting a date in JavaScript","How to format a date in JavaScript without using any libraries so you easily display dates in your Vue or Nuxt application","2020-10-09",[421],"photo-1595437037073-edcf5af767dd?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop",{"path":753,"title":754,"description":755,"date":756,"tags":757,"image":758,"provider":305,"url":759,"canonical":13},"\u002Fblog\u002Fadvanced-i18n-in-nuxt-using-interpolations","Advanced i18n in Nuxt using Interpolations","That's where i18n interpolation comes into practice. With i18n, instead of using v-html we can instead use interpolation. How? i18n gives us an \u003Ci18n> component that we can use on any of our pages or inside our components.","2020-09-17",[379,743],"photo-1600633349333-eebb43d01e23?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=2550&q=80","https:\u002F\u002Fvuedose.tips\u002Fadvanced-i18n-in-nuxt-using-interpolations\u002F",{"path":761,"title":762,"description":763,"date":764,"tags":765,"image":766,"provider":305,"url":13,"canonical":13},"\u002Fblog\u002Fextrovert-in-virtual-world","Being an Extrovert in a Virtual World","From being surrounded by amazing people to being locked up from the world. 2020 has been an interesting year and a very hard one for those who are extroverts and love being around people.","2020-09-12",[11],"photo-1545113972-bbccc3547465?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop",{"path":768,"title":769,"description":770,"date":771,"tags":772,"image":773,"provider":152,"url":774,"canonical":13},"\u002Fblog\u002Fcityjs-conf","CityJSConf talks to…Debbie O’Brien","“I guess you could say I love the buzz of the stage but also because my talks help people learn something new. Now the virtual world is not the same at all, but what can we do? I don’t dislike it — I would just prefer to see and talk to people. I am very much a people’s person.”","2020-09-07",[11],"fl_lossy,f_auto\u002Fv1607270077\u002Fdebbie.codes\u002Fblog\u002Fcityjsconf_ozoe4u","https:\u002F\u002Fmedium.com\u002Fcityjsconf\u002Fcityjsconf-talks-to-debbie-obrien-3a3a2cb9a5cd",{"path":776,"title":777,"description":778,"date":771,"tags":779,"image":781,"provider":152,"url":782,"canonical":13},"\u002Fblog\u002Fwhy-static-sites-are-back","Why static sites are back","When we first built websites many years ago they were very static. It was all we knew. Html with some CSS and a tiny bit of JavaScript. A typical website from 1996, SpaceJam which really shows how static sites are.",[780],"jamstack","v1630862645\u002Fdebbie.codes\u002Ffeatured-posts\u002Fwhy-static-sites-are-back_tw2bgc","https:\u002F\u002Fdev.to\u002Fazure\u002Fwhy-static-sites-are-back-6jh",{"path":784,"title":785,"description":786,"date":787,"tags":788,"image":789,"provider":305,"url":13,"canonical":13},"\u002Fblog\u002Fjs-array-map-method","The JavaScript Array.Map() method","The .map() method in JavaScript lets you loop over every element in an array and modify or add to it and then return a different element to take that elements place","2020-08-09",[421],"photo-1512418490979-92798cec1380?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop",{"path":791,"title":792,"description":793,"date":794,"tags":795,"image":796,"provider":305,"url":13,"canonical":13},"\u002Fblog\u002Fnuxt-cookie-consent","Adding a cookie consent banner","When in Europe and using cookies we need to show a cookie consent banner so our users are aware that we are using cookies on the site.","2020-07-29",[379],"photo-1558961363-fa8fdf82db35?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop",{"path":798,"title":799,"description":800,"date":801,"tags":802,"image":803,"provider":305,"url":13,"canonical":13},"\u002Fblog\u002Fcypress-setup","Setting up cypress","Let's take a look at how you setup Cypress in your Nuxt.js project, setup a github action for continuous integration so that Netlify will run the tests every time your application is building.","2020-07-17",[379,80],"photo-1580982324076-d95230549339?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop",{"path":805,"title":806,"description":806,"date":801,"tags":807,"image":808,"provider":305,"url":13,"canonical":13},"\u002Fblog\u002Fnuxt-fetching-graphql-queries","Fetching graphQL queries",[379],"photo-1516979187457-637abb4f9353?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop",{"path":810,"title":811,"description":812,"date":801,"tags":813,"image":808,"provider":305,"url":13,"canonical":13},"\u002Fblog\u002Fnuxt-migrating-to-nuxt-content","Migrating to Nuxt content","If you already have documentation set up and would like to migrate to Nuxt Content then this guide should help you make migrate easily and take advantage of what the docs theme gives you.",[379],{"path":815,"title":816,"description":817,"date":801,"tags":818,"image":808,"provider":305,"url":13,"canonical":13},"\u002Fblog\u002Fnuxt-using-apollo-to-fetch-data","Using Apollo to Fetch Data","Using Apollo to Fetch Data from a GraphQL API",[379],{"path":820,"title":821,"description":822,"date":823,"tags":824,"image":825,"provider":152,"url":826,"canonical":13},"\u002Fblog\u002Fcreate-a-blog-with-nuxt-content","Create a Blog with Nuxt Content","The content module is a git files based headless CMS that provides powerful features when it comes to write blogs, documentation sites or just adding content to any regular website. In this post we will go through most of the benefits of this module and discover how we can create a blog with it.","2020-07-02",[379],"v1630862643\u002Fdebbie.codes\u002Ffeatured-posts\u002Fcreate-blog-nuxt-content_yoae9h","https:\u002F\u002Fnuxtjs.org\u002Fblog\u002Fcreating-blog-with-nuxt-content",{"path":828,"title":829,"description":830,"date":831,"tags":832,"image":833,"provider":305,"url":13,"canonical":13},"\u002Fblog\u002Fnuxt-active-styles","Styling your active classes in Nuxt.js","Nuxt.js, which uses `vue-router`, can easily tell what route you are on and therefore can add a class to that link when the user is on that page. By default this class is called `nuxt-link-active`.","2020-06-28",[379],"photo-1428790067070-0ebf4418d9d8?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop",{"path":835,"title":836,"description":837,"date":831,"tags":838,"image":839,"provider":305,"url":13,"canonical":13},"\u002Fblog\u002Fnuxt-adding-pwa","Adding a PWA in Nuxt.js","Most people don't realise how easy it really is to add a PWA with Nuxt.js. Progressive Web Apps (PWA) deliver native-like capabilities, reliability, and installability while reaching anyone, anywhere, on any device with a single codebase.",[379,450],"photo-1511804074-5e57bc14db9f?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop",{"path":841,"title":754,"description":842,"date":843,"tags":844,"image":845,"provider":305,"url":846,"canonical":13},"\u002Fblog\u002Fautoload-vue-components-in-nuxt","With Nuxt components you can auto import your components really easily and even comes with support for dynamic imports otherwise known as lazy loading. That means you can just add your component in the template without having to add it to the script tag. This makes development much faster.","2020-06-17",[379],"photo-1587654780291-39c9404d746b?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=2550&q=80","https:\u002F\u002Fvuedose.tips\u002Fauto-load-vuejs-components-in-nuxt",{"path":848,"title":849,"description":850,"date":851,"tags":852,"image":853,"provider":152,"url":854,"canonical":13},"\u002Fblog\u002Fmoving-from-dontenv-to-runtime-config","Moving from @nuxtjs\u002Fdotenv to runtime config","In our frontend applications, we often use APIs and third-party integrations which require us to use configuration data which is usually provided by environment variables. These variables should not be exposed to the frontend as the browser environment is accessible by all visitors.","2020-06-15",[379],"v1630862642\u002Fdebbie.codes\u002Ffeatured-posts\u002Fmoving-from-dot-env_kn8gra","https:\u002F\u002Fnuxtjs.org\u002Fblog\u002Fmoving-from-nuxtjs-dotenv-to-runtime-config",{"path":856,"title":857,"description":858,"date":859,"tags":860,"image":861,"provider":152,"url":862,"canonical":13},"\u002Fblog\u002Fgoing-dark-nuxt-color-mode","Going dark with Nuxt.js color mode","The @nuxtjs\u002Fcolor-mode module is a cool way of adding dark mode to your site. But not only does it switch from dark to light but also any color theme (eg sepia mode). It even has auto detection so that it will choose the right mode depending on your system appearance.","2020-05-19",[379],"v1630862640\u002Fdebbie.codes\u002Ffeatured-posts\u002Fgoing-dark-mode_jizwlw","https:\u002F\u002Fnuxtjs.org\u002Fblog\u002Fgoing-dark-with-nuxtjs-color-mode",{"path":864,"title":865,"description":866,"date":867,"tags":868,"image":869,"provider":305,"url":13,"canonical":13},"\u002Fblog\u002Fnuxt-ignoring-files-nuxt","ignoring your files with Nuxt.js","In Nuxt.js there are 3 different ways to ignore files during the build phase. This is great for static site generation which means you can still generate your site with a broken page as it will be ignored.","2020-04-24",[379],"photo-1557487307-8dc8ec048eb8?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop",{"path":871,"title":872,"description":873,"date":874,"tags":875,"image":876,"provider":305,"url":13,"canonical":13},"\u002Fblog\u002Fnuxt-error-page","Creating an error page in Nuxt.js","An error page is the page you see when you arrive at a page that can't be found. These are typically called 404 pages. To create an error page all you need to do is create an `error.vue` file in your layouts folder. Layouts?","2020-04-23",[379],"photo-1594322436404-5a0526db4d13?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop",{"path":878,"title":879,"description":880,"date":881,"tags":882,"image":883,"provider":305,"url":13,"canonical":13},"\u002Fblog\u002Fnuxt-configure-server-to-see-site-on-mobile","Configure the Nuxt.js server to see your site on your mobile","Sometimes you want to test out your site on your actual mobile device or tablet and not just in the dev tools. This is great when bug fixing or just to see how it looks in a real environment.","2020-04-21",[379],"photo-1423666639041-f56000c27a9a?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjF9&auto=format&fit=crop",{"path":885,"title":886,"description":887,"date":888,"tags":889,"image":890,"provider":305,"url":13,"canonical":13},"\u002Fblog\u002Fnuxt-show-message-when-offline","Show a message when your user is offline with $nuxt.isOffline","Did you know that `$nuxt.isOffline` can be used to show your users content based on if they are online or not.","2020-04-20",[379],"photo-1588064718670-764b8515b86e?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&",{"path":892,"title":893,"description":894,"date":895,"tags":896,"image":897,"provider":305,"url":13,"canonical":13},"\u002Fblog\u002Fnuxt-loading-progress-bar","The Nuxt Loading Progress Bar","Nuxt.js automatically gives you a loading progress bar component which is shown between routes. Did you know you can customise it, disable it or create your own component?","2020-04-17",[379],"photo-1516906158245-7fafb29df119?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop",{"path":899,"title":900,"description":901,"date":902,"tags":903,"image":904,"provider":305,"url":13,"canonical":13},"\u002Fblog\u002Fnuxt-analyze-webpack-bundles","Let's Analyze your webpack bundles with Nuxt","As we add so many third party libraries to our site sometimes we forget that perhaps they are going to have an impact on our performance or sometimes we just don't read the install instructions and install the whole library instead of only what we need.","2020-04-16",[379,450],"photo-1434626881859-194d67b2b86f?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop",{"path":906,"title":907,"description":908,"date":909,"tags":910,"image":911,"provider":305,"url":13,"canonical":13},"\u002Fblog\u002Fnuxt-page-and-layout-transitions","Page and Layout Transitions in Nuxt.js","With Nuxt.js it is really easy to add transitions between your pages. You can create transitions for all your pages or layouts and you can even have different transitions for specific pages.","2020-04-13",[379],"photo-1545986467-13cfe33c156e?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=800&q=60",{"path":913,"title":914,"description":915,"date":916,"tags":917,"image":918,"provider":305,"url":919,"canonical":13},"\u002Fblog\u002Fbuild-counter-dropdown-accordion","Build a Counter, Dropdown and Accordion in Vue Components!","Let’s dive into building some core main components that you might be tasked with when writing applications in Vue. Or, if you’re new to Vue, then these are definitely some great ways to get started understanding the more ‘common’ components that we might work with on a day-to-day basis. With that in mind, let’s get started right away with building a Counter, Dropdown and finally an Accordion with Vue!","2019-08-21",[743],"photo-1528840942-6d0562674ad6?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1700&q=80","https:\u002F\u002Fultimatecourses.com\u002Fblog\u002Fbuild-a-counter-dropdown-and-accordion-in-vue-components",{"path":921,"title":922,"description":923,"date":924,"tags":925,"image":926,"provider":152,"url":927,"canonical":13},"\u002Fblog\u002Ffinding-your-way-around-the-vue-ui","Finding your way around the Vue UI","Vue CLI is the fastest way to get your Vue project off the ground and it also comes with a really cool graphical user interface that allows you to easily modify your project’s configuration, run linters, search for and install plugins, analyse your bundle with webpack and more.","2019-06-25",[743],"v1630862638\u002Fdebbie.codes\u002Ffeatured-posts\u002Ffinding-way-round-vue-ui_gmgzf1","https:\u002F\u002Fultimatecourses.com\u002Fblog\u002Ffinding-your-way-around-the-vue-ui",{"path":929,"title":930,"description":931,"date":932,"tags":933,"image":934,"provider":152,"url":935,"canonical":13},"\u002Fblog\u002Fjavascript-workshop-with-kyle-simpson","JavaScript Workshop with Kyle Simpson","It has been a couple of months since Kyle, author of the “You Don’t Know JS” series, visited our trivago headquarters and gave us a wonderful JavaScript workshop. It was such an enjoyable week, being able to meet Kyle in person and walk through his thinking behind the materials.","2018-10-15",[11],"v1607270365\u002Fdebbie.codes\u002Fblog\u002Ftrivago_w7istq","https:\u002F\u002Ftech.trivago.com\u002F2018\u002F10\u002F15\u002Fjavascript-workshop-with-kyle-simpson\u002F",{"path":937,"title":938,"description":939,"date":940,"tags":941,"image":942,"provider":152,"url":943,"canonical":13},"\u002Fblog\u002Fhow-learning-to-code-changed-my-life","How learning to code changed my life","A year ago, I was in a very different place. I had come to the end of a very long journey and I just didn’t know what to do next. I didn’t really have the interest or the strength to continue and I believed that I didn’t have a purpose anymore. I was in a deep, dark hole and I didn’t know how to get out of it.","2018-05-14",[11],"v1607270030\u002Fdebbie.codes\u002FBluekiri-office_gmihtu","https:\u002F\u002Fblog.teamtreehouse.com\u002Flearning-to-code-changed-my-life",{"path":945,"title":946,"description":947,"date":948,"tags":949,"image":950,"provider":152,"url":951,"canonical":13},"\u002Fblog\u002Fmeet-debbie-8-months-to-frontend-architect","Meet Debbie, It Took Her Only 8 Months to Become a Front-End Architect","Each day we look forward to seeing our students around the world succeed as they grow and navigate within their chosen career path. We’re even more thrilled when our students become graduates and get a job in their dream role!","2017-12-27",[11],"v1607270253\u002Fdebbie.codes\u002Fblog\u002Fdebbie-oc_qtvsnj","https:\u002F\u002Fblog.openclassrooms.com\u002Fen\u002F2017\u002F12\u002F27\u002Fsuccess-story-8-months-front-end-architect-bluekiri\u002F",{"path":953,"title":954,"description":955,"date":956,"tags":957,"image":958,"provider":152,"url":959,"canonical":13},"\u002Fblog\u002Fwhats-it-like-to-work-after-studying-online","What It’s Like To Work After Studying Online","I was one of the first graduates from the Front-End Web Development course. I had played around with different online courses in coding before, but really found what I was looking for with OpenClassrooms. Fast forward 8 months, I had completed all projects and managed to get myself a job at Logitravel, a holiday booking site based in Palma, Mallorca.","2017-11-30",[11],"v1607269937\u002Fdebbie.codes\u002FOC_DEbbie_tny82j","https:\u002F\u002Fblog.openclassrooms.com\u002Fen\u002F2017\u002F11\u002F30\u002Flike-works-study-online\u002F",1791921458879]