Charles Thuo, Author at ProdSens.live https://prodsens.live/author/charles-thuo/ News for Project Managers - PMI Fri, 14 Jun 2024 12:20:49 +0000 en-US hourly 1 https://wordpress.org/?v=6.5.5 https://prodsens.live/wp-content/uploads/2022/09/prod.png Charles Thuo, Author at ProdSens.live https://prodsens.live/author/charles-thuo/ 32 32 How Deutsche Telekom MMS optimizes Ansible Playbooks with Steampunk Spotter https://prodsens.live/2024/06/14/how-deutsche-telekom-mms-optimizes-ansible-playbooks-with-steampunk-spotter/?utm_source=rss&utm_medium=rss&utm_campaign=how-deutsche-telekom-mms-optimizes-ansible-playbooks-with-steampunk-spotter https://prodsens.live/2024/06/14/how-deutsche-telekom-mms-optimizes-ansible-playbooks-with-steampunk-spotter/#respond Fri, 14 Jun 2024 12:20:49 +0000 https://prodsens.live/2024/06/14/how-deutsche-telekom-mms-optimizes-ansible-playbooks-with-steampunk-spotter/ how-deutsche-telekom-mms-optimizes-ansible-playbooks-with-steampunk-spotter

Managing Ansible code quality across multiple teams and projects can be challenging. We talked to Andreas Hering, System…

The post How Deutsche Telekom MMS optimizes Ansible Playbooks with Steampunk Spotter appeared first on ProdSens.live.

]]>
how-deutsche-telekom-mms-optimizes-ansible-playbooks-with-steampunk-spotter

Managing Ansible code quality across multiple teams and projects can be challenging. We talked to Andreas Hering, System Engineer at Deutsche Telekom MMS that shared how he and his team handle the complexities of managing diverse Ansible environments with the help of Steampunk Spotter. They not only achieved significant time saving with the Spotter’s rewrite feature, but also experienced 2-4x speedup in Ansible Playbooks improvement, upgrades and maintenance compared to manual methods.

In this blog post, we’ll delve deeper into Deutsche Telekom MMS’s goals, implementation process, results achieved so far, and valuable lessons learned along the way.

Challenges of managing multiple Ansible versions

At Deutsche Telekom MMS, many teams used Ansible to automate customers’ flows, which means that different teams used various different versions of Ansible. Even though they had tools like Ansible Lint and Renovate to check their code and update Ansible, it became hard to keep their code clean and avoid duplication of roles and collections.

Where they wanted to go

“Ideally we wanted to update and upgrade all our Ansible code across all projects to the latest version,” explains Andreas.

However, with multiple customers and repositories managed by different team members, updating the code became a significant challenge.

Their goals were multi-fold:

  • enhance code quality so it is easily understandable by all colleagues in the team,
  • improve security by discouraging specific modules,
  • align with industry best practices,
  • enhance the quality of their open-source projects.

Setting up Steampunk Spotter

At Deutsche Telekom, they successfully integrated Steampunk Spotter just over 4 months ago. “When we first tested Spotter out on our code, we realized we had quite a bit of work ahead of us. For example, in one project, the average number of errors per scan and the total number of **detected errors were very high, even though we already had some mechanisms like linting in place,” says Andreas.

Image description

Initially, they needed to set up an efficient workflow. Since the team primarily uses VS Code, they decided to create a workflow using the Spotter extension for VS Code. Given their multiple customers, they wanted to distinguish the errors and track the progress of each codebase. To achieve this, they created multiple projects in Spotter. “We created a configuration file with a project ID for each customer’s project. This setup worked excellently with Spotter, as it automatically searches for the config file and uses the project ID to perform scans.”

However, they also needed a solution for a command-line interface (CLI). They developed a script that facilitates scanning from the CLI by simply typing spots followed by the path to scan, along with any additional parameters normally used with Spotter. The script requires the Spotter token and endpoint, which are exported as usual. The team set an alias for spots and defined variables to extract the project ID from the VS Code config file in the repository. If no project ID is found, an error is thrown; otherwise, a Spotter scan is performed with the specified parameters.

This script is designed to be used in a bash environment, such as Linux or Windows Subsystem for Linux (WSL). “We didn’t create a version for PowerShell or Windows command line, but users are welcome to adapt it.” In Linux, you can add it to your .bashrc file to source it at login, allowing you to use the function automatically.

Image description

Optimizing code with Spotter’s powerful features

With the help of Spotter, the Deutsche Telekom MMS team achieved significant progress in a short period. They elevated their playbooks to modern standards, fine-tuned sections of the code that were previously neglected due to the lack of time and incorporated multiple best practices across more than 10 projects.

Andreas and the team tackled common errors, such as missing fully qualified names (FQCNs) and requirement files. Spotter also identified deprecated code usage and suggested areas where implementing loops could enhance efficiency. Additionally, they optimized the use of Ansible’s copy and template modules by explicitly setting modes, a frequently encountered issue. Their efforts extended beyond internal projects – they made substantial contributions to the open-source Nomad console with a large merge request facilitated by Spotter. They also used Spotter to improve their internal open-source projects.

The Deutsche Telekom MMS team was especially satisfied with the Spotter’s rewriting feature, which they used extensively, especially in the beginning. This feature helped them easily increase code quality, significantly reducing the workload and saving a lot of time. “The total number of rewrites at the beginning was quite high, but I think this is a good sign because it is automatically done by Spotter. We managed to lower the total number of detected errors in the end. This is a valuable feature for us, and it saved us a lot of time,” explains Andreas.

Image description

Furthermore, Spotter fosters continuous code improvement. By scanning new code, it aligns it with the latest best practices, ensuring your codebase constantly evolves.

Throughout their journey, our team provided ongoing support and made every effort to ensure a seamless and enjoyable user experience. “Working with you guys was good. We requested one or two features and created bug reports, which you fixed quite fast. You were always open to help,” explains Andreas.

Spotter: Enhancing code quality and reducing stress for developers

Andreas highlighted that Spotter significantly enhances the quality of Ansible Playbooks, even when existing mechanisms are in place. Its rewriting feature saves a considerable amount of time, being 2-4 times faster than manual efforts. Spotter simplifies upgrades by checking for deprecations and offering guidance on necessary changes. It helps developers write state-of-the-art code, and although the ROI is not directly trackable, it has notably reduced stress for engineers and allowed them to focus on more enjoyable tasks 😉

“Spotter shines when it comes to writing new playbooks, following best practices and fixing errors in existing playbooks automatically. That’s a great feature and I would definitely recommend Spotter!” concludes Andreas.

Take your Ansible automation to the next level

If you want to get more details and information about Deutsche Telekom MMS’s experience, you can check out our free on-demand webinar: Optimizing Ansible Playbooks with Steampunk Spotter: Deutsche Telekom MMS’s Blueprint for Effective Automation.

And if you want to see how Spotter can optimize YOUR automation workflows, we’d be more than happy to schedule a personalized demo tailored to your specific needs. Book a demo.

You can also try Spotter in your own infrastructure, without risk. Book your test now and experience premium features, dedicated support, and comprehensive report, highlighting time and cost savings for your enterprise – all for free.

The post How Deutsche Telekom MMS optimizes Ansible Playbooks with Steampunk Spotter appeared first on ProdSens.live.

]]>
https://prodsens.live/2024/06/14/how-deutsche-telekom-mms-optimizes-ansible-playbooks-with-steampunk-spotter/feed/ 0
Day 7 of Machine Learning|| Linear Regression Part 1 https://prodsens.live/2024/06/12/day-7-of-machine-learning-linear-regression-part-1/?utm_source=rss&utm_medium=rss&utm_campaign=day-7-of-machine-learning-linear-regression-part-1 https://prodsens.live/2024/06/12/day-7-of-machine-learning-linear-regression-part-1/#respond Wed, 12 Jun 2024 11:21:00 +0000 https://prodsens.live/2024/06/12/day-7-of-machine-learning-linear-regression-part-1/ day-7-of-machine-learning||-linear-regression-part-1

Hey reader👋Hope you are doing well😊 In the last post we have read about Supervised Machine Learning and…

The post Day 7 of Machine Learning|| Linear Regression Part 1 appeared first on ProdSens.live.

]]>
day-7-of-machine-learning||-linear-regression-part-1

Hey reader👋Hope you are doing well😊
In the last post we have read about Supervised Machine Learning and the types of problems that we can encounter.
In this post we are going to discuss about our very first algorithm that is Linear Regression ,we are going the see the math’s behind it and in later part we are going to see its implementation.
So let’s get started🔥

Linear Regression

This algorithm is used for dataset having continuous output such as price, age, height, weight etc. To understand linear regression let’s consider an example-:
Image description
So here we have a dataset that takes size of apartment and number of bedrooms as independent variables and based on these price of each apartment is decided (price is dependent variable). Now suppose we have an apartment of 1000 sq. feet and 2 bedrooms. Can we predict the price of this apartment based on above data?
Yes we can predict the price. For accurate prediction we need to find the relation between independent variables or hypothesis function. And we need to train our data on this function so that it can predict accurate results.
Image description
The hypothesis function say h(x), where x is input parameter is defined as (for this problem)-:
Image description
x1 = size of apartment
x2 = number of bedrooms
Θ1 and Θ2 = weights
Θ0 = bias, collectively all Θ’s are parameter of learning algorithm.
h(x) = predicted price / hypothesis function
The weights are assigned to input features such that the feature having more contribution in predicting output gets larger weight than the feature contributing less.
Now you can see that the above equation is similar to the equation of line i.e. y=mx+c , so we can conclude that the data is fit against a straight line.
By adjusting the values of Θ0, Θ1 and Θ2, the hypothesis function can accurately predict the price of an apartment based on its size and number of bedrooms. Linear regression assumes that the relationship between the independent variables and the dependent variable is linear, which means that the data can be fit against a straight line.
Image description

Linear regression is an algorithm that provides a linear relationship between an independent variable and a dependent variable to predict the outcome of future events.

General Equation for linear regression is -:
Image description
here x0=1 (dummy variable)
n = number of features
hΘ(x) emphasizes that hypothesis depends on both input features and parameters.

Notations -:
m = number of training samples i.e. number of rows in dataset
x = inputs (features)
y = output (target variable)
xi, yi = training example
n = number of features i.e. number of columns in dataset

Choose Θ such that hΘ(x) ~ y for training example.
So our goal is to minimize the squared distance between predicted value and actual output.
Image description
For best fit line -:
Image description
Here d is squared distance between actual and predicted value.
Image description

Cost Function -:
We are using mean squared error (MSE) to determine our cost function. So our cost function is given as -:
Image description
We need to minimize the cost function to get best fit line.
1/2m : This term scales the sum of squared errors to compute the average, where m is the number of training examples. 1/2 s often included to simplify the derivative calculation.

So this was it for this blog. In the next blog we are going to see how we can minimize the cost function. I hope you have understood this blog. If you have any doubts please leave it in comment section I’ll definitely try to solve your problem.
Don’t forget to like the post and follow me.
Thankyou💙

The post Day 7 of Machine Learning|| Linear Regression Part 1 appeared first on ProdSens.live.

]]>
https://prodsens.live/2024/06/12/day-7-of-machine-learning-linear-regression-part-1/feed/ 0
A 9-Step Guide to Writing an SEO Proposal [Free Template] https://prodsens.live/2024/06/12/a-9-step-guide-to-writing-an-seo-proposal-free-template/?utm_source=rss&utm_medium=rss&utm_campaign=a-9-step-guide-to-writing-an-seo-proposal-free-template https://prodsens.live/2024/06/12/a-9-step-guide-to-writing-an-seo-proposal-free-template/#respond Wed, 12 Jun 2024 11:20:49 +0000 https://prodsens.live/2024/06/12/a-9-step-guide-to-writing-an-seo-proposal-free-template/ a-9-step-guide-to-writing-an-seo-proposal-[free-template]

Imagine you have hundreds of files in a folder labeled “Important Files.” Some of the files are named…

The post A 9-Step Guide to Writing an SEO Proposal [Free Template] appeared first on ProdSens.live.

]]>
a-9-step-guide-to-writing-an-seo-proposal-[free-template]

Imagine you have hundreds of files in a folder labeled “Important Files.” Some of the files are named by date, some by subject, and some by author.

You have to sift through all of them to find a review of the new neighborhood pizza place. Without a consistent filename or organizational structure, you’re not going to find that review anytime soon.

That scenario illustrates the value of technical SEO, which I learned about while managing a project to rebuild a previous employer’s website from the ground up.

Download Now: Keyword Research Template [Free Resource]

The original website didn’t have a consistent formula for creating new URLs — it was like a folder full of erratically named files — which made it hard for search engines to index and rank new pages.

Without an appropriate URL structure, implementing a keyword-based SEO strategy wouldn’t have done us much good. We needed a strategy that met us where we were.

I share this because it demonstrates two of the most important points in this nine-step guide to drafting an SEO proposal: 1. Know your potential client’s needs, and 2. Use clear, easy-to-understand language.

“I don’t want to throw a bunch of jargon at you and make myself sound smart at the expense of you not understanding. Accessible language is really, really important to us.” Tory Gray, CEO and founder, The Gray Dot Company

Table of Contents

What is an SEO proposal?

When a potential client wants to level up their search engine optimization (SEO), you’ll need to draft a successful proposal to win their business.

I talked to half a dozen experts to create this SEO proposal template, which I encourage you to adapt to your own needs and clientele. SEO proposal template.

The experts represent a wide range of experience, including nonprofits, tech companies, small businesses, and large corporations.

Everybody handles SEO proposals a little differently, but there are some clear do’s and don’ts — including one piece of advice that every single expert mentioned.

1. Goals: Begin your proposal with a few key goals, which you’ll define based on technical research and getting to know your client and their needs.

Your job as an SEO professional, after a discovery call with the potential client, is to identify what problems you can solve for them. This usually begins with a website audit.

“I always start with an audit, because I can’t improve something if I don’t know what’s going on,” Merove Heifetz, founder and chief digital strategist of Acquisition Digital, tells me. “The audit is really foundational.”

Brent D. Payne, founder and CEO of Loud Interactive, shared a little bit about his audit process. He begins by looking at the client’s Google Search Console for current rankings and traffic. He also likes to get clients’ revenue models to see “how many dollars they typically get from a web visitor.”

Armed with this data, he spends several hours doing keyword research using tools like Ahrefs and SEMrush, and uses AI to organize keywords into categories and subcategories. The result is a massive spreadsheet — we’re talking 50,000 or 60,000 lines of data — that reveals strengths and opportunities.

You can also download HubSpot’s free keyword research template to help organize and analyze data collected during this step.

“If you’re using technical language, make sure it’s translated … not everyone will know or care about a canonical link, for example. But you can communicate the importance of it in plain English.” Merove Heifetz, Founder and chief digital strategist, Acquisition Digital.

HubSpot’s own Head of EN Growth, Rory Hope, advises aligning your SEO strategy with your client’s business goals very early in the relationship. “It will allow you to plan the SEO roadmap more closely to those goals whenever possible,” he says.

Pro tip: The website audit is key, but don’t discount how fruitful a good conversation can be. Tory Gray, CEO and founder of The Gray Dot Company, says that “it’s really important to listen to the client.

What are they looking for? How can you give them what they need? Because if you can reflect that in the proposal and the work that you do, [you] will stand out.”

Hope agrees. “Focus entirely on the client, their business, and problems and pain points.”

Can AI do it for me?

It can certainly help! Many people in the SEO industry use AI to organize and interpret huge amounts of data gleaned during website audits and competitor research. This can be a huge time-saver when you’re defining goals.

It’s worth noting that a lot of seasoned professionals have invested in proprietary AI tools. Payne says that Loud Interactive spent three months programming one such tool — and it’s reduced a month’s worth of work to three hours.

2. Executive Summary: In a few sentences, lay out the broad strokes of your plan using jargon-free language.

“Describe the service [you’ll provide] in as broad, friendly, and approachable terms as possible,” says freelance marketing strategist Rachel Claff.

“Use approachable and understandable language. … Metaphors can go a long way here.” Rachel Claff, Freelance marketing strategist

There’s plenty of time to get into the weeds; right now you just want to demonstrate that you understand the client’s goals and have a strategy for meeting them.

Claff suggests structuring your proposal like a funnel, with the broad services outlined at the top, and going into more detail in the scope and budget.

Pro tip: Use plain language. Every SEO expert I talked to, regardless of their specialty or industry, emphasized how important it is to leave the jargon at the door. Write like a human, be friendly, define acronyms and other industry terms, and be clear and concise.

What is plain language? Plain language is communication your audience can understand the first time they read or hear it. The plain language movement in the U.S. began in the 1970s, when the federal government encouraged regulation writers to be less bureaucratic. Source: PlainLanguage.gov.

Can AI do it for me?

As long as you’re prepared to edit out jargon or other unclear language, tools like ChatGPT can speed up this process.

3. Research and Analytics: Based on your research and website audit, provide a few key insights.

This one may be hard to hear if you love a good spreadsheet (I see you), but your proposal should contain just a few key insights.

Phillip Lunn, CEO and co-founder of West Loop SEO, says, “Don’t burden potential clients with terms and data that could be reserved for the person behind the computer doing the implementations.”

The goal of your proposal is for the potential client to become your client. They don’t need to see 20 pages of data — but they do need to trust that you’ve built an SEO roadmap that will achieve their business goals.

Pro tip: To avoid overwhelming a potential client, Payne doesn’t open with his 500-megabyte spreadsheet. He uses insights from the data to create 12-page Google Slides presentations, which are a lot more palatable for the layperson.

Can AI do it for me?

Almost certainly, depending on your comfort and experience with AI tools. It’s not a substitute for your own experience and insight, but it can speed up your research and analysis. As Payne puts it, “AI is an efficiency tool.”

4. Opportunities: What specific areas can you help your client achieve significant results?

Don’t underestimate the power of a case study to demonstrate the value of your work. Claff says that many clients are surprised by how quickly they see results, so using a previous success as an example is more persuasive than simply promising to “boost your SEO.”

“Try to put everything in layman’s terms. We use case studies as much as possible.” Phillip Lunn, CEO and co-founder, West Loop SEO

Rory Hope says, “Demonstrate the value you‘ve achieved for other clients. Include quotes. And if you can’t share primary data, use a third-party tool like Ahrefs to show the visibility uplifts.”

Can AI do it for me?

If you’re using case studies from your own experience, you’re your own best resource. That doesn’t mean AI can’t help, especially if you have access to proprietary tools.

5. Trade-offs: Be crystal clear about the scope of your proposal, both in terms of what is included and what isn’t.

Tory Gray gave me a great example of what this can look like.

Her firm often works with nonprofits that want to avoid the word “charity,” but “they still want to show up [in searches] for ‘climate change charity’ or ‘water charity’ or whatever they focus on. So how do they do that?”

It’s a tricky question that she navigates through a lot of conversation with the client. Clients have different levels of comfort; one might be comfortable using the word “charity” in alt text that describes images, and another might want to avoid it altogether.

When Gray proposes solutions, she ensures that the client understands the trade-offs.

If your proposal includes “musts” and “nice-to-haves,” note these in your budget (step 8) to avoid scope creep.

Pro tip: “Be 100% above board and make sure [you’re] delivering the right information,” Gray says. And be humble: Gray also uses this as an opportunity for the potential client to correct her if there’s been any misunderstandings.

Can AI do it for me?

Your experience is one of the most valuable things you can bring into a client partnership. If you often work with clients with complex requests, use AI to help spark ideas, but rely on your own experience with similar challenges.

6. Expectations and Deliverables: In clear, plain language, lay out what you’ll need from your client and what they can expect from you.

What information will the client need to provide upfront, and on an ongoing basis? What aspects of the project require collaboration? What kinds of results should they expect to see?

Rory Hope puts it succinctly: “Outlining what SEO can and can’t achieve is very important for expectation management.” He suggests building this into your SEO roadmap by including organic traffic leads and revenue uplift projections next to each SEO priority.

“Consider your key decision-maker, and use language that will appeal to that decision-maker.” Rory Hope, Head of EN Growth, HubSpot

Pro tip: Hope adds, “Clearly list out each deliverable that you’ll be completing for a client, both at the beginning during the audit phase, but also as an ongoing part of the strategy. Consider your key decision-maker, and use language that will appeal to that decision-maker.”

Rachel Claff stresses that a successful proposal hinges on listening to your client, and offers this example: “Pinpointing keywords is a collaboration between the two of you … If you ask [the client] for their optimal keywords, it’s not always going to match with what will actually get them the most return.”

Your client — let’s say it’s the new neighborhood pizza joint — may want their website to be on the first page of search results for “pizza.”

I used Ahrefs’ keywords explorer and found that “pizza” will be “super hard” to rank for, so I’d suggest an alternative to the client that will meet their goal of increasing foot traffic.

Keyword difficulty: 87. Super hard.

Image Source

Pro tip: Be specific and don’t promise what you can’t deliver. Phillip Lunn says that although his clients expect him to bring in more high-quality traffic, he likes to set more specific expectations based on the client’s current digital presence and the data he’s gleaned.

Can AI do it for me?

Every SEO expert I spoke with, even those who lean heavily on AI tools, emphasized the importance of getting to know your client. Expectations and deliverables are specific to each client, so tread carefully if you use AI.

7. Timeline: Because SEO isn’t a one-and-done proposition, include your recommendations for both the short- and long-term.

Some potential clients, especially if this is their first serious foray into SEO, may think that it’s something you do once.

But “the processes undertaken to gain organic traffic are slow and steady — because that’s really what organic traffic is,” Merove Heifetz says.

Your timeline should include your estimates for research, implementation, and maintenance.

Can AI do it for me?

If you have estimates for certain tasks, AI can definitely help you build a realistic timeline.

8. Budget: What can you reasonably accomplish within your client’s budget?

What do you charge, and what is your payment schedule? This is also a good place to revisit expectations to avoid falling prey to scope creep.

Rory Hope suggests including the number of hours your team will allocate to the project. “The more granular you can be, the better,” he says, “as it builds transparency” with the client.

“The more granular you can be, the better, as it builds transparency.” Rory Hope, Head of EN Growth, HubSpot

Tory Gray adds a note of advice for people starting out in SEO: “Don’t be afraid to charge more. … Don’t undervalue yourself or the value you are bringing to this business — and how much money you are going to make them.”

Pro tip: Heifetz provides “specific recommendations and the level of priority for those recommendations.” Clients need different levels of support, so she also offers options: The client can implement strategies with her supervisory support, they can divvy up the work, or Heifetz’s team can handle all of it.

Can AI do it for me?

Just be sure you double-check its math.

9. CTA: What is the clear, simple next step your potential client needs to take to sign a contract with you?

The call to action should be the easiest, quickest step of your proposal: Tell your potential client how to become your actual client.

“It’s truly about proper communication, which is a lot of work. Be as transparent and forthcoming as possible.” Brent D. Payne, CEO and founder, Loud Interactive

Can AI do it for me?

Sure it can, but do you really need it to? The call to action shouldn’t change much from proposal to proposal, so whether your potential client needs to click a button or reply to an email, let them know what the next step is.

The Future of SEO: Is AI Taking Over?

If you’re just getting started in the client-facing side of the SEO industry, you may feel the pressure of artificial intelligence closing in around you.

Our experts are resoundingly clear on this point: AI isn’t going to replace humans. “SEO isn’t dead or dying,” Merove Heifetz tells me. “It’s just changing.”

Brent D. Payne uses proprietary AI in his work, and he predicts a significant price reduction in the not-too-distant future, because AI makes it so easy to scale up. But he agrees: “I don’t think SEO will ever go away.”

Question: Is AI killing the SEO industry? Answer provided by HubGPT, HubSpot’s internal AI tool: AI (Artificial Intelligence) is actually playing a significant role in shaping the future of the SEO industry. Rather than killing the industry, AI is enhancing it by allowing for more sophisticated and efficient strategies. AI-powered tools and technologies help SEO professionals analyze vast amounts of data, identify trends, predict user behavior, and personalize content for better optimization. AI also enables automation of routine tasks, such as keyword research, content generation, and performance tracking, freeing up time for SEO experts to focus on strategy and creativity. While AI may change the way certain tasks are performed within the SEO industry, it is not killing it but rather transforming it and making it more effective. SEO professionals who embrace AI technology and utilize it strategically are likely to have a competitive edge in the evolving digital landscape.

It would say that. But our SEO experts agree.

Payne also points out, “People are slow to adopt new technologies. We were slow to trust the internet. We’ll be slow to trust AI.”

In the background of Payne’s Zoom window, I noticed an Apple Macintosh Classic, a model that was discontinued in the early 1990s. He said, “I like the juxtaposition to the AI work that we’re doing.

I think it shows how far we’ve managed to come over the past 30 years when it comes to society. And I want it to be a constant reminder that humanity will continue to evolve with technology.”

Using the SEO Proposal Template

Just as SEO differs based on a client’s goals, resources, and industry, so will your proposals.

Use our free SEO proposal template as a guideline, and adapt it for your own needs and clientele. You aren’t going to be replaced by robots anytime soon.

New call-to-action

The post A 9-Step Guide to Writing an SEO Proposal [Free Template] appeared first on ProdSens.live.

]]>
https://prodsens.live/2024/06/12/a-9-step-guide-to-writing-an-seo-proposal-free-template/feed/ 0
Building a Remote Team Management Assistant Lyzr SDK https://prodsens.live/2024/06/11/building-a-remote-team-management-assistant-lyzr-sdk/?utm_source=rss&utm_medium=rss&utm_campaign=building-a-remote-team-management-assistant-lyzr-sdk https://prodsens.live/2024/06/11/building-a-remote-team-management-assistant-lyzr-sdk/#respond Tue, 11 Jun 2024 05:20:32 +0000 https://prodsens.live/2024/06/11/building-a-remote-team-management-assistant-lyzr-sdk/ building-a-remote-team-management-assistant-lyzr-sdk

Managing a remote team can be challenging, especially when it comes to maintaining communication, tracking progress, and fostering…

The post Building a Remote Team Management Assistant Lyzr SDK appeared first on ProdSens.live.

]]>
building-a-remote-team-management-assistant-lyzr-sdk

Managing a remote team can be challenging, especially when it comes to maintaining communication, tracking progress, and fostering a strong team culture. That’s where the Remote Team Management Assistant app comes in. This AI-driven solution is designed to help you manage your remote team more effectively by offering strategic advice and practical tips tailored to your team’s size and primary tasks.

Image description

The app is built using the Lyzr SDK, which integrates advanced AI capabilities to understand and respond to user inputs accurately. The Lyzr SDK facilitates the creation of intelligent agents that can analyze complex information and provide tailored solutions.

Why use Lyzr SDK’s?

With Lyzr SDKs, crafting your own GenAI application is a breeze, requiring only a few lines of code to get up and running swiftly.

Checkout the Lyzr SDK’s

Lets get Started!

Create an app.py file

Imports and Setup: The app uses Streamlit for the web interface and Lyzr SDK for AI capabilities. The OpenAIModel class is used to configure the AI model.

import streamlit as st
from lyzr_automata.ai_models.openai import OpenAIModel
from lyzr_automata import Agent, Task
from lyzr_automata.pipelines.linear_sync_pipeline import LinearSyncPipeline
from PIL import Image
import os

App Interface: Sets up the interface, including custom styling and input fields.

os.environ["OPENAI_API_KEY"] = st.secrets["apikey"]
st.markdown(
    """
    
    """,
    unsafe_allow_html=True,
)
image = Image.open("./logo/lyzr-logo.png")
st.image(image, width=150)
st.title("Remote Team Management Assistant ")
st.markdown("Welcome to the Remote Team Management Assistant app! This app is here to help you manage your remote team more effectively by offering strategic advice and practical tips tailored to your team's size and primary tasks.")
input = st.text_input("Enter the Team size and the primary tasks or responsibilities of the team:", placeholder="Type here")

AI Model Initialization: Configures the AI model with specific parameters.

open_ai_text_completion_model = OpenAIModel(
    api_key=st.secrets["apikey"],
    parameters={
        "model": "gpt-4-turbo-preview",
        "temperature": 0.2,
        "max_tokens": 1500,
    },
)

Generation Function: Defines the agent’s role and generates advice based on user input.

def generation(input):
    generator_agent = Agent(
        role="Expert REMOTE TEAM MANAGEMENT ASSISTANT",
        prompt_persona="Your task is to DELIVER STRATEGIC ADVICE and PRACTICAL TIPS for managing remote teams effectively, tailored to the specific team size and tasks inputted by the user.")
    prompt = f"""
    You are an Expert REMOTE TEAM MANAGEMENT ASSISTANT. Your task is to DELIVER STRATEGIC ADVICE and PRACTICAL TIPS for managing remote teams effectively, tailored to the specific team size and tasks inputted by the user.
[Prompts here]
"""
    generator_agent_task = Task(
        name="Generate",
        model=open_ai_text_completion_model,
        agent=generator_agent,
        instructions=prompt,
        default_input=input,
        output_type=OutputType.TEXT,
        input_type=InputType.TEXT,
    ).execute()
    return generator_agent_task

Button Trigger: Executes the generation function when the button is clicked.

if st.button("Assist!"):
    solution = generation(input)
    st.markdown(solution)

The Remote Team Management Assistant app is a powerful tool for anyone managing a remote team. By leveraging the advanced AI capabilities of Lyzr SDK, the app provides tailored advice and practical tips to ensure your team operates smoothly and effectively.

App link: https://remoteteam-lyzr.streamlit.app/

Source Code: https://github.com/isakshay007/remote_team

The Remote Team Management Assistant is powered by the Lyzr Automata Agent, utilizing the capabilities of OpenAI’s GPT-4 Turbo. For any inquiries or issues, please contact Lyzr. You can learn more about Lyzr and their offerings through the following links:

Website: Lyzr.ai
Book a Demo: Book a Demo
Discord: Join our Discord community
Slack: Join our Slack channel

The post Building a Remote Team Management Assistant Lyzr SDK appeared first on ProdSens.live.

]]>
https://prodsens.live/2024/06/11/building-a-remote-team-management-assistant-lyzr-sdk/feed/ 0
Hacktoberfest 2023 Swags Compilation. Do not give up on T Shirts yet! https://prodsens.live/2023/10/06/hacktoberfest-2023-swags-compilation-do-not-give-up-on-t-shirts-yet/?utm_source=rss&utm_medium=rss&utm_campaign=hacktoberfest-2023-swags-compilation-do-not-give-up-on-t-shirts-yet https://prodsens.live/2023/10/06/hacktoberfest-2023-swags-compilation-do-not-give-up-on-t-shirts-yet/#respond Fri, 06 Oct 2023 19:25:13 +0000 https://prodsens.live/2023/10/06/hacktoberfest-2023-swags-compilation-do-not-give-up-on-t-shirts-yet/ hacktoberfest-2023-swags-compilation.-do-not-give-up-on-t-shirts-yet!

Hacktoberfest, an annual event that celebrates open source contributions, has become popular not only for its focus on…

The post Hacktoberfest 2023 Swags Compilation. Do not give up on T Shirts yet! appeared first on ProdSens.live.

]]>
hacktoberfest-2023-swags-compilation.-do-not-give-up-on-t-shirts-yet!

Hacktoberfest, an annual event that celebrates open source contributions, has become popular not only for its focus on OSS contributions but also for the swag rewards participants receive. While the official Hacktoberfest t-shirts have been discontinued from this year, there are still numerous projects and organisations that offer swag rewards for participants in Hacktoberfest 2023. Here is an exhaustive collection of such projects and organisations along with relevant links. Master list at the end!

  1. Collectiv AI: Collectiv is an AI platform made for helping developers contribute to open source projects by helping them in searching and understanding the code as they start out with an unfamiliar repo of an OSS project. Collectiv already helps more than 10,000 developers contribute to over 2000+ projects. We will send out a swag kit with a cool t-shirt if you use collectiv to understand the codebase and contribute during Hacktoberfest 2023. Best part is you can use Collectiv to contribute and win merch from the other organisations mentioned below in the list! Checkout details here.

  2. Cloudinary: Cloudinary is an image and video API platform. They have made a lot of their SDKs and Libraries open for contributions. They will ship out a T Shirt, some stickers and a cloudinary unicorn. You can find out more details here.

  3. Flyte: Flyte helps building production-grade data and ML workflows. They are giving out merch to some serious contributors who make educational content about Flyte. If you are passionate about ML workflows, this could be for you. More details here.

  4. UNO Platform: If you are a .NET developer than UNO could be the project for you. UNO is an open-source developer productivity platform for building single-codebase native mobile, web, desktop and embedded apps. Sweaters, T-shirts and more is in the store for participants! Checkout details here.

  5. ServiceNow: ServiceNow is a SaaS platform providing multiple IT offerings for businesses. They are participating in Hacktoberfest 2023 and shipping merch till stick last. Some details here.

  6. MASTER LIST– Check out https://hacktoberfestswaglist.com/. This project culminates the above and many more orgs that are going above and beyond this hacktoberfest! You can get tons of swags from these orgs!!

So let’s get to hacking & get those PRs merged!! 🚀 🥳

Originally published on Collectiv’s Blog

The post Hacktoberfest 2023 Swags Compilation. Do not give up on T Shirts yet! appeared first on ProdSens.live.

]]>
https://prodsens.live/2023/10/06/hacktoberfest-2023-swags-compilation-do-not-give-up-on-t-shirts-yet/feed/ 0
💻🎃 Hacktoberfest 2023 is Here! https://prodsens.live/2023/10/01/%f0%9f%92%bb%f0%9f%8e%83-hacktoberfest-2023-is-here/?utm_source=rss&utm_medium=rss&utm_campaign=%25f0%259f%2592%25bb%25f0%259f%258e%2583-hacktoberfest-2023-is-here https://prodsens.live/2023/10/01/%f0%9f%92%bb%f0%9f%8e%83-hacktoberfest-2023-is-here/#respond Sun, 01 Oct 2023 07:24:23 +0000 https://prodsens.live/2023/10/01/%f0%9f%92%bb%f0%9f%8e%83-hacktoberfest-2023-is-here/ -hacktoberfest-2023-is-here!

The wait is over! Hacktoberfest 2023 has officially begun, and we couldn’t be more excited. Throughout this month,…

The post 💻🎃 Hacktoberfest 2023 is Here! appeared first on ProdSens.live.

]]>
-hacktoberfest-2023-is-here!

The wait is over! Hacktoberfest 2023 has officially begun, and we couldn’t be more excited. Throughout this month, developers from all around the world will come together to contribute to open-source projects, learn, and grow as a community. But that’s not all: there are badges to earn, prizes to grab, and an abundance of opportunities waiting for you.

Find Full Participation Details Here

Once you’re registered and all set to go…

Prepare to Collect Some DEV Badges!

Pledge, Maintainer, Contributor Gif

Introducing Contributor and Maintainer Templates 📝

Earning the Hacktoberfest 2023 DEV badge series is closely linked to your active participation in the DEV community and writing posts on DEV.

To help you get started, we’re introducing some invaluable article templates:

Contributor Template

Are you excited about contributing to open-source projects but not quite sure where to begin? Our Contributor Template is here to guide you. It will help you craft posts to share your experiences, goals, and contributions throughout Hacktoberfest. Use it to document your journey and inspire others to join in.🚀

Maintainer Template

If you’re taking on the role of a project maintainer this Hacktoberfest, our Maintainer Template is your trusted companion. Share your insights, challenges, and achievements as you oversee a repository during the event. It’s an opportunity to provide guidance and insights to fellow maintainers.🛡

Pledge Template

And to kickstart your journey – and your badge collection – don’t forget to share your Hackathon experience or goals in the Pledge Template post.🤝

Remember to use the official Hacktoberfest tag #hacktoberfest23 when sharing your posts on DEV to maximize visibility.

#hacktoberfest23 Follow

A celebration of Open-Source Software and Hacktoberfest’s 10th anniversary!

Alright, now let’s head out on this journey together!

Get Involved and Share Your Journey 🌟

Hacktoberfest is a time to learn, grow, and collaborate. It’s an opportunity to connect with like-minded individuals, foster open-source projects, and make a lasting impact. So, let’s dive in together and create something incredible.

Stay tuned for more updates, rewards, and exciting opportunities throughout Hacktoberfest 2023.

The post 💻🎃 Hacktoberfest 2023 is Here! appeared first on ProdSens.live.

]]>
https://prodsens.live/2023/10/01/%f0%9f%92%bb%f0%9f%8e%83-hacktoberfest-2023-is-here/feed/ 0
Package-based architecture — Let’s deliver the packages https://prodsens.live/2023/08/28/package-based-architecture-lets-deliver-the-packages/?utm_source=rss&utm_medium=rss&utm_campaign=package-based-architecture-lets-deliver-the-packages https://prodsens.live/2023/08/28/package-based-architecture-lets-deliver-the-packages/#respond Mon, 28 Aug 2023 20:24:56 +0000 https://prodsens.live/2023/08/28/package-based-architecture-lets-deliver-the-packages/ package-based-architecture — let’s-deliver-the-packages

Package-based architecture — Let’s deliver the packages 📦 We have all seen a lot of architectures like MVVM, MVC, Clean Architecture,…

The post Package-based architecture — Let’s deliver the packages appeared first on ProdSens.live.

]]>
package-based-architecture — let’s-deliver-the-packages

Package-based architecture — Let’s deliver the packages 📦

We have all seen a lot of architectures like MVVM, MVC, Clean Architecture, etc. But do you know, there’s also a hidden gem in Flutter called local packages that help you keep your code cleaner?

No application is complete without services like APIs, Notification, etc. Where do you keep these codes? Inside the lib folder? Fair enough, almost all architecture has a section for services which are independent of the UI.

But, in Package-based Architecture, we move these services inside a local package so that it becomes independent of your entire application. For example, Firebase Auth functionality is totally independent of any project, the code for login with email & password, Google login, and Apple login, all remain the same throughout multiple projects. Then why not reuse them and make them independent of the project?

So in a Package-based Architecture, you migrate your services into local packages so that they are completely de-coupled from the UI. Then you import these packages into your application and can use it 🤩

Let’s check it out with an example!

https://medium.com/media/263bb0bbbd73dccd476d4cbb7e9daafc/href

Let’s suppose you have an auth service that has the following structure. No matter what code you have inside, we won’t be focusing on that. We will just discuss how we can move this auth service into a package so that we can have Package-based Architecture.

This folder right now is inside the lib folder. Let’s now move it into a package! First you’ll need to create a folder packages inside the root of your project.

Now go to the location of that folder from the terminal.

Now, to create a new flutter package, run the following command:

flutter create --template=package auth_service

This will create a package named auth_service inside the packages folder. The structure will look something like this:

Now you can move all your code to the lib folder of this package and also add the required packages like firebase_core and firebase_auth in your package.

You can use auth_service.dart as the export file so that only one file needs to be imported when you want to use this package. You can add the following code in auth_service.dart

export 'src/firebase_auth_service.dart';
export 'src/models/user_model.dart';

Now, to use this package, you can add the package as follows inside your dependencies of your pubspec.yaml file:

dependencies:
auth_service:
path: packages/auth_service

Hence, now, whenever you want to have firebase_auth again in different project, you can use this package again. You can either copy-paste the entire folder or host this package separately on git and use it everywhere!

Not just services, you can make local packages for your UI related components like theme, fonts, colors, common widgets, etc. Whatever part of code you think can be made independent, you can convert it to a package 📦

This is a very short article explaining Package-based Architecture.

For reference, you can use https://github.com/AbhishekDoshi26/currency where I have used Package-based Architecture along with Feature-driven Architecture.

https://medium.com/media/20369accf45930e52ee997e450ac76c0/href

Hope you enjoyed this article!

Doubts? Feel free to drop a message @AbhishekDoshi26

Checkout abhishekdoshi.dev for more info 💙

Don’t stop, until you are breathing!💙
– Abhishek Doshi


Package-based architecture — Let’s deliver the packages 📦 was originally published in Google Developer Experts on Medium, where people are continuing the conversation by highlighting and responding to this story.

The post Package-based architecture — Let’s deliver the packages appeared first on ProdSens.live.

]]>
https://prodsens.live/2023/08/28/package-based-architecture-lets-deliver-the-packages/feed/ 0
How to Create an SEO Strategy for 2023 [Template Included] https://prodsens.live/2023/08/28/how-to-create-an-seo-strategy-for-2023-template-included/?utm_source=rss&utm_medium=rss&utm_campaign=how-to-create-an-seo-strategy-for-2023-template-included https://prodsens.live/2023/08/28/how-to-create-an-seo-strategy-for-2023-template-included/#respond Mon, 28 Aug 2023 20:24:49 +0000 https://prodsens.live/2023/08/28/how-to-create-an-seo-strategy-for-2023-template-included/ how-to-create-an-seo-strategy-for-2023-[template-included]

Here’s a cliche among digital marketers: search engine optimization (SEO) isn’t what it used to be. Here’s a…

The post How to Create an SEO Strategy for 2023 [Template Included] appeared first on ProdSens.live.

]]>
how-to-create-an-seo-strategy-for-2023-[template-included]

Here’s a cliche among digital marketers: search engine optimization (SEO) isn’t what it used to be.

Here’s a true statement you don’t hear as often: your SEO strategy shouldn’t focus on keywords.

These days, most businesses understand the basic concepts of SEO and why it’s important.

→ Download Now: SEO Starter Pack [Free Kit]

However, when it comes to developing and executing a sound SEO strategy for your business, just creating content for the keywords your customers are searching for is both arduous and, well, wrong.

In this post, we’ll explain what an SEO strategy is, and how you create your own to help you meet your content marketing goals.

Know exactly what you need? Jump to one of the following sections:

 

Having an SEO strategy is important because it helps you stay on track when creating content. Instead of just creating what you think people are looking for, your strategy will ensure that you’re creating content that people are searching for.

For content marketing, an SEO strategy is a critical piece of the puzzle because it is how your content will come to be seen in the first place, especially in search engine result pages (SERPs). If your content is scattered and unorganized, search engine bots will have a harder time indexing your site, identifying your area of authority, and ranking your site pages.

Mobile SEO Strategy

Mobile SEO is an important factor to keep in mind when creating your overall strategy. Mobile optimization involves ensuring your site and site content is available and accessible to visitors on mobile devices, so they can have the same experience and receive the same value as desktop browsers.

Mobile optimization is incredibly important, as Google practices mobile-first indexing. This means instead of crawling a desktop site, the algorithm will use the mobile version of your site when indexing and ranking pages for SERPs. In addition, 61% of Google search queries in the U.S. occur on mobile devices. So, all things considered, your SEO strategy would be ineffective without prioritizing mobile optimization.

While it’s not an entirely separate process, there are distinct considerations for mobile SEO like monitoring page speed, responsive site design, local SEO, and creating content that is high-quality, regardless of device it’s viewed on.

What is an SEO?

Search engine optimizers (SEOs) are people who optimize websites to help them rank higher on SERPs and gain more organic traffic. In essence, an SEO is a highly specialized content strategist that helps a business discover opportunities to answer questions people have about their respective industries.

There are three types of SEO that an SEO strategist can focus on:

  • On-page SEO: This SEO focuses on the content that’s actually on site pages, and how to optimize it to boost the website’s ranking for specific keywords.
  • Off-page SEO: This SEO focuses on links directed to the website from elsewhere on the internet. The number of backlinks a site has from reputable sources helps you build trust with search algorithms.
  • Technical SEO: This SEO focuses on a website’s backend architecture, like site code. Google cares just as much about technical set-up as it does content, so this position is important for rankings.

Bear in mind that every business has different objectives, so it is an SEO’s job to examine their industry, determine what their audiences care about, and develop a strategy that gives them what they’re looking for.

Below we’ll go over some steps you can take to ensure your SEO strategy sets you up for success.

SEO Strategy for Beginners

I’ve been an SEO for the greater part of the past decade, and I can tell you: Our industry has never, ever seen anything like this before.

The search landscape is no longer the same in 2023. With the advent of search AI and AI-generated content, we need to implement new approaches to keep our sites ahead of unprecedented competitive challenges.

The good news is that the basics of SEO remain the same. Focus on the user first, always. Focus on helping them, always, and not just gaming the algorithm. Your goal isn’t just to rank highly — it’s to get the right content in front of the right people.

I’m going to walk you through a basic SEO strategy I would use if I were starting a site in 2023 for the first time. Later down below, I’ll cover a more sophisticated SEO content strategy that has generated millions of organic traffic visits for the HubSpot blog.

seo strategy: hubspot blog traffic visits

Let’s get started.

1. Search For Your Company’s Head Term on Google

If I were trying to start an SEO strategy in 2023, my first step would be to look for my company’s head term on Google.

“Head term” refers to the general word or phrase you’d use to describe your product or service, or even the topic you’d like to write about. If I were trying to launch HubSpot for the first time, I would look up “marketing software,” our product’s head term.

seo strategy: search for head term

And if I were trying to start a blog about publishing, then I’d look up “publishing blog.”

Head terms are usually high-volume, meaning that many people search for the terms on a monthly basis. That makes them more difficult to rank for.

What we’re trying to do with this step is not find keywords, but rather build our awareness of the search landscape. Take note of everything you see, including the terms suggested after you type in your head term.

We don’t need to use any fancy tools yet, though you’re welcome to if you’re familiar with SEO tools. With Semrush, for instance, you can look at the exact number of searches a term receives, and an estimation for how difficult it’d be to rank on the first page.

seo strategy: semrush keyword overview

But I’d caution against using tools just yet. It’s really important to live directly in the SERPs as you create an SEO strategy because Google comes up with new SERP features every day.

I’m not just talking about AI-generated results. Featured snippets, local packs, image packs, knowledge packs, and “People Also Ask” boxes can be valuable sources of information that can help you optimize your website later.

seo strategy: featured snippet in the SERPs

2. Look at Google’s Suggested Searches and Filters

The most important step after looking up your head term is to look at Google’s generated filters, highlighted below.

seo strategy: look at suggested filters

Don’t look at the standard filters, such as “Images, “Shopping,” “Maps,” and so on. You’re looking for the unique filters that Google generated for your head term.

These filters are invaluable for answering several questions:

  • What are people looking for that’s related to your head term?
  • What would they find most useful?
  • Does your service or product match what people are looking for?
  • Can you offer a product page or article that people would find useful?

If I were building a product page for Marketing Hub, I would be able to answer these questions favorably. Marketing Hub is free, small businesses can use it, and it’s useful for digital marketing.

That means I could probably address a person’s goal when they’re looking for this term. This is good strategic information to have. I wouldn’t execute on it just yet, because I haven’t looked at how difficult it is to rank for this term.

Remember: Head terms are more difficult to rank for, so you’ll want to aim for longer keywords (also called “long-tail keywords”) in your actual SEO strategy. You can begin getting ideas on long-tail terms by clicking on the filters below your head term.

seo strategy: applied filters for long-tail searches

Now, for my publishing blog, I see that I could focus on the publishing industry or self-publishing, as seen by the filters below.

seo strategy: suggested filters for publishing blog

That’s good news — but later down below, I see that Google has included a “What to read” search feature.

seo strategy: what to read SERP feature

That tells me that a blog could be a good fit for this term, but that people are also looking for books on publishing. I would then revise my initial head term, or revise my blog strategy to slant toward thought leadership.

3. Examine the SERPs

Once you’ve found a good head term and perused the filters, take a look at the SERPs. I’d recommend going several filters deep so you can get an approximation of a long-tail keyword.

We’re looking for several pieces of information here:

  • How many people are trying to rank for this term?
  • What kinds of publishers and companies are ranking? Well-known publishers like New York Times or Nerdwallet, or niche publishers and companies?
  • What is located “above the fold” (the area in the upper part of the page, before the user scrolls)?
  • What SERP features is Google including?
  • What kinds of pages and articles are ranking?

For “marketing software for small business,” a relatively long-tail keyword, I saw that Google delivered 850M+ results.

seo strategy: number of results

Yikes. That’s a lot of competition.

But the truth is, Google has excellent crawlers. It will find just about any website related to a term and rank it in a bid to answer a searcher’s query. Don’t be discouraged by large search results.

What you should pay close attention to is what’s happening in the results themselves. For instance, “marketing software for small business” has multiple SERP features:

  • Sponsored ads
  • “From sources across the web” product panels
  • A “People Also Ask” box

seo strategy: SERP features in marketing software

Yikes again. All of these conspire to give us fewer chances for ranking for this keyword, because the SERP features push us down and we’re already competing against publishers like G2.

Even if we managed to rank on the first page, our click-through-rates will probably be lower because this is such a competitive term. Click-through rate refers to the number of people who see your search result compared to the number of people who actually click on it.

I would do two things here:

  • Search for an even longer long-tail keyword to try rank for
  • Or: Continue examining the SERPs for opportunities related to the same search intent, like related searches and FAQs

seo strategy: related searches in the SERPs

Search intent refers to what the user wants to do when they input a keyword in Google.

If I search, “how to bake kale chips,” then my intent is not only to bake kale chips but to stay “healthy.” Google, as smart as it is, would deliver both recipes and related questions about kale chips’ “health value.”

The SERP features for “marketing software for small business” are all supposed to serve a single intent: A searcher who wants to market their small business using software.

Therefore, every SERP feature you see is an additional opportunity to serve content to the very same searcher.

The “People also ask” box is a gold mine for finding related questions that the same user probably has, giving us an opportunity to answer those questions.

seo strategy: people also ask box

With SEO, what matters most is not just that your page ranks — but that the right user finds you and ends up becoming a customer (or signing up for your newsletter, subscribing to your YouTube channel, etc).

If I were creating an SEO strategy for Marketing Hub in today’s search landscape, the “People also ask” box is probably where I’d start for keyword and content ideas, and not the head term itself.

The questions, after all, serve the same user and are much less competitive.

You could also use a tool such as Answer the Public to find questions and related terms.

seo strategy: answer the public

Of course, don’t forget a classic: Looking at suggested searches at the bottom of the SERPs. These will not only give you alternative terms you could try to rank for, but additional long-tails and even hints about your top competition.

seo strategy: suggested searches at the bottom of the page

4. Analyze Your Competition

When you find a keyword you’re happy with, it’s time to start looking at your competition.

I would say that with SEO, it’s less about what we do and more about what they do, then beating them. The thing is, though, that how we beat competitors has changed. It’s no longer about who has the longest blog post or the most backlinks (although these are still important).

The Google search algorithm has gotten more complicated than ever. It’s important to take into account a wide variety of factors like website age, authority, user experience, and even website structure.

Looking at these elements can help you decide what you should put on your website and learn what Google is currently favoring.

When trying to rank for the term “publishing blog,” I found three top competitors: Selfpublishing.com, thatpublishingblog.wordpress.com, and janefriedman.com.

seo strategy: publishing blog SERPs

I would look at several things when trying to beat these competitors.

  • What kind of content do they publish?
  • What kinds of categories do they address?
  • What’s the publishers’ or owners’ personal and professional history? Jane Friedman, for instance, is a known industry veteran.

The first question in particular is essential for mapping out my SEO content strategy.

For instance, selfpublishing.com has the following categories:

seo strategy: competitor categoriesImage Source

If you’d asked me years ago how I would approach beating this publisher, I would say that I would copy all of their categories and add three more just for kicks.

But Google is no longer the same. It values authority and expertise. It wants to know that you know what you’re talking about and that you’re not just gaming the system.

Therefore, based on my personal expertise, which is in children’s fiction, I’d probably choose two to three categories where I feel I could create a wealth of content: Writing, Children’s Fiction, and Publishing.

If I were trying to rank for “marketing software for small business,” I would ask:

  • What kinds of articles or pages are ranking?
  • Because this is such a competitive term, what kind of authority or history do I need to rank?
  • Could I create something similar?

seo strategy: marketing software for small business SERPs

Look at your competitors’ pages, and keep their qualitative attributes, such as their history in the industry, in mind. But don’t be discouraged by long-time industry players.

When I was an SEO at a transportation startup, we were competing against transportation companies that had been in the industry for 30+ years.

But with a strong content SEO and backlink building strategy, we managed to get one of our transportation partners to the top of the SERPs.

seo strategy: results known

Once you’ve scanned your competitors, it’s time to dive into a simple three-pronged strategy:

Authority, content, and backlinks.

I like to keep it simple.

5. Generate Online Authority

If content is queen and backlinking is king, authority is the kingdom.

Authority, in fact, is everything.

SEO these days isn’t just about writing SEO-optimized content and hoping the algorithm will discover you.

Once upon a time, you used to be able to include the keyword in the title, headings, and text, and rank well.

Now, there are a wide variety of content quality factors that Google takes into account, such as:

  • Expertise
  • Experience
  • Authority
  • Trustworthiness

Collectively, these are called E-E-A-T, and they’re part of Google’s Search Quality Rater guidelines. Google wants to know that you’re qualified to deliver information to searchers. And if you’re selling a product, it wants to know that you’re legitimate.

Let’s go back to the publishing blog example. Jane Friedman, who ranks #3 for the term “publishing blog,” is a well-documented industry veteran. Her site ranks for 30K+ keywords and she has more than two-hundred-thousand backlinks.

seo strategy: Jane Friedman stats

Her blog post, “How to Find a Literary Agent,” ranks #1 for the highly competitive head term “literary agent,” above top publishers such as Reedsy and even Wikipedia.

seo strategy: Jane friedman blog post

Why?

Because Friedman has plenty of E-E-A-T — she’s an expert with experience, and therefore she’s authoritative and trustworthy.

There are several ways to build your authority when creating an SEO strategy for a new site or company:

  • Include your credentials across several sources in the web: LinkedIn, Facebook, your personal website, etc
  • Interview experts and include their insights in your pages and blog posts
  • Hire freelance writers who specialize in your niche, and use their name, content, and insights on your website
  • Publish guest blog posts in authoritative blogs and websites to slowly build a digital footprint

The Google algorithm is smart. It can cross-reference hundreds of thousands of sources to determine whether you’re an authority in the field.

And to make it a bit easier for the algorithm: You should also make your authority clear, as Jane Friedman does below in her biography.

seo strategy: about Jane Friedman

If I were launching Marketing Hub for the first time, I would:

  • Cite my six to seven years of marketing experience in the “About” page
  • Publish guest blog posts on marketing blogs and websites
  • Start another media outlet, such as a podcast or blog, to publish my marketing opinions and insights
  • Publish an ebook with my marketing expertise
  • Hire software developers who’ve created proven products before — and publicize that Marketing Hub was made by the developers who made X

As you foster authority, you should concurrently create content on your website, which I cover next.

6. Create Search Engine Optimized Content

This step is probably what you thought of when I first started talking about an SEO strategy.

Remember all that research we did at the beginning? It finally comes into play, because it’s time to create content that’s optimized for those long-tail keywords.

seo strategy: marketing software keyword in Ahrefs

I recommend using a tool to help you find potential keywords, such as Ahrefs or Semrush.

Here’s a guide on keyword research to help you out.

I follow one simple rule when creating content I want to rank: Write for humans first, search engines second.

I like to think of it this way. I’m writing an article or page to help a person, but also to hold the algorithm’s hand a little bit. Google is smart, but not so smart to rank your page unless you give it a few hints.

Therefore, I like to stick to the basics.

Include the Keyword in the Page Title, H1, Text, Meta Description, and URL

You generally want to include the keyword a few times on and off your page to give Google a hand.

As an example, our product marketing team optimized Marketing Hub’s page to a T.

seo strategy: title in search result

They include the keyword in the page title (which is the text that appears in search results, pictured above), the H1, and the very first line of text at the top of the page.

seo strategy: on-page optimization example

And it works: We rank #3 for the highly competitive term “marketing software.”

seo strategy: marketing hub page ranking

You’ll also want to include your keyword in the meta description and the URL.

Be Helpful

Be helpful with your content. Ask yourself: When a person lands on this page, what would they be looking for?

You can answer this question by examining the SERPs and your competition. You can also think through your reader’s thought process and their search intent.

For Marketing Hub, we included commonly asked questions, even those related to one of our competitors.

seo strategy: FAQ in marketing hub

And Jane Friedman includes information on what to expect from a good literary agent.

seo strategy: section in Jane Friedman's blog post

Notice that this content is not necessarily beautifully formatted, nor does it target a specific keyword. It’s supposed to help the reader first and foremost — and by helping the reader, you help yourself.

After all, Google only wants to rank content that genuinely helps someone do or learn something.

Include Alt Text and Compress Images

Image alt text still remains one of the most underrated ways to optimize your page.

Not only does it improve web accessibility, but it gives you a chance to rank in Google’s image pack and image results. That ultimately means more traffic to your website.

And if you don’t believe me: Here’s a traffic snapshot from HubSpot’s image pack rankings (look under the column titled “Traffic”).

seo strategy: hubspot image pack rankings

Just from our position for “resignation letter example,” we’ve received more than 6K organic visits.

Not surprisingly, the image that ranks has the alt text “gracious resignation letter sample.”

seo strategy: image alt text

In addition to describing what the image contains, you should include your keyword in the alt text to give you a better chance for ranking.

Lastly, don’t forget to compress your images so that your page loads more quickly.

After creating content, internal linking is paramount.

It creates a network for Google to follow. Remember, the Google algorithm is smart, but it still needs a hand here and there. How will it know certain pages are topically related unless you tell it?

seo strategy: internal linking in marketing hub's product page

So by internally linking from one page to another, you’re giving the algorithm a pattern to follow.

At the HubSpot blog, we call this the pillar-cluster model, which helped us overcome a year-long traffic plateau.

seo strategy: pillar cluster interlinking

By internally linking, you’re telling the algorithm that a number of your pages are interrelated. You’re also signaling that you cover specific topics at length, and that you’re therefore an authoritative resource.

And authority is everything.

Content is still queen — but she has to be accompanied by her king: Backlinks.

You could have the most beautiful, SEO-optimized website, but Google won’t rank it unless you receive “votes” from other sites.

We cover backlinks again for your SEO content strategy below, but I can’t underemphasize how important they are, so I’m going to repeat it again.

Backlinks are the most quantitative way to build authority in your industry. The more backlinks you have, the more authoritative you seem to the Google algorithm.

seo strategy: hubspot backlinks

Why? Because a site wouldn’t link to you unless you were a legitimate, trustworthy source of information.

Here’s a selection of my favorite backlink strategies:

  • Publish guest blog posts on other publishers’ websites and link back to your site
  • Write helpful content that other sites will want to link to
  • Publish original research that other publishers will want to link to
  • Partner with companies on co-marketing campaigns
  • Join industry membership organizations with public profiles
  • Sponsor events and conferences

Next up, I’m going to dive a little more deeply into the SEO content strategy that’s driven millions of visits for the HubSpot blog.

1. Make a list of topics.

To get your SEO content strategy off the ground, make a list of topics you’d like your content to address.

To start, compile a list of about 10 words and terms associated with your product or service. Use an SEO tool (Google’s Keyword Tool, SE Ranking, Ahrefs , SEMRush or GrowthBar just to name a few) to research these words, identify their search volume, and come up with variations that make sense for your business.

By doing this, you are associating these topics with popular head terms (or short-tail keywords, if you’d prefer), but you’re not dedicating individual blog posts to these keywords. Let’s go over an example of this process using the image below.

google adwords keyword tool screenshot resized 600

Let’s say a swimming pool business is trying to rank for “fiberglass pools,” which receives 110,000 searches per month. This short-tail keyword can represent the overarching topic for creating their content, but the business will also need to identify a series of related keywords to include in their content. For example, they could opt to use the “fiberglass pool prices,” or “fiberglass pool cost,” to achieve additional rankings for the overall keyword of fiberglass pools.

Using search volume and competition as your measurement, you can create a list of 10-15 short-tail keywords that are relevant to your business and are being searched for by your target audiences. Then, rank this list based on monthly search volume.

Each of the keywords that you’ve identified are called pillars, and they serve as the primary support for a larger cluster of long-tail keywords, which we’ll discuss below.

2. Make a list of long-tail keywords based on these topics.

During this step you’ll begin optimizing your pages for specific keywords. For each pillar you’ve identified, use your keyword tool to identify five to 10 long-tail keywords that dig deeper into the original topic keyword.

For example, we regularly create content about SEO, but it’s difficult to rank well on Google for such a popular topic with this acronym alone. We also risk competing with our own content by creating multiple pages that are all targeting the exact same keyword — and potentially the same SERPs.

Therefore, we also create content on conducting keyword research, optimizing images for search engines, creating an SEO strategy (which you’re reading right now), and other subtopics within the SEO umbrella.

This helps businesses attract people who have varying interests and concerns — and ultimately create more entry points for people interested in what you have to offer.

Use your long-tail keywords to create blog posts or web pages that explain the specific topics within the pillars you’ve selected. Together, all of your long-tail keywords create a cluster around a pillar topic. Search engine algorithms depend on the relationships between clusters to connect users with the information they’re looking for.

Here’s a short video on this concept:

Think of it this way: the more specific your content, the more specific the needs of your audience can be, and the more likely you’ll convert this traffic into leads. This is how Google finds value in the websites it crawls — the pages that dig into the inner workings of a general topic are seen as the best answer to a person’s query, and will rank higher.

3. Build pages for each topic.

When it comes to websites and ranking in search engines, trying to get one page to rank for a handful of keywords can be next to impossible. But, here’s where the rubber meets the road.

Use the pillar topics you came up with to create a page or post that gives a high-level overview of the topic using the long-tail keywords you came up with for each cluster in step two. These pillar pages can essentially be a table of contents, where you’re giving a description of the main topic, and briefing readers on subtopics you’ll elaborate on in other posts.

Ultimately, the number of topics for which you create pillar pages should coincide with your business needs, like the number of products and offerings you have. This will make it much easier for your prospects and customers to find you in search engines no matter what keywords they use.

4. Set up a blog.

Blogging can be an incredible way to rank for keywords and engage your website’s users. After all, every blog post is a new web page and an additional opportunity to rank in SERPs. If your business does not already have a blog, consider creating one.

As you write each blog post and expand on your clusters, you should do three things:

  1. Don’t include your long-tail keyword more than three or four times throughout the page as Google doesn’t consider exact keyword matches as often as it used to. In fact, too many instances of your keyword can be a red flag to search engines that you’re keyword stuffing to gain rankings, and they’ll penalize you for this.
  2. Second, always link out to the pillar page you created for your topics. You can do this in the form of tags in your content management system (CMS), or as basic anchor text in the body of the article.
  3. Once you publish each blog post, link to it within the parent pillar page that supports the subtopic. By connecting both the pillar and the cluster in this way, you’re telling Google that there’s a relationship between the long-tail keyword and the overarching topic you’re trying to rank for.

5. Create a consistent blogging schedule.

Every blog post or web page you create doesn’t necessarily need to belong to a topic cluster. There’s also value in writing about tangential topics your customers care about to build authority with the Google algorithms.

With that in mind, make it a point to blog at least once a week. Remember, you are blogging primarily for your audience, not search engines, so study your target market and write about things that they are interested in.

It may be helpful to create a content strategy to remain consistent and focused on your goals.

The topic cluster model is your way forward in SEO, but it’s not the only way to get your website content to rank higher once it’s been created.

While our first five steps were dedicated to on-page SEO, link-building is the primary objective of off-page SEO. Link-building is the process of attracting inbound links (also called backlinks) to your website from other sources on the internet. As a general rule, sites with more authority that link back to your content have a more significant impact on your rankings.

Dedicate some time to brainstorming all the various ways you can attract inbound links. Maybe you’ll start by sharing links with local businesses in exchange for links to their own sites, or you’ll write a few blog posts and share them on different social media platforms. You can also approach other blogs for guest blogging opportunities through which you can link back to your website.

7. Compress media files before uploading them to your site.

This is a small but important step in the SEO process, especially for mobile optimization.

As your blog or website grows, you’ll undoubtedly have more images, videos, and related media to support your content. These visual assets help retain your visitors’ attention, but it’s easy to forget that these files can be very large. Since page speed is a crucial ranking factor, it’s important to monitor the size of the media files you upload to your site.

The bigger the file size, the more difficult it is for an internet browser to render your website. It’s also harder for mobile browsers to load these images, as the bandwidth on their devices is significantly smaller. So, the smaller the file size, the faster your website will load. But, how do you compress images and still retain quality?

It’s worth considering the use of a compression tool to reduce file sizes before uploading images, videos, and gifs. Sites like TinyPNG compress images in bulk, while Google’s Squoosh can shrink image files to microscopic sizes. However you choose to compress your media, keeping files in the kilobytes (KB) range is a good rule of thumb.

8. Stay up-to-date on SEO news and best practices.

Just like marketing, the search engine landscape is ever-evolving. Staying on top of current trends and best practices is an important strategy, and there are multiple online resources that can help you do so. Here are a few resources to check out:

9. Measure and track your content’s success.

SEO can take a lot of time and effort, and, because of this, you’ll want to know if your strategy works. It’s important to track your metrics to understand the success of your overall process, and identify possible areas for improvement.

You can monitor organic traffic using your preferred web analytics tool or create your own dashboard using Excel or Google Sheets. Also, tracking indexed pages, conversions, ROI, and your rankings on SERPs can help you recognize your success as well as identify areas of opportunity.

SEO Report

An SEO report is an overview of the SEO efforts you’ve enacted over a specific period of time. It essentially shows how successful you’ve been, as well as any areas that need improvement. Having a consolidated report also helps you present the data to relevant stakeholders to display why your SEO activities are important, and how they drive growth for your business.

Your SEO report can contain metrics like organic traffic results, the SEO health of your website, inbound link generation, and also address any areas where growth has declined that need to be addressed for future improvement.

The image below is an example of an SEO report from Ahrefs, where it has given an overview of the link building progress of the SEO efforts.

seo report example

Image Source

In order to fuel your SEO report, you’ll actually need to have completed some SEO activities, and below we’ll give some high-quality examples of successful SEO.

Best SEO Examples

As mentioned above, there are a variety of different things you can do for your business to enact your SEO strategy. Below we’ll go over some examples of what this looks like in practice that you can use as inspiration for your own processes.

There are a variety of different things you can include in your SEO strategy, like:

1. Writing compelling meta descriptions.

A meta description is the snippet of text below a title and link in search results. The description, well, describes the content of the page to the person conducting the queries so they know what to expect.

The image below is the result of a search query for market research.

seo example: seo meta description

This is a high-quality meta description because it lets Google know exactly what the page contains, helping your content surface in the correct search results and helping audiences understand exactly what they’re about to click on.

A backlink, also called an inbound link, is when another website links back to your website or blog content. It’s usually placed as a hyperlink on a string of text that relates to your content and, when clicked, they’re taken to your site.

 

Backlinks are an effective SEO tool because they show search engines that your content is authoritative and relevant, helping you rank higher in SERPs. The image below is an example of a blog post from Kicksta that has a backlink to a HubSpot Blog post.

best seo examples: SEO backlink

Image Source

3. Optimizing your site pages for page speed.

Page speed is how quickly the content on your website loads when someone visits a specific page on your website. Google began taking page speed into account for SERP rankings in 2018, making it a critical area of focus when you enact your strategy.

 

4. Local SEO

Local SEO is improving search engine visibility for your business’s location. An effective local SEO strategy will surface your content in search queries from customers in your local area, letting them know your business is there to meet their needs.

The image below is a SERP result for “best restaurants Brooklyn.” The three businesses that appear in results have an optimized Google My Business profile that contains information that helps it surface in results for Brooklyn-area restaurants.

best seo example: local seo serp resultImage Source

SEO Process

Once you’ve created your SEO strategy, you should also build a process to continue optimizing for new keywords and evolving search intent. Here are a few steps you can take.

1. Historically optimize your content.

Devote some time each month to updating old blog posts with new and up-to-date information to continue ranking in SERPs. You can also use this time to add any SEO best-practices that weren’t initially addressed, like missing image alt text.

2. Look out for changing keywords and new search intent.

After a few months, track how your blog posts are ranking, and which keywords they’re ranking for. This can help you adjust subheadings and copy to leverage new search intent that your audience may be interested in.

3. Add more editorial value to your old content.

Sometimes, you’ll find that a post is completely out of date. In this scenario, you should go beyond the average historical SEO update and give it a full refresh. You can do this by updating out of date information and statistics, incorporating new sections for added depth, and adding quotes or original data to give the post more referral traffic.

4. Create a monthly content plan.

To keep up with your SEO strategy, it can be helpful to create and refine a monthly content plan. You can place it into a spreadsheet, and your teams can track accordingly. The list below is an example of a content monthly content plan that takes the above steps into account.

 

With a monthly SEO plan like the one above, plus a tracking document like a search insights report, you can build out and execute on an efficient SEO strategy. You can also identify and leverage low-hanging-fruit topics to discuss related to your industry.

Create A Strategy That Supports Your Business Goals

Ranking in search pages can be difficult. While it may seem enticing to create content that is centered around high-traffic keywords, that strategy may not help you meet your business goals.

Instead, opt to create an SEO strategy that helps you address your individual business needs, like increasing customer acquisition, for greater marketing success.

Editor’s Note: This blog post was originally published in April 2019 but was updated in February 2022 for consistency and freshness.

marketing

 

The post How to Create an SEO Strategy for 2023 [Template Included] appeared first on ProdSens.live.

]]>
https://prodsens.live/2023/08/28/how-to-create-an-seo-strategy-for-2023-template-included/feed/ 0
How do millions of people book meetings with God? https://prodsens.live/2023/08/16/how-do-millions-of-people-book-meetings-with-god/?utm_source=rss&utm_medium=rss&utm_campaign=how-do-millions-of-people-book-meetings-with-god https://prodsens.live/2023/08/16/how-do-millions-of-people-book-meetings-with-god/#respond Wed, 16 Aug 2023 22:24:55 +0000 https://prodsens.live/2023/08/16/how-do-millions-of-people-book-meetings-with-god/ how-do-millions-of-people-book-meetings-with-god?

Have you ever experienced the rush of online shopping? I bet you felt an adrenaline rush as you…

The post How do millions of people book meetings with God? appeared first on ProdSens.live.

]]>
how-do-millions-of-people-book-meetings-with-god?

Have you ever experienced the rush of online shopping? I bet you felt an adrenaline rush as you clicked through the website, competing with thousands or even millions of people at the same time.

Top tech companies are behind some of these websites. They are capable of serving millions of users simultaneously. In this blog post I write about an online booking system that you may not have heard about. It is the system powering the booking process of the most visited Hindu Temple in the world, Tirumala.

Tirumala Tirupati Devasthanam is the independent trust which manages the aforementioned popular temple in the state of Andhra Pradesh, India.

My family visits this temple often. I saw the evolution of the digital systems empowering the temple through the years. I was planning to visit the temple last year, first time after the pandemic, and was stuck by the new online booking experience. It was near impossible to buy tickets. At first I attributed this to rapid digitalisation India has seen in the past few years. Although that does play a part, what I learned by analysing the website through a system design lens was fascinating.

My intention is to share my analysis and if possible start a discussion around promoting user centric design in Indian public digital services. I do not intend to disparage the current developers of the TTD booking system. I am only exercising my curiousity in this topic.

daily attendance at Tirumala

In this blog post I write:

  1. An overview of the TTD online booking system: Visualising the user journey through the booking process.
  2. How does it fare in practice: Brief look at how the system performs in real world and common user complaints.
  3. Hard challenges: What are the common challenges faced in designing highly scalable and concurrent systems?
  4. Analysing the weakness: I attempt to explain the critical pain points of the system borne out of its design.
  5. Ways to improve: I conclude by suggesting ways to enhance the user experience. I offer solutions which are both techincal and product design focussed.

How does the booking system work?

The bookings become LIVE at an announced time.

TTD announcing on twitter when tickets go live

  • Bookings for various services, including Special Entry Darshan, are open at specific dates and times. This information is communicated through the TTD website, social media, TV, and YouTube channels.

  • Special Entry Darshan offers a chance for devotees to have a viewing or be in the presence of a God at a temple. These bookings are typically accessible in the last week of the current month for the following month, although the exact dates can vary. Sometimes, the bookings for the following two months are made available simultaneously.

  • It’s important to stay attentive to updates regarding opening times. It’s uncertain whether the TTD app provides push notifications for such announcements.

journey of a booking at TTD website

You must be prepared to grab your slot.

  • People are required to be registered on the website with their email and phone number. One can login to the website using phone number and a one-time password sent via SMS.
  • Let’s say the bookings are going live at 10AM on Friday. We need to be logged-in on the app or website as close to 10AM as possible. We would get auto logged out in a short interval so timing is important. 🕰

It’s time for some speedy mouse clicks!

  • After you have logged in and you click on the Special Entry Darshan from the “Online Services” menu you will be shown a countdown timer. You are essentially in a virtual waiting room to be let in. It seems like the time can vary depending on the traffic.
  • Now we are finally in. We see a calendar interface with, hopefully, lots of open slots to book. Now we need to select a date and time slot to book tickets.
  • After we enter number of people who are going to attend, we will be redirected to a page that asks us fill in details of each attendee. There are 2 dropdowns and 3 free text fields for each attendee. We fill everything correctly and get directed to a payment page.
  • There are several options to pay, we select one and complete the payment. Finally we get redirected to a success page where there is a booking reference number and details about how to download the booking confirmation.

So how does the system perform?

  • We saw quite a few steps there and you can see that there is lot of work went into implementing the system.
  • I observe some pain points here. Firstly, the wait time to enter the booking system is bit opaque and doesn’t make the experience smooth. (I know why this wait time is being used, we will talk about it in the next section.) Secondly there are lots of information to fill before finalising payment.
  • Both of the above slow down the user to complete the booking. I have personally experienced this and so have many others. By the time we are able to fill all the details and click continue, we are shown an error that “the slot was just booked by another pilgrim”.

What are the challenges here?

  • We know that building software that attracts traffic in millions is hard. It requires real technical skills to ensure the system can handle the peak time traffic.
  • Let’s see what are the technical challenges in some detail. The obvious one is to just being able to serve the peak time traffic. I am not aware of the internals but I can guess that there is a load balancer sitting in front of multiple servers or containers to manage load. Since the bookings go LIVE at a certain time, preemptively increasing the server capacity is good way to deal with this situation.
  • In one of the press releases, TTD stated that after the launch of the new booking system they saw 2,40,000 tickets booked within an hour. Around 900,000 concurrent sessions were open at the peak time. And, a total of 10 million hits were recorded by the system on that day.
  • Designing a booking system capable of serving ~1 million concurrent users, with 240,000 available tickets will lead to dealing issues like scalability, performance, and data integrity.
  • Moreover, preventing multiple users from booking the same ticket concurrently presents intricate challenges. These involve mitigating race conditions, maintaining atomicity throughout multi-step booking processes, and handling the intricacies of reservation periods.
  • Locking and concurrency control mechanism to avoid any data inconsistencies becomes crucial part of the architecture design. We would need a database with strong consistency and transaction support but also which is easily scalable. I can also imagine a scope for challenges like race conditions and redundant bookings.
  • Striking the right balance between ensuring all the technical intricacies and providing a seamless user experience will be a complex task.
  • This is also a product design challenge. Ultimately the goal of this system to facilitate problem-free booking. To overcome the technical challenges, there have been design decisions made here. The big one is the virtual queue. The intention is to hold people in queue so that the main system is not overwhelmed by load. But it brings a different set of challenges that we will see next.

What problems do I see in current design

Design flaw in the system

  • I think the biggest problem is users reaching one step before payment and being told that the ticket is already booked by someone. Why does that happen? When we select the online booking service we are first added to a virtual queue. The waiting time in the queue is proportional to the traffic.
  • Let us consider that 900,000 users trying to grab 240,000 tickets at the same time. I don’t have any internal information about the system design. But let’s say 20,000 users are allowed in at a given time.
  • Since the number of tickets is much greater than number of users, that means these 20,000 users are supposed to have 100% chance to book their tickets.
  • In reality it is not the case. Users are trying to book slots — at a specific date and time period. There is a real chance that X% of users may choose the same time slot, and if they are more than the available slots then they will encounter an error. Weekends and holidays are often booked first, which makes it more likely for an overlapping booking.
  • There is also a question of how to manage the virtual queue. Let us assume that N users gain access to the system every minute. A user, who is already in, needs to complete the process before any new users enter. The slower one takes, the more competition one faces.

  • I found a YouTube video which revealed a design flaw. Apparently the waiting time for virtual queue can be changed by refreshing the page. The system seems to be assigning wait times either randomly or based on variables which are highly volatile.

A design flaw in TTD booking system exposed by youtuber

  • With the above context, entering 4 fields of data per person manually before being able to confirm the booking causes a significant obstacle for users trying to book higher number of tickets at a time. This probably why many people have had bad experience with booking.

What are people saying about their booking experience on TTD website.

How would I improve this

The goal of this exercise is to minimise the number of errors faced by users. Specifically the errors that stop them from completing their booking. I want to make the system more fair and transparent. Right now it favors someone who is very computer savvy or someone who knows about the loopholes in this system.

Small tweaks: A technical solution.

  • As described above, the process of entering pilgrim data manually slows the users down. Since this step comes after choosing the time slot, the chosen slots may be filled in the interim. If we tweak the system so that the data needs to be entered before choosing the time slot then it would give users more accurate picture of available places.
  • Similarly letting the users to save information ahead of time and selecting them during booking process can also improve the experience.
  • When users face the “the slot was just booked by another pilgrim” error, they can be given an option to choose an alternative time slot. They need not re-enter the queue for a chance to book a slot.
  • In order to make the system more transparent, a status message can be displayed to the users. This can indicate approximately how many users are online and how many tickets are available.
  • Lastly, I would monitor the number of errors caused by 2 or more users trying to book the same time slot. This will not only give us the current state of the system but will also become the metric to measure the success of any future changes.

Thinking from first principles: A system design solution.

  • What if we want to rethink how the system is supposed to work. An online booking system that is designed as first-come-first-serve is probably not a fully fair system. An online booking system that is designed as first-come-first-serve, but doesn’t guarantee tickets on first-come basis is definitely not a fair or transparent system.
  • For inspiration, I turned to sports. Wimbeldon, Lords Cricket Ground and Old Trafford Football stadium, all sell a portion of their tickets through a ballot process. Every year people are invited to apply for the ballot informing which days/matches they want to attend. Once the ballot closes, tickets are assigned randomly. Payment is processed only for those who are successfully assigned tickets.
  • We can adopt this system for TTD online booking. Although we will need to tweak a couple of things. Due to Reserve Bank of India’s directive on automatic payments, charging user’s cards when they are successfully assigned tickets might not be possible. Instead users may be sent emails/texts to inform about their tickets and asked to complete the payment within 72 hours. If a payment is not received, the tickets can be released back to the available pool.
  • Some constraints may also be placed on the number of bookings requested by users. Users who haven’t recently visited can be given higher priority.
  • This approach not only gives everyone an equal chance but also reduces the burden on the system. A ballot can stay open for many days, hence there is no need for a traffic spike to occur.

Takeaways

  • The Tirumala Tirupati Devasthanam (TTD) online booking system for the most visited Hindu Temple, Tirumala, is a complex booking system designed to handle peak time traffic.
  • The system has challenges related to scalability, performance, and data integrity, and is designed to distribute traffic across servers, optimize database operations, minimize latency, and handle potential security threats.
  • The virtual queue is the big design decision that TTD made to handle peak time traffic. However, there are design flaws in the system that need to be addressed to make it more fair and transparent.
  • There can be several approaches to overcome the challenges faced by the system. I have only discussed a few. It is always helpful to reframe the problem. This allows us to come up with solutions that are simplest and most effective.

Thanks for reading. If you liked this blog post, you can follow me on LinkedIn for more.

The post How do millions of people book meetings with God? appeared first on ProdSens.live.

]]>
https://prodsens.live/2023/08/16/how-do-millions-of-people-book-meetings-with-god/feed/ 0
Being an ML Google Developer Expert https://prodsens.live/2023/08/16/being-an-ml-google-developer-expert/?utm_source=rss&utm_medium=rss&utm_campaign=being-an-ml-google-developer-expert https://prodsens.live/2023/08/16/being-an-ml-google-developer-expert/#respond Wed, 16 Aug 2023 22:24:48 +0000 https://prodsens.live/2023/08/16/being-an-ml-google-developer-expert/ being-an-ml-google-developer-expert

Technology, Community and Leadership Google Developer Experts (GDEs) are individuals who are recognized by Google for our expertise…

The post Being an ML Google Developer Expert appeared first on ProdSens.live.

]]>
being-an-ml-google-developer-expert

Technology, Community and Leadership

Google Developer Experts (GDEs) are individuals who are recognized by Google for our expertise in a particular Google technology or technical domain. In this post I share with you how I became a GDE in machine learning, what makes a great GDE and why, and some cool projects I worked on as part of this amazing community.

How did I become an ML GDE?

I became an ML GDE in 2018. When I first filled out my application for the GDE program, I debated about whether to apply for Android or machine learning. At that time, the ML GDE community was much smaller with only a few of us in North America, so I decided to apply for the ML program in order to make a bigger impact.

To apply for the GDE program, one needs to be referred by either a GDE or a Googler. At the time I already knew quite a few GDEs and Googlers who would refer me, since I was actively sharing my knowledge with the developer community.

I went through two interviews: one focusing on technical knowledge of machine learning and the other one on community. I studied and prepared for the ML interview as if it was a job interview. For the community one, I made sure that I was ready to discuss my community contributions: organizing, speaking, writing tutorials, and contributing to open-source projects.

What makes a great GDE?

I’d say there are 3 important attributes for a GDE: technical, community and leadership:

  1. First and foremost is having the technical knowledge in the domain.
  2. Sharing the knowledge with the community. This can be done by public speaking, writing blog posts or books, creating tutorials, or contributing to open source projects.
  3. We are leaders and early adopters who are not afraid of learning and trying new things.

Why become a GDE?

I feel very fortunate to be part of such an amazing community. Here are some of the perks and privileges of being an GDEs:

  • As GDEs, we get to collaborate with experts (other GDEs and Googlers) from around the world. Many of these experts are accomplished and famous authors, speakers, or top open-source contributors.
  • We get to preview Google products and provide feedback. Some examples of products that I provided feedback on are: People + AI Guidebook, ML Kit, TensorFlow Lite, Colab, Explainable AI, MediaPipe, Generative AI, BARD, PaLM API, etc.
  • We get a lot of invitations to speak at events and conferences.
  • We amplify each other’s voice on social media while sharing our knowledge with the Google developers community.

Cool projects & contributions

What I love the most about being an ML GDE is that I get to collaborate with many ML GDEs and Googlers around the world. Here I share the highlights of cool projects, collaborations, recognitions, and my contributions to the community ever since becoming an ML GDE.

2018

I still remember my very first ML blog on Fashion-MNIST with tf.Keras published on the official TensorFlow blog on Medium. I was grateful that I got to work with Josh Gordon from Google TensorFlow team on this.

I also helped write a few tutorials for tensorFlow.org, collaborating with ML GDE Kshitiz Rimal.

Mentoring ML projects at Hack the North in Canada.

Margaret M on Twitter: “We helped a lot of students today in the @GoogleDevExpert mentor hub @HackTheNorth. #GDE #HackTheNorth pic.twitter.com/M2wvSAIMH7 / Twitter”

We helped a lot of students today in the @GoogleDevExpert mentor hub @HackTheNorth. #GDE #HackTheNorth pic.twitter.com/M2wvSAIMH7

2019

TensorFlow Doc Sprint

As part of the TensorFlow 2.0 transition, I helped organize the worldwide TensorFlow Doc Sprint with ML GDE Sergii Khomenko, Googler Paige Bailey, and many other ML GDEs and GDG organizers worldwide. The impact was so huge that it was even mentioned in the 2019 TensorFlow World keynote.

Image from TensorFlow World 2019 KeyNote video

Speaking at TensorFlow Contributor Summit, part of the TensorFlow World conference.

Sergii 🇺🇦 on Twitter: “Great panel discussion at @TensorFlow contributor summit #TFWorld featuring Karmel Allison, @martin_wicke, @spmorgan_ and @margaretmz – very insightful and fun discussion pic.twitter.com/cnTSMQlyvw / Twitter”

Great panel discussion at @TensorFlow contributor summit #TFWorld featuring Karmel Allison, @martin_wicke, @spmorgan_ and @margaretmz – very insightful and fun discussion pic.twitter.com/cnTSMQlyvw

TensorFlow World was an incredible experience.

Margaret M on Twitter: “With #ML #GDE and #TFLite China team. #TFWorld @TensorFlowWorld @GoogleDevExpert pic.twitter.com/Gvnbl2yUxy / Twitter”

With #ML #GDE and #TFLite China team. #TFWorld @TensorFlowWorld @GoogleDevExpert pic.twitter.com/Gvnbl2yUxy

2020

I put together an awesome list for TensorFlow Lite resources.

Margaret M on Twitter: “Here is an awesome😎list of #TFLite models, samples, tutorials & learning resources – https://t.co/uPH3djVVOr. Many thanks to #ML @GoogleDevExpert, #AndroidDev & TFLite team for helping me start this. Hope you find it useful and would love to see what you have built with TFLite! pic.twitter.com/g84NSnQ1QM / Twitter”

Here is an awesome😎list of #TFLite models, samples, tutorials & learning resources – https://t.co/uPH3djVVOr. Many thanks to #ML @GoogleDevExpert, #AndroidDev & TFLite team for helping me start this. Hope you find it useful and would love to see what you have built with TFLite! pic.twitter.com/g84NSnQ1QM

Selfie2Anime with TensorFlow Lite project, done in collaboration with ML GDE Sayak Paul.

Margaret M on Twitter: “Check out the E2E tutorial for Selfie2Anime w/ #TFLite on Android by #ML @GoogleDevExpert @margaretmz & @RisingSayak! From model saving, model conversion to Android with ML Model Binding (metadata & CodeGen). https://t.co/MojyqwtMkU @TensorFlow #DeepLearning #CameraX #AndroidML pic.twitter.com/dyjGWqiC1o / Twitter”

Check out the E2E tutorial for Selfie2Anime w/ #TFLite on Android by #ML @GoogleDevExpert @margaretmz & @RisingSayak! From model saving, model conversion to Android with ML Model Binding (metadata & CodeGen). https://t.co/MojyqwtMkU @TensorFlow #DeepLearning #CameraX #AndroidML pic.twitter.com/dyjGWqiC1o

The TensorFlow Community Spotlight award for the project, “Create Artistic Effect by Stylizing the Image Background”, in collaboration with ML GDE Sayak Paul, George Soloupis, and TFUG organizer Patrick Haralabidis.

TensorFlow on Twitter: “🏅#TFCommunitySpotlight Winners: Margaret Maynard-Reid, Sayak Paul, George Soloupis🏅This team created a project that uses style transfer and segmentation and shows how to combine multiple TensorFlow Lite models in one app. Amazing work!GitHub → https://t.co/PKgybvTxbH pic.twitter.com/cFPSa1JG6G / Twitter”

🏅#TFCommunitySpotlight Winners: Margaret Maynard-Reid, Sayak Paul, George Soloupis🏅This team created a project that uses style transfer and segmentation and shows how to combine multiple TensorFlow Lite models in one app. Amazing work!GitHub → https://t.co/PKgybvTxbH pic.twitter.com/cFPSa1JG6G

I was honored to receive the Google Open Source Peer Bonus award because of my contributions!

Google Open Source Peer Bonus

2021

Launching the ML GDE YouTube channel in collaboration with other ML GDEs: Jerry Kurata, Lesly Zerna, Kshitiz Rimal, Daniel Goncharov.

lesly🍫 on Twitter: “Here is an intro of @margaretmz (#MLGDE from Seattle) and some of the projects she has worked on, in collaboration with ML GDEs around the world. https://t.co/AnSzkUEODM#AI #ML #MLGDEs @GoogleDevExpert #WomenTechmakers #WomenInTech / Twitter”

Here is an intro of @margaretmz (#MLGDE from Seattle) and some of the projects she has worked on, in collaboration with ML GDEs around the world. https://t.co/AnSzkUEODM#AI #ML #MLGDEs @GoogleDevExpert #WomenTechmakers #WomenInTech

Mentoring several TensorFlow projects for Google Summer of Code.

Google Developers Space, Singapore on Twitter: “#RT @googledevs: RT @margaretmz: I mentored a few student developers of their TensorFlow projects for #GoogleSummerofCode 2021. Read my story here 👉 https://t.co/JvtPwYws4C#GSoC2021 #gsoc #tensorflow #keras #tfgan #tfhub #tflite @GoogleDevExpert @TensorFlow / Twitter”

RT @googledevs: RT @margaretmz: I mentored a few student developers of their TensorFlow projects for #GoogleSummerofCode 2021. Read my story here 👉 https://t.co/JvtPwYws4C#GSoC2021 #gsoc #tensorflow #keras #tfgan #tfhub #tflite @GoogleDevExpert @TensorFlow

Speaking at Women in ML Symposium along with ML GDEs
Merve Noyan and Bianca Ximenes.

Margaret M on Twitter: “A belated thank-you: thanks @jocarrasqueira and team for inviting me to speak at #WiML Symposium 2021, and the lovely gifts! pic.twitter.com/UXVw5LFPY3 / Twitter”

A belated thank-you: thanks @jocarrasqueira and team for inviting me to speak at #WiML Symposium 2021, and the lovely gifts! pic.twitter.com/UXVw5LFPY3

Very honored to receive the TensorFlow Top Contributor award representing the North America region.

Margaret M on Twitter: “This is so cool! Seeing my sketchnotes in the official announcement of 2021 TensorFlow Contributor Awardees! https://t.co/FsbhBmiHqy / Twitter”

This is so cool! Seeing my sketchnotes in the official announcement of 2021 TensorFlow Contributor Awardees! https://t.co/FsbhBmiHqy

2022

ML GDE YouTube channel — when started recording interviews with ML GDEs.

Chat with ML GDE Vikram Tiwari.

Margaret M on Twitter: “I’m recording a series of short videos with ML GDEs. Here is the very first one: “Chat with ML GDE @Vikram_Tiwari”! https://t.co/AMZLaRNDu8 #ML #MachineLearning #GDE #GDG #DevFest2022 @GoogleDevExpert @GoogleDevsNA @googledevs @googledevgroups pic.twitter.com/2yTid9BVyp / Twitter”

I’m recording a series of short videos with ML GDEs. Here is the very first one: “Chat with ML GDE @Vikram_Tiwari”! https://t.co/AMZLaRNDu8 #ML #MachineLearning #GDE #GDG #DevFest2022 @GoogleDevExpert @GoogleDevsNA @googledevs @googledevgroups pic.twitter.com/2yTid9BVyp

Chat with ML GDE Aakash Nain.

Margaret M on Twitter: “My “Chat with #ML @GoogleDevExpert @A_K_Nain”! He has contributed to so many open source projects: multiple https://t.co/mpQSTKGESl tutorials, #TensorFlow addons maintainer, “annotated research papers”, #JAX tutorials and diffusion models tutorials… https://t.co/xD99LjClPf pic.twitter.com/x2UDq9JT3p / Twitter”

My “Chat with #ML @GoogleDevExpert @A_K_Nain”! He has contributed to so many open source projects: multiple https://t.co/mpQSTKGESl tutorials, #TensorFlow addons maintainer, “annotated research papers”, #JAX tutorials and diffusion models tutorials… https://t.co/xD99LjClPf pic.twitter.com/x2UDq9JT3p

Invited to the ML Community Summit 2022 in Bangkok Thailand, along with the top contributing ML GDEs.

Margaret M on Twitter: “What an inspiring experience from the ML Community Summit 2022! #ML @GoogleDevExpert @googledevs Thanks again @ksoonson, @heeya_ML and Nari for organizing!https://t.co/m7qaGSUdJh / Twitter”

What an inspiring experience from the ML Community Summit 2022! #ML @GoogleDevExpert @googledevs Thanks again @ksoonson, @heeya_ML and Nari for organizing!https://t.co/m7qaGSUdJh

It was so great to meet in-person for the first time with the ML GDEs who I’ve collaborated with in the past!

Margaret M on Twitter: “A photo with #ML @GoogleDevExpert @mervenoyann @GSoloupis @algo_diver and @RisingSayak at the ML Community Summit. pic.twitter.com/Lg6ZEBblCW / Twitter”

A photo with #ML @GoogleDevExpert @mervenoyann @GSoloupis @algo_diver and @RisingSayak at the ML Community Summit. pic.twitter.com/Lg6ZEBblCW

2023

Chat with ML GDE Hannes Hapke.

Margaret M on Twitter: “Check out my “Chat with #ML #GDE @hanneshapke” on our ML GDE YouTube channel! He shared with us how he became an ML GDE, what he likes the most about being an ML GDE, and a few of his work & community projects. #machinelearning @GoogleDevExpert https://t.co/ZQhNs48enH pic.twitter.com/J3LvnGuoFu / Twitter”

Check out my “Chat with #ML #GDE @hanneshapke” on our ML GDE YouTube channel! He shared with us how he became an ML GDE, what he likes the most about being an ML GDE, and a few of his work & community projects. #machinelearning @GoogleDevExpert https://t.co/ZQhNs48enH pic.twitter.com/J3LvnGuoFu

Hanging out with ML GDEs at Google I/O in Shoreline.

Margaret M on Twitter: “It was fun hanging out with you all at #GoogleIO! See you soon at #GoogleIOConnect Miami!#ML #GDE @GoogleDevExpert @hugoznn @NathalyAlarconT @margaretmz @CharmiChokshi @Vikram_Tiwari @vykthur @SWebCEO @devharuiz #Web #GDE @rabimba pic.twitter.com/rOrnXJWCvD / Twitter”

It was fun hanging out with you all at #GoogleIO! See you soon at #GoogleIOConnect Miami!#ML #GDE @GoogleDevExpert @hugoznn @NathalyAlarconT @margaretmz @CharmiChokshi @Vikram_Tiwari @vykthur @SWebCEO @devharuiz #Web #GDE @rabimba pic.twitter.com/rOrnXJWCvD

Hanging out with ML GDEs at Google I/O Connect in Miami.

Margaret M on Twitter: “Photos for remembering the beautiful moments with the amazing #ML #GDE community at Google I/O Connect 2023. #MachineLearning @GoogleDevExpert #GoogleIOConnecthttps://t.co/1oAd2TYKDh / Twitter”

Photos for remembering the beautiful moments with the amazing #ML #GDE community at Google I/O Connect 2023. #MachineLearning @GoogleDevExpert #GoogleIOConnecthttps://t.co/1oAd2TYKDh

I was featured by Google for Developers in the blog post “Celebrating Google Dev Library’s Women Contributors in AI/ML”.

Google for Developers on Twitter: “👏👏🏽👏🏾 #WomenInTech are making waves in open source ML/AI! These incredible women are contributing to #GoogleDevLibrary projects using technologies including TensorFlow, Google Cloud, and more ↓ https://t.co/cnLzvVziNY / Twitter”

👏👏🏽👏🏾 #WomenInTech are making waves in open source ML/AI! These incredible women are contributing to #GoogleDevLibrary projects using technologies including TensorFlow, Google Cloud, and more ↓ https://t.co/cnLzvVziNY

This year the ML GDE program started the ML Community Sprint where ML GDEs and Google teams collaborated to work on ML projects to create ML content that can be used by the other communities such as TensorFlow User Groups, Google Developer Groups, and Google Developer Student Clubs.

I contributed to the MediaPipe Sprint and then the Keras Sprint, in collaboration with Aritra Roy Gosthipaty and Henry Ruiz.

Margaret M on Twitter: “I received wonderful gifts for contributing to @GoogleDevExpert #ML Community Sprints: a suitcase, a backpack and even a #keras T-Shirt!Thanks @ksoonson, @heeya_ML & Nari for sending these!Thank you #MLGDEs @ariG23498 & @devharuiz for collaboration on #KerasSprint projects! pic.twitter.com/GkWtWKNoIu / Twitter”

I received wonderful gifts for contributing to @GoogleDevExpert #ML Community Sprints: a suitcase, a backpack and even a #keras T-Shirt!Thanks @ksoonson, @heeya_ML & Nari for sending these!Thank you #MLGDEs @ariG23498 & @devharuiz for collaboration on #KerasSprint projects! pic.twitter.com/GkWtWKNoIu

I’m looking forward to future projects and collaborations in the Google Developer Expert and the broader Google Developers communities. I hope my journey gives you a glimpse of what it is like being an ML GDE and inspires you to become part of our community.


Being an ML Google Developer Expert was originally published in Google Developer Experts on Medium, where people are continuing the conversation by highlighting and responding to this story.

The post Being an ML Google Developer Expert appeared first on ProdSens.live.

]]>
https://prodsens.live/2023/08/16/being-an-ml-google-developer-expert/feed/ 0