Work in
*"strong opinions loosely held"
The unedited and the quick thought.
Maximized for done, not for polish. Because I have a tough time finding words.
To me, it’s about thinking – structuring mine and that of others.
With writing you climb those ridges where you start to "get it".
To stir discussion with you, the bright minds. This is my log book.
The goal is to create a "template" or "algorithm" for generating content.
TL;DR The meat is here and in this chapter only: Creating Meta Prompts
Programming ChatGPT without Programming
While we're not writing code in a traditional sense, we're using the logical and structured thinking that's foundational to programming to enhance our content creation process.
We are leveraging the principles of programming by defining a structure (or "function"), setting parameters (or "variables"), and generating outputs — and applying it to content creation.
This approach allows us to systematically and consistently produce tailored content prompts (or outputs) based on specific inputs. It's a more structured way of thinking about content creation.
This way is particularly useful when you want to scale content production or ensure consistency across different pieces of content.
Metaprogramming and the Concept of Meta Prompts
The term "meta" implies a level of abstraction, self-reference, or "about its own category".
Therefore "Meta prompts" seem an apt term for what we want to accomplish:
Our idea, in essence, is "meta content creation," where we are setting up a structure to generate content prompts.
Metaprogramming is when you write programs that generate or manipulate other programs (or themselves). Or, differently put: Metaprogramming is where programs have the ability to treat other programs as their data.
This means that a program can be designed to read, generate, analyze, or transform other programs (or even itself).
But rather than trying to focus on coding concepts or paradigms, I used ChatGPT to understand the nuances of what we are doing here by using the universality of programming concepts and how they are applied to our problem: so basically, as a vehicle to critical and systematic thinking.
I do not know what programming concepts or programming paradigm maps to what we are trying to do here.
Our meta prompts act like templates, where an algorithm's structure is preserved, but certain steps are deferred to later step implementations. It encompasses also ideas of “procedural generation” where content is generated algorithmically and functional programming taking parameters (specific inputs) to produce tailored outputs.
In our content generation context, we use templates and specific details we plug into the template to procedurally generate content prompts.
The idea, in essence, is "meta content creation," where we are setting up a structure to generate content prompts.
So what it actually requires is—and this is where programming and philosophy meet through math—systematic thinking.
systematic thinking to the realm of content creation.
Meta Prompts
In our context, we're talking about prompts to create other prompts or content. So the term seems to capture the essence of the idea.
However, depending on your background you might understand what we are trying to accomplish here through another lens, or depending on your specific context another term might resonate better with you and your colleagues.
Some alternative terms:
- Template Prompts: Emphasizes the template nature of the approach.
- Prompt Frameworks: Highlights the structured approach to content generation.
- Prompt Generators: Indicates an automated or systematic method to create prompts.
- Structured Prompts: Focuses on the structured and systematic nature of the approach.
- Content Scaffolds: Using the analogy of scaffolding in construction, this term suggests providing a structure upon which content can be built.
Creating Meta Prompts
To create a meta prompt tailored to you and your audience, follow this pattern:
Identify Expertise: Start with a declaration of expertise to set the context. For example: "You are an expert in [YOUR FIELD] with [X YEARS] of experience."
Define the Topic: This will be the main subject of your article or content piece. Choose a topic relevant to your audience's interests or needs.
Detail the Prompt: Describe the content's structure, key points, and desired outcomes. Make sure to:
- Specify the target audience.
- State the main objectives or goals of the content.
- Highlight key topics or subtopics you want covered.
- Ask for actionable tips, examples, or case studies.
- Request supporting data or research if applicable.
Here's a template you can use:
You are an expert in [YOUR FIELD] with [X YEARS] of experience in [SPECIFIC ACTIVITY or SKILL].
Topic: [YOUR TOPIC]
Prompt: Provide a comprehensive guide on [MAIN SUBJECT], specifically targeting [YOUR AUDIENCE]. Dive deep into key topics such as [KEY TOPIC 1], [KEY TOPIC 2], and [KEY TOPIC 3]. Share actionable tips on [SPECIFIC STRATEGY or APPROACH], and if possible, include real-world examples or case studies relevant to the target audience. Support your claims with data and research, and offer a structured approach or process for readers to apply the knowledge. By the end, readers should [DESIRED OUTCOME].
Example Meta Prompt
Let's create a sample meta prompt based on the template on the topic of “Building Effective Teams in Startups”.
This is the prompt:
You are an expert in organizational behavior with 15 years of experience in team dynamics and leadership.
Topic: Building Effective Teams in Startups
Prompt: Provide a comprehensive guide on establishing and nurturing high-performing teams, specifically targeting startup founders and HR managers. Dive deep into key topics such as team formation stages, communication best practices, and conflict resolution. Share actionable tips on creating a positive team culture, and if possible, include real-world examples or case studies from successful startups. Support your claims with data on team productivity and research on team dynamics. Offer a structured approach for founders to build, manage, and grow their teams effectively. By the end, readers should be equipped with tools and strategies to foster a collaborative and results-driven team environment.
Using this template, you can generate meta prompts tailored to any topic relevant to you and your audience.
Does this sound like programming and software development?
Terms like “[YOUR FIELD]” and “Topic” make it seem that you work with variables and classes.
Let’s look at it in the context of our template:
[YOUR FIELD]
is a placeholder (or variable) that you would replace with your specific area of expertise.
Similarly, [X YEARS]
, [SPECIFIC ACTIVITY or SKILL]
, [YOUR TOPIC]
, and other bracketed text are placeholders meant to be replaced with relevant information tailored to your needs.
The word "Topic" is not so much a "class" in the programming sense, but more of a header or label indicating the subject matter of the content. It serves as a concise title or theme for the prompt that follows.
In essence, the template is structured with labels (like "Topic:") followed by placeholders or variables (like [YOUR TOPIC]
) that you fill in based on the content you want to generate.
This approach allows you to systematically craft meta prompts that are customized for your specific needs and audience.
Meta Prompts: A Programming Analogy
So what is the gap between the worlds of content creation and software development?
You’ll see that it makes little difference, but understanding might help you create using other tools that are not LISP or conversational Ais or APIs.
Well, let’s then look at the concept of meta prompts from a computer programming perspective.
Imagine you're creating a function that produces content prompts. The function takes several parameters, and based on those parameters, it returns a tailored content prompt.
Function Declaration:
def generate_content_prompt(expertise: str, years_of_experience: int, specific_activity: str, topic: str, main_subject: str, target_audience: str, key_topics: list, specific_strategy: str, desired_outcome: str) -> str:
# ... function body ...
Parameters:
expertise
: The field in which you're an expert (e.g., "data science", "web development").years_of_experience
: The number of years you've been in that field.specific_activity
: A particular activity or skill you have within that field.topic
: The overarching theme or title.main_subject
: What the content is majorly about.target_audience
: Who the content is for.key_topics
: A list of important subtopics to be covered.specific_strategy
: Actionable strategies or techniques to be discussed.desired_outcome
: What the reader should achieve or feel by the end.
Function Call: You'd then call this function, passing in the appropriate arguments, to get your tailored content prompt.
content_prompt = generate_content_prompt(
expertise="web development",
years_of_experience=10,
specific_activity="frontend design",
topic="Responsive Web Design",
main_subject="designing adaptive websites",
target_audience="junior web developers",
key_topics=["media queries", "flexible grid layouts", "scalable images"],
specific_strategy="using CSS and JavaScript frameworks",
desired_outcome="be able to create fully responsive websites"
)
print(content_prompt)
Output: The function would return a string that is your tailored content prompt, which you can then use as a basis for creating content.
By framing meta prompts in this manner, programmers can better relate to the concept by seeing it as a function that takes specific parameters to produce tailored outputs.
This analogy bridges the gap between the worlds of content creation and software development.
To make this analogy complete and functional, let's implement the body of the generate_content_prompt
function.
Here's a possible implementation:
def generate_content_prompt(expertise: str, years_of_experience: int, specific_activity: str, topic: str, main_subject: str, target_audience: str, key_topics: list, specific_strategy: str, desired_outcome: str) -> str:
key_topics_string = ', '.join(key_topics[:-1]) + ", and " + key_topics[-1]
prompt = f"""
You are an expert in {expertise} with {years_of_experience} years of experience in {specific_activity}.
Topic: {topic}
Prompt: Provide a comprehensive guide on {main_subject}, specifically targeting {target_audience}. Dive deep into key topics such as {key_topics_string}. Share actionable tips on {specific_strategy}. By the end, readers should {desired_outcome}.
"""
return prompt
Using the function call from before:
content_prompt = generate_content_prompt(
expertise="web development",
years_of_experience=10,
specific_activity="frontend design",
topic="Responsive Web Design",
main_subject="designing adaptive websites",
target_audience="junior web developers",
key_topics=["media queries", "flexible grid layouts", "scalable images"],
specific_strategy="using CSS and JavaScript frameworks",
desired_outcome="be able to create fully responsive websites"
)
print(content_prompt)
The output would be:
You are an expert in web development with 10 years of experience in frontend design.
Topic: Responsive Web Design
Prompt: Provide a comprehensive guide on designing adaptive websites, specifically targeting junior web developers. Dive deep into key topics such as media queries, flexible grid layouts, and scalable images. Share actionable tips on using CSS and JavaScript frameworks. By the end, readers should be able to create fully responsive websites.
This function essentially constructs and returns a tailored content prompt based on the parameters provided.
Bridgewater Associates' believability-weighted system for algorithmic decision-making
There are moments you never forget: Like Ray Dalio with his hard New Yorker accent describing the meritocratic ranking system at Bridgewater Associates where the input of his analysts gets weighed and that weighing factor changing over time.
I like to believe that the hard New York English comes close to the accent when Germans speak English, others say we sound more like Amish with their Pennsylvania Dutch.
Ray Dalio and Bridgewater Associates
Bridgewater Associates is an American investment management firm founded by Ray Dalio and known for its distinctive corporate culture where radical transparency and algorithmic decision-making are the norms. Bridgewater Associates’ decision-making system is deeply engrained in their corporate culture.
Ray Dalio has described their system as “believability-weighted decision making”. The idea is that every person's opinion in the firm is considered, but not all opinions are considered equally. Instead, they are weighted by the person's credibility on the topic at hand. This initial expertise becomes credibility over time, or “believability”.
Believability is determined algorithmically based on the person's track record of making good decisions in the relevant area. The assessment of accuracy of individuals' “believability” or expertise can also change over time when the algorithm is changed to increase fairness and bias.
The merit of the input is all that counts
This meritocratic system aims to prevent decision-making from being influenced by hierarchical position or personal bias, and instead be based on the merit of the ideas themselves and the proven expertise of the person suggesting them.
Critique and Limitations
Critics argue that it could lead to a lack of diversity in thought, as those with higher believability scores have a disproportionately large influence on decisions. There are also other critiques.
But most are solved by following the standard mitigation practices like,
- Ensuring a diverse team to provide a broader range of perspectives.
- Implementing anonymous input.
- Regular review and adjustment of the algorithm that calculates believability scores.
Any system of decision-making, including a believability-weighted system, will inherently have some limitations. The key is to recognize these limitations and to continually strive to mitigate them as much as possible.
One thing such mitigation strategy could be to balance the believability-weighted system with other decision-making approaches.
Balancing with Other Decision-Making Approaches
The believability-weighted system could be balanced with other decision-making approaches. But balancing different decision-making approaches can easily lead to more complexity and potentially costly in terms of time and resources.
However, there might be situations where this approach could be beneficial. For instance, in certain high-stakes decisions, like managing million dollar investments. Or in situations where the team is deeply divided, it might be beneficial to use a different decision-making method.
That said, the decision to employ such a strategy would depend on the specific context and the potential benefits and drawbacks.
Conclusion: Parallels in Assigning a Measure of Certainty or Weight to Information
Bridgewater Associates' believability-weighted system for algorithmic decision-making reminded me of the confidence that you ascertain when you gather and collect data from individuals to increase data validity.
My research on the specifics of Bridgewater Associates algorithm and the factors it takes into consideration however aren't publicly disclosed. Bridgewater maintains that their system is proprietary and part of their competitive advantage.
So all I can state is that both concepts—Bridgewater's believability-weighted decision-making and the concepts of self-reported confidence—deal with assigning a measure of certainty or weight to information based on past data or performance.
In Bridgewater's system, the “believability” score given to an individual's opinion is based on their track record in the relevant area.
Similarly, the concept of confidence we can gain additional insights that might not be captured by the data alone. By asking individuals about their confidence level when providing a data point or ranking, should provide us with indications of how certain we can be that a given range contains the true data point when we compare their confidence in a panel study over time.
So, in both cases, the aim is to make better-informed decisions by using past data to determine the weight or confidence we give to a particular piece of information or opinion.
In my ongoing research project, I want to ask individuals how confident they are in providing a certain qualitative datapoint or quantitative ranking.
If you want to stay up to date, consider subscribing to my newsletter.
How-to Use Webflow with a Git Publishing Workflow
Webflow is a Design Tool
Webflow is a design tool [full stop]
While it allows designers to build professional websites visually, it is not built for the same kind of Git-based workflow that you or developers might use for a traditional codebase.
In recent years Weblow has added lots of hosting capabilities to might make you never want to leave their ecosystem. Unless you are a stifler for writing in markdown and seamlessly publishing your markdown files.
Webflow is a closed system.
Webflow doesn't allow for the exporting and importing of full project files. Instead, it's designed to allow you to design, build, and publish websites directly.
That said, you can use Webflow in combination with a Git-based workflow for your code outside of the Webflow ecosystem. Here's a basic outline of how that works:
- Webflow Design and Development:
Use Webflow to design and develop your website. This involves creating the layout, adding content, and doing any necessary styling. Webflow hosts the site for you; no need for running a build server locally. - Export Code from Webflow:
Once you're satisfied with your design, you can export the code from Webflow (HTML, CSS, JavaScript, and images). This feature is only available for paid accounts. - Create a Git Repository:
Create a new repository in your Git-based version control system. - Add Webflow Code to the Repository:
Put the code that you exported from Webflow into the new repository. Make sure to add and commit the files to the repository. - Develop Further: Now, you can develop further using the codebase in the repository just like you are used to in your regular Git workflow, allowing you to use GitHub and GitLab etc. too.
- Deployment: Set up a CI/CD pipeline to automatically build, test, and deploy your website whenever changes are pushed to the main branch. This could be on a hosting service that supports Git deployments like Netlify or Vercel.
- Update on Webflow:
If you need to make changes to the design, you can make those changes in Webflow, export the code, and then update the files in your Git repository.
This isn't a perfect solution, and it's not the way that Webflow is primarily designed to be used. The exported code from Webflow may not be designed to be easily read or modified. This workflow can work for small changes and tweaks, but for significant development work, it's often better to hand-code the website or use a development platform designed for a Git workflow.
Although not perfect, it is great for such a Design Illiterate like myself. And I use the Git Workflow mainly for publishing my blogposts, notes, work in progress, and documentation.
Webflow also has WebflowCMS, a separate product that allows you to manage website content and update it without having to export or import any code. You might find this a more efficient solution for managing website content, depending on your needs.
Now, is there a way to include the functionalities of WebflowCMS in my git-based content publishing workflow?
How-to include the functionalities of WebflowCMS in my Git-based Content-publishing Workflow?
WebflowCMS is a content management system that allows you to manage content and to invite other content editors to update content on your website without having to touch any code. It's a visual system designed for users who may not be coders nor designers, like a team of content editors.
WebflowCMS doesn't directly support a Git-based workflow. If you're looking for a CMS that natively supports a Git-based workflow, you might want to consider a "Git-based" or "headless" CMS like Forestry, NetlifyCMS (now DecapCMS), or Contentful. These Content Management Systems store your content files along your other files in a Git repository, allowing you to manage your content with the same version control and CI/CD practices you use for your code.
Therefore, you should to use a CMS that natively supports a Git-based workflow. So basically 2 steps:
- Creating the static site using Webflow,
- use Webflow to design and build your site,
- export the static HTML, CSS, and JavaScript files.
- Integrating a git-based CMS,
- set configuration and connect the CMS,
- add CMS editing Capabilities to your site according to the documentation of the CMS you’ve chosen) so pages can be edited through the CMS.
Additionally, set up and configure a CI/CD pipeline to automatically build and deploy your site whenever you push files (including your content files!) to your main branch. Many hosting platforms, like Netlify and Vercel, offer easy integration with Git-based CMSs and automatic deployment from Git.
Now, you and your content editors can use the CMS to add, update, and delete content. These changes will be committed directly to your Git repository, allowing you to track changes over time and roll back if necessary.
This way, you get the best of both worlds. A git-based CMS, where you can manage your content in the same place and in the same way as your code. with the version control and collaboration benefits that come along with a git-based workflow. But also the powerful design capabilities of Webflow that make it so much easier and fun for design illiterates like myself to make it easy for our users to find and work with the content that we serve on the internets.
Wondering what happened to Coffee and Commerce Episodes 5 and 6 of GaryVee newly launched ecommerce podcast?
"never give up" photo by Ben Yang
Well, I was too… Turns out there is a separate VaynerCommerce YT channel.
Since Covid there seems to be a wave of new podcasts and YouTube channels and Instagram engagement. But the craze seems to be more on the creation side of things. At least for podcasts because while new podcast spring up like fresh mowed lawn in May podcast the listening times for podcasts and music streaming in general are down.
Quite understandably. Who doesn’t want to rip off their headphones after people chewing on your ear over Zoom all day long?
Well, there’s one new podcast that is worthwhile getting your ear chewed off. It’s GaryVee’s new format on E-Commerce called “Coffee and Commerce”. I enjoy the guests he has on much more than the Q&A sections of his keynote talks. He invites operators and software creators alike and “really want[s] to provides value to all the people out there”.
Come Saturday, and what better to do than put your earphones in and listen to a podcast while working…🤣 Brewing some freshly ground coffee, putting my headphones on, heading over to GaryVee, and... excuse me, where are Episodes 5 and 6 of Coffee and Commerce? Had seen on Twitter that Zubin Mowlavi, the CEO of VaynerCommerce, wanted to be live yesterday. Episode 7 with him and Gary was a week ago... and the only thing I can see are exactly this and Episodes 1 - 4 on Gary's YouTube.
Same on the GaryVee Audio Experience; it’s a podcast after all, or is it?
Even on Google it took me a couple of searches before finally figuring out that they are hosted on VaynerCommerce:
Coffee & Commerce Episode 1: The Launch with GaryVee, Ben Fried, Robbie Deeks and Zubin Mowlavi.
But even there the video description is void of any links to a podcast… Have you ever tried listening to a YouTube Video on your phone? It’s a horrible experience and not even possible without the YouTube app.
Turns out that Gary only posts the episodes that he’s in. In Coffee and Commerce he actually is a guest and a moderator at the same time and for those episodes that he’s not a part of VaynerCommerce CEO Zubin is hosting.
Guess this means it gets even better since both an operator (Gary Vaynerchuk) and a software creator (Zubin Mowlavi ) alike are co-hosting this show! Don’t miss it if you want to understand the importance of what is happening in Commerce right now: I could not explain it any better.
Pipedrive Login Hack and for every other web application for that matter.
I’ve been made aware of the fact that of the many little shortcuts and hacks I use on a daily basis when it comes to using software, many that are obvious to me, are not so obvious to less versatile and frequent users. So, I'll go ahead and share them as they might could be very helpful to others.
One thing I observe a lot, is something as simple as the login into any cloud software and web application, becomes a multi-step hurdled process. Especially if you have pretty safe Web-browser settings with regular deleting cookies.
Since I’m use a Pipedrive CRM on a daily basis and I’m a Pipedrive Partner to help others use Pipedrive on a daily basis and become successful with their Contact Relationship Management, I am going to use Pipedrive CRM as an example for the purpose of this post.
If you have other hacks that enhance your daily productivity with Pipedrive, please go ahead and share in the comments of this corresponding YouTube video.
The Many-click Hurdles
You’ve probably seen it yourself many times: One of the most common ways is that people search for the software they want to use on Google. Sometimes even just as generic as its name "pipedrive", or because typing something into the address bar triggers a Google search. And then, usually what you will see first is a bunch of CRM adds, mostly from competitors. You sift through search results that have nothing to do with that login for Pipedrive that you were actually looking for. Finally, you land on the homepage. But, you still have to look very consciously for that Login button click deliberately “login”. Otherwise you’ll most likely not avoid that dreadful "Try free button" which is always bigger, more colorful and more appealing to click than the button that the already loyal customer actually needs.
Or, you were that smart, and from the get-go instead searched for the login of the software itself with a term like “Pipedrive login” Even then, sifting through adds from competitors or Pipedrive itself, getting multiple answers and confusing choices of different Login options in different languages is inevitable.
The Shortcut to the App
Many web applications follow the naming convention "app.name.TLD" which leads you to the login of the web app. I.e. with “app.pipedrive.com” you’ll either get to the Pipedrive Login page itself so you can directly sign in to Pipedrive, or if you’re already logged in get redirected to your dashboard in Pipedrive.
The Bookmark Organized
What I generally do and advice everyone to do is, to save the login page itself as a bookmark in a separate folder. I save the login page, not the homepage, as a bookmark and put that bookmark in a folder called “Accounts”. And most of the times creating different “Accounts” folders like “Social Media”, “Content Creation”, “Webpage and Blog”, etc. makes your life a lot easier to differentiate between different software according to the tasks you need the software applications for. I.e. my Twitter and Youtube accounts get added under “Social Media Accounts” while my video editing and banner creation tools get filed under “Content Creation Accounts”.
VIP Bookmarks Bar
Obviously your Pipedrive CRM is likely one of the, if not the most important software you use and should use on a daily basis. This is why you want to create a “VIP placement” for your Pipedrive login right in your Bookmarks bar. I save the Pipedrive sign in page, again, not the homepage, as a bookmark and put that bookmark right in the "Bookmarks bar" folder. Now, you always have direct and a one-step access to your Pipedrive login and Pipedrive dashboard and are just one step away from making meaningful connections with the help of Pipedrive CRM every day. Because you know my strong stance and opinion about Contact Relationship Management: If you don't use a CRM on a daily basis you’re not in a relationship with those who matter to you and your business.
You'll find the step-by-step instructions in the YouTube video
You'll find the step-by-step instructions in the YouTube video
If you have other hacks that enhance your daily productivity with Pipedrive, please go ahead and share in the comments of this corresponding YouTube video.
Read more from the Blog
The Unedited Archives