With the AI revolution well underway, every industry is considering how these new tools will transform the world of work. Following on from our look at AI in fintech, we’re delving into the impact of AI on an industry we know exceptionally well: web development. And who better to ask than someone who’s in the trenches of code every day?
With six years of experience as a developer, writing all my code from scratch is what I do and where I’m comfortable. But with AI promising to make the process faster, easier, and more efficient, I’ve been introducing some AI-powered tools with great results.
In this post, I’ll share how AI’s changing my daily routine and revolutionising the broader industry. And we’ll look at some of the challenges around AI, especially around confidentiality and data security – one of my top priorities.
Table Of Contents
- Introduction
- Understanding the role of AI in web development
- AI in code refactoring and writing
- AI Tools and Chatbots for Development
- Developing proprietary chatbots
- Generating and personalising content
- Supporting new voice-based interactions
- Website and vulnerability testing
- Benefits of AI in web development
- Limitations of using AI in web development
- Addressing the limitations of AI
- Will AI take over web development?
- Summary
Understanding the role of AI in web development
Right now, it seems like everyone is trying to incorporate AI tools into their web development. But AI can only go beyond being a trend when it delivers real results, not just to web developers but also to their clients.
Used correctly, AI is a powerful tool that streamlines development by helping out with the repeatable tasks we do every day. So, how can you use AI in web development? Let’s look at some of the roles AI has played in speeding up my development process.
AI in code refactoring and writing
What I like best about AI is its ability to do the heavy lifting for me, taking away the more tedious and repetitive tasks. When these things can be automated, programmers get more space to focus on the more complex parts of a project. This additional “brain,” as I like to call it, streamlines my coding practices, improves my efficiency, and gives me new ideas for refactoring.
Having someone who didn’t write the code review it and offer suggestions for improvement can often be beneficial. This is something Co-pilot is great at!
In this example, you can see how the AI simplifies a complex chained if statement into a neat 4-line alternative, which helps with readability massively. Of course, tools like Co-pilot and ChatGPT can go even further than this simple example, recommending effective design methodologies and applying coding best practice.
Recently, ChatGPT has even helped me write code from scratch. I’ve been working on an application for real-world measurements based on images, using scales and drawn reference points. ChatGPT supported me with mathematical and geometrical tasks, as well as refining algorithms. It’s also a huge help for working with regular expressions, which many developers find challenging (or just hate working with!).
AI Tools and chatbots for development
Another time-consuming part of being a developer is fixing bugs. Sometimes, a bug may be too specific to find on Google, Stack Overflow, or related Github issues. AI chatbots, especially Github co-pilot, can help me diagnose and sometimes even resolve tricky bugs in my code.
Github co-pilot can be directly installed in my integrated development environment (IDE) and is available in all JetBrains IDE’s and Visual Studio Code. This has some advantages, not just in terms of convenience but also being context-aware. When co-pilot understands what file I’m looking at and can even read the whole project, it can pick up on my code style and try to mimic it in the solutions it provides. However, being context-aware is a big privacy concern, so, at Lightflows, we have switched this feature off.
In the example above, you can see how a developer might use a chatbot to resolve a bug. The co-pilot demonstrates what the error means, how it might occur, and shows a helpful fix. Web developers are always learning as emerging tech comes into play, and a chatbot is a great teacher in this sense. It doesn’t just give you an answer, but can sometimes even explain where you went wrong.
Developing proprietary chatbots
Beyond these ready-to-use chatbots and co-pilots, many businesses are creating custom chatbots trained on their own data to provide a more personalised and user-friendly experience. Tools like CustomGPT create personal chatbot experiences by ingesting your business data, including website content, helpdesk info, knowledge bases, documents, and more.
TensorFlow.js is another valuable tool for developing custom chatbots that understand and respond to queries using natural language processing. It runs entirely client-side with JavaScript and uses WebGL, tapping into a computer’s Graphics Processing Unit (GPU) for the processing power it needs. This speed means models can be trained directly in the browser with real-time data – it’s very powerful. I also use TensorBoard, a key feature of TensorFlow, for debugging programs, which is great for helping me identify issues faster and implement better results.
Generating and personalising content
As every developer will tell you, the code itself is just the start. I need to create all kinds of documentation and technical specifications in my role – and AI has simplified this process significantly. I can craft an intricate document that’s technically correct, and ChatGPT will check my grammar and suggest rephrasing for clarity. It’s a great way to build organisational knowledge, make sure everyone understands the technical details of a project, and can also support developers whose first language isn’t English.
Supporting new voice-based interactions
When it comes to users, the most familiar way of interacting with AI is voice. If you’ve ever barked a command at Alexa or asked Siri to play your favourite album, you’ve used AI – and these interactions are only going to become more sophisticated and commonplace over time.
We fully expect voice interactions to become standard online and in web applications and it’s web developers that will need to make these interactions happen. I’ve already seen tools like Whisper make a big difference in web development. Whisper is an AI-driven voice search tool that can be integrated into websites, providing a seamless way for users to interact using their voice. It’s a powerful way to enhance the overall user flow and give people a more responsive, intuitive and reactive experience.
Website and vulnerability testing
Ask a web developer about testing and watch their mood change. Testing is a vital part of what we do, but it’s also a complex, time-consuming challenge. That makes it another ideal space where AI can ease the burden.
With AI-powered tools at my disposal, I can automate the testing process, especially when checking for security vulnerabilities. The tool I predominantly use is DeepCode, which studies changes made to my open-source software projects and learns to recognise significant coding problems. From there, it continuously improves its analysis capabilities by identifying common coding mistakes and their associated fixes. This means potential threats are spotted and dealt with quicker than if I manually did it. It’s not just a time-saver; it significantly enhances the overall security of the websites I work on.
Benefits of AI web development
As you’ve already seen, the applications of AI really are limitless. We’re only scratching the surface of what will be possible in the next few years. But what does that mean for people? How does that improve the workflow of your average web developer, the experience of end-users, and the quality delivered to clients?
In my experience, the boost in efficiency has been the biggest game-changer. AI enables me to accelerate the development process by reclaiming the time spent on routine tasks, from coding to site testing. It even delivers a baseline of quality, by minimising human error and offering insightful predictions. And that means I’m free to focus on the parts of web development I love: the strategic, creative aspects of a project.
AI is also beneficial outside the day-to-day development process. One example is round-the-clock customer support, which would be difficult to achieve with humans alone. AI-driven chatbots can operate 24/7, delivering consistent support and, in turn, boosting user engagement and satisfaction. If I were to work around the clock, I’m not sure even a litre of coffee would be enough to keep me from dozing off. Chatbots get the job done without the caffeine.
Another way AI supports better user experiences is predictive analytics, allowing me to tailor websites more closely to user preferences to really drive deeper engagement. Finally, a lot of people miss the power of AI to help learn new programming languages or libraries. Every web developer has used Stack Overflow to find solutions to particular problems, but AI provides a more straightforward way to access this information. That’s a positive impact on the scale of the entire industry: AI makes the learning curve less steep for newcomers and the entire field easier to access.
In this example, I asked ChatGPT to explain React’s useContext Hook. The nice thing about using a chatbot rather than reading documentation is that it can be much more conversational. You can also ask the AI to provide an example or elaborate more on a specific point c. I certainly wish I had AI as a tool to support me when I first started out!
Limitations of using AI in web development
At Lightflows, we’re always excited about new tech and its potential. But we’re also realists who don’t flinch from the problems, pitfalls and risks of emerging technology.
In AI, privacy is perhaps the single biggest concern. The nature of AI tools, which require collecting and analysing large datasets, presents a risk of compromised or misusing sensitive data. This situation brings up serious ethical questions about data management and security. At Lightflows, we’re very careful about how we use AI and make sure a model never handles sensitive information. information.
Another challenge with AI in web development is the possibility of errors known as AI hallucinations. Despite the efficiency and potential accuracy improvements AI tools can offer, they’re not always correct. I’ve encountered instances where AI-generated code was incorrect, leading to problems like faulty code or off-target predictions, which could negatively affect a site’s functionality or user experience. OpenAI’s Codex, for example, reportedly has only a 37% success rate in generating completely accurate code. As you can see below, Co-pilot even warns you about this when you open it:
Another downfall of AI is the lack of creativity. Again, this is why we are careful of using AI at Lightflows. While AI is excellent for handling mundane tasks and can provide valuable insights, it can’t replicate the creativity and innovation that human developers contribute. Can you tell when something is made entirely by AI? I can notice the difference. It really misses that personalised element we human developers bring. Our team of developers are capable of thinking outside the box, devising unique solutions, and crafting distinctive designs that distinguish our websites from the competition. AI is not.
Ultimately, AI is only as good as its training set. Unlike you or me, it’s incapable of learning from its mistakes – the only way for it to improve is with a newly trained model from its developers. This also affects how current an AI’s knowledge can be. If we’re working in a framework in a newer version than the AI is aware of, it won’t be able to respond accurately.
This happened to me recently when using the framework NextJS. When NextJS moved from version 11 to version 12, it had massive changes. I was trying to learn the next version of NextJS, but ChatGPT was not aware of the newer documentation and, therefore, was providing answers which were no longer accurate.
Addressing the limitations of AI
However, there are solutions to address some of these limitations. While AI lacks creativity and makes mistakes, so do people. That’s why it’s important we apply the same model of governance, testing, and quality assurance on the AI’s work. When I use AI, I continuously monitor and update the AI-generated components, ensuring the code produced is accurate and high-quality. I like to think of AI as the developer’s assistant, providing additional help and taking care of mundane tasks. It should never be used as the lead developer.
Will AI take over web development?
It’s clear that our jobs are safe for now – experienced web developers remain the pilots at the helm of a project. But I do think the next few years will see significant changes, if not for senior developers then potentially for junior web developers. That said, a human element will always be needed. I can’t imagine a model arriving anytime soon that substitutes for our creativity.
Summary
From efficiency to accurate testing, AI delivers many great benefits for developers, but also comes with concerns around privacy and creativity. The time is right for web developers to experiment with AI – and start implementing those human oversight and quality assurance processes that guarantee quality.