Friday, November 22, 2024

How I Secured Google Summer of Code for the Second Year in a Row(2023 and 2024): A Deep Dive into…

Must read

Connect with me on LinkedIn

Clearing the Google Summer of Code (GSoC) for the second time feels incredibly rewarding, especially given the challenging circumstances I faced this year. Last year, I participated in GSoC with Drupal, working on the CSS Modernization project for the Claro theme, a Drupal Admin theme. This year, my journey began on a tricky note. After graduating, I initially planned to mentor while holding a full-time job. However, after being laid off, I turned to GSoC as an opportunity to save my US F1 Visa and build my resume further. Despite the tough job market for software developers, I persisted. Let’s dive into how I tackled this year’s project.

This year started with significant setbacks. After losing my full-time job, I was faced with the daunting task of finding a new opportunity quickly to maintain my F1 Visa status. I decided to turn my focus to GSoC, seeing it as a lifeline and a chance to enhance my professional portfolio. The application process was intense, given the competitive nature of the program and the high number of quality proposals. However, my prior experience and the lessons learned from last year’s project played a crucial role in shaping a compelling proposal.

Engaging with the Drupal community was instrumental in my journey. I initiated discussions on Slack and other forums, frequently participating in group chats and holding sessions to clear doubts and share insights. Explaining my situation to the community also helped me gain leverage and support.

Sample Community Interaction

Stanzin: 🌴 2 months ago

Hello Drupal community, I know this is not the appropriate forum for this message and my apologies. I would love to hear your insights on this. If you do this, I would be forever grateful and also this would make a great summer project for Google Summer of Code ’24 with Drupal. Just to make sure that I am not reinventing the wheel. I’m looking for some feedback on a high-level design I’ve been working on for an AI-powered SEO automation module. I’ve noticed we have some modules like Content AI and Metatag AI that do great work generating SEO content and meta tags using OpenAI. They help with creating SEO-friendly titles, keywords, and descriptions, and they require some setup with related modules to function completely. What I’m proposing is a bit different: My module is designed to be more hands-off and automated. It doesn’t just suggest SEO improvements; it actively applies them during content creation. Imagine typing up a new page, and as you go, it’s already sorting out SEO tasks for you — like setting up the right schema, figuring out the best URLs, and fixing heading issues. It will use ChatGPT integration to dynamically improve content quality and handle technical SEO tasks without needing to jump between different modules or manually apply suggestions. I think this could simplify SEO for Drupal site builders and content creators, making it easier and faster to optimize pages. Before I go further, I’d love to hear from you all:

  • Does this sound like a useful addition to our toolbox?
  • Are there specific features or challenges you think I should be mindful of?
  • For those who have worked with Content AI and Metatag AI, what has been your experience, and what do you feel could be improved? Any insights or suggestions you could share would be greatly appreciated. I’ve attached my HLD for more context. Thanks for taking the time to help me refine this idea!

This year’s project, Enhancing Drupal’s SEO by AI Automation and Optimization, aims to save developers time by implementing correct SEO practices automatically. The idea is to have AI handle SEO checklists and generate content based on the page context. This will streamline the SEO process, allowing developers to focus on site architecture and content quality.

  1. Automate Real-Time SEO Adjustments: The module will use OpenAI’s GPT-4 to automate tasks like schema markup, URL optimization, and heading structure during content creation.
  2. Integration with Existing Tools: Enhance and extend existing tools such as Content AI and Metatag AI modules.
  3. Seamless Workflow: Provide a module that simplifies the SEO process, making it accessible for developers with varying levels of SEO expertise.

Here is the project timeline outlining key milestones and evaluation dates:

  • July 08, 2024 — July 12, 2024: Contributor Midterm Evaluation
  • July 08, 2024 — July 12, 2024: Mentor Midterm Evaluation
  • August 19, 2024 — August 26, 2024: Contributor Final Submission
  • August 26, 2024 — September 02, 2024: Mentor Final Evaluation

The AI-driven SEO automation module will integrate with existing Drupal tools to provide real-time SEO enhancements. Key features include:

  • Schema Markup: Automating the creation of structured data.
  • URL Optimisation: Ensuring URLs follow best SEO practices.
  • Heading Structure: Automatically adjusting heading tags for optimal SEO.

I created a High-Level Design (HLD) for the module to provide a clear vision of how it would function, especially for a medical website. This design includes the following steps:

  1. Questionnaires: Gather general information about the project, such as the sector (medical, Europe, US, India, etc.).
  2. SEO Automation Module: Use the Drupal real-time SEO analyzer to provide best practices and send refined data to ChatGPT.
  3. Node Content Validation: Validate the returned data with node content and questionnaires.
  4. SEO Task Automation: Auto-populate SEO-related tasks like href, meta title, schema, image, and alt tags.

Here is a visual representation of the HLD:

For more details and to join the project discussion, check out this link.

Throughout the project, I actively engaged with the Drupal community, seeking feedback and refining the project based on their insights. Here are some key interactions:

Scott Sawyer: 🌴 2 months ago

That is interesting. Are you planning to interface with modules that provide a lot of the tooling, such as Metatag, Robotstxt, Redirect, etc.? So, as I am composing the content, the AI is completing the metatag fields, for example? Or are you saying this would supplant those modules?

Stanzin: 🌴 2 months ago

Hello Scott, sorry for my lack of clarity, yes you are right, the aim is to integrate with existing tools. The idea is to create a seamless workflow where as content is being composed, the AI assists by filling in the SEO-related fields in real-time, using the context of the content to generate meta tags, redirects, and more. So, while composing content, the module would actively handle tasks like suggesting the optimal URL based on the content, generating meta descriptions, setting up schema markup, and even identifying and creating internal and external backlinks. I felt that we don’t have yet a comprehensive SEO automation solution, which differentiates it from the more focused functionality of existing modules. For instance, Content AI generates SEO content and meta tags but requires setup and manual intervention to apply these suggestions. Metatag AI automates meta tags generation but doesn’t extend into the broader SEO tasks. My proposed module aspires to provide an all-in-one SEO setup right from the content creation phase, backed by a reporting mechanism to assess and refine SEO strategy continuously.

Damien McKenna: 🌴 2 months ago

As a rule, I don’t use any AI services, but I’m sure lots of folks would like to be able to use something like that to simplify their work.

Cyril: 🌴 2 months ago

There is Augmentor AI. I haven’t tried it out, just looked at the project page, but it seems similar to what you’re trying to do. Also, check out Prompt AI.

Stanzin: 🌴 2 months ago

I checked the Augmentor AI module, and it seems like it helps in integrating different AI services into Drupal across various services and aspects of content management, while mine is geared towards SEO automation and optimization. For the second module, Prompt AI, it automates content-related tasks completely different from mine. Also, Damien confirmed that this module doesn’t exist yet. I heeded his advice but double-checked similar functionalities to make sure I am not reinventing the wheel.

One important aspect to highlight is the role of community loyalty and active participation. Being extremely loyal to a community and consistently contributing can provide you with a preference in opportunities like GSoC. However, it’s also important to note that GSoC participants can only participate twice, ensuring that new students also get a chance. According to the Drupal organization, on average, only one previous student participates each year, allowing space for new contributors.

To be successful in GSoC, it’s crucial to engage with the community, understand your project in depth, and have meaningful discussions. Crafting good responses and continuously seeking feedback ensures you have a strong proposal. To be honest, I applied this year thinking my project would get selected since I received positive community feedback from open-source contributions, which gave me an additional bonus point.

Engaging with the Drupal community, refining my project based on feedback, and persisting through challenges has been a transformative experience. This project is more than just a step in my career; it’s a testament to the power of community and collaboration. I am excited to see how this project will evolve and contribute to the Drupal ecosystem.

If you have any questions or wish to engage further in discussions, join our Slack conversations [here](https://drupal.slack.com

If you want to see my GSoC proposals for 2023 and 2024 that secured me a position twice, feel free to contact me.

Connect with me on LinkedIn

Latest article