Building Bridges in Knowledge: My app to a Unified PM and PKM System
Summary
The article discusses the development and use of a personalized app for Project Management (PM) and Personal Knowledge Management (PKM), focusing on efficient information handling, organization, and retrieval through bi-directional linking and strategic keyword tagging.
Outline
- Introduction to Personal Knowledge Management (PKM) and Project Management (PM)
- Development of a Custom PM and PKM Solution
- Project Management Features
- PKM features
- Benefits of the System
- Personal dashboard
Facts
- The app combines project management with personal knowledge management using Coda and Mem.
- It features bi-directional linking for interconnected notes and keyword tagging for flexible information retrieval.
- Key functionalities include project setup, task management, and integration with external platforms like GitHub and Google Calendar.
- The app enhances productivity by translating notes and emails into actionable tasks using Generative AI.
- It offers automated features like launching scalable EC2 instances and managing variable lineage.
Concepts
- Bi-Directional Linking: A method in digital knowledge bases allowing notes or pages to reference each other in both directions, creating a rich web of connections.
- Keywords in PKM: Using keywords to tag notes, grouping related concepts for flexible and efficient information retrieval, breaking the limitations of traditional folder-based systems.
Keywords
- Personal Knowledge Management (PKM)
- Project Management (PM)
- Bi-Directional Linking
- Keyword Tagging
- Coda
- Mem
- Generative AI
- Information Retrieval
Project management & Personal Knowledge management
Personal Knowledge Management (PKM) is a structured approach to handling the stream of information that we encounters in daily life. It’s like an internal curator, diligently organizing a personal gallery of knowledge — comprising ideas, tasks, experiences, and nuggets of wisdom. This system is crucial for directing the flow of information to bolster personal development, augment productivity, and streamline problem-solving.
I hadn’t found an app or system that really fit the bill for what I needed — something straightforward that let me have everything I needed within a few simple clicks. So, I decided to create one myself, designed exactly for my requirements: normalizing information for consistency, keeping track of my work easily, and getting back to the information quickly.
At the heart of my custom solution is Coda, where I centralize all my notes, give them the right structure, and prepare them for use. It’s also where I pull in additional information from the internet to enrich my personal database. Once I have everything structured the way I want in Coda — complete with dates, titles, and keywords — I send it over to Mem using an API. Mem isn’t just any note-taking app; it’s one that uses AI to intelligently show me notes related to what I’m currently working on. This system has transformed the way I handle information, making it not just organized but truly a part of my daily workflow.
In the realm of Personal Knowledge Management, two concepts stand out for their ability to enhance the organization and retrieval of knowledge: bi-directional linking and the use of keywords.
- Bi-Directional Linking: This is a method of connecting notes or pages within a digital knowledge base so that they can easily reference each other. Unlike a one-way hyperlink that only allows you to follow the link in a single direction, a bi-directional link creates a two-way street. If Page A links to Page B, then Page B will automatically link back to Page A. This creates a rich web of connections, allowing for a more nuanced relationship between notes. It reflects the way our brains naturally work, associating ideas and information with multiple other concepts and contexts, thus facilitating a more intuitive navigation and retrieval of information.
- Keywords: The use of keywords is a powerful way to group and retrieve related notes within a PKM system. By tagging a note with a keyword — for example,
#chinese-economics
—that note becomes associated with that keyword 'folder'. It's akin to assigning a subject label to a note, which then allows it to be filed with other notes sharing that same label. One of the great advantages of using keywords is the flexibility it offers; a single note can be related to multiple concepts by assigning it several keywords. This eliminates the restrictions of a traditional hierarchical tree structure, where a note is confined to a single folder or category.
These notes are then non-linear and can be sorted through keywords, making them easily retrievable not just by browsing ‘folders’ but by searching, using queries, or through the system’s recommendations. This approach mirrors the complexity and interconnectedness of knowledge itself, allowing for a more fluid and dynamic PKM system where information can be cross-referenced and discovered through various paths.
I’ve developed a personal methodology that hinges on two pivotal PKM concepts: bi-directional linking and keyword tagging. In the ecosystem I’ve crafted, a Coda document acts as the command center, ensuring the information I funnel into Mem adheres to these principles. By utilizing the Coda API, I’m able to gather and enrich information from the web with my insights, crafting a well-curated knowledge base.
Once this enriched information is in Coda, formatted and standardized, it’s then pushed into Mem via its API. This ensures that each piece of knowledge is not only consistent in structure but also primed for Mem’s AI to work effectively. In this way, the AI in Mem can more accurately provide recommendations and surface relevant information, thanks to the clear, standardized data it receives.
This interplay between the structured, intelligent input from Coda and the smart, responsive output in Mem encapsulates the essence of my PKM practice, offering a streamlined and sophisticated way to handle information.
In this article, I will walk you through the core functionalities of the application I’ve tailored for my use. This app is specifically designed with two primary goals in mind:
- Project Management: The app provides a robust framework for overseeing projects. It serves as an organizational hub where all aspects of a project, from inception to execution, are meticulously tracked and managed.
- Information Aggregation and Structuring: It is adept at pulling information from various online sources and then systematically structuring it. This ensures that the information is not just collected but also organized in a way that aligns with my analytical needs.
Once the information is curated and structured within the app, it is seamlessly integrated into Mem. Here, it benefits from the capability of cross-referencing — connecting dots between different pieces of knowledge, an essential feature of effective Personal Knowledge Management. This integration aims to facilitate a more interconnected knowledge base where information from my projects and the web enriches the context and utility of each other.
Project management
Initial Project Setup and Integration
Every project begins with a clear identity and purpose. I start by naming each project and adding essential company details. This helps to differentiate and organize them right from the outset. I then prepare the groundwork by specifying where to keep our templates and where the final data will be stored. This early organization ensures that everything we need is just a click away and that our projects are ready for collaboration with tools like GitHub
To keep a bird’s-eye view of all my projects, I’ve created a dashboard. It provides a quick overview and direct access to project materials, using visual indicators to help navigate effortlessly. This dashboard is available at this URL.
Task Selection: The Gateway to Efficient Workflow Management
Drawing from my experience, data projects typically involve a repeating cycle: identifying the issue, gathering and documenting data, planning, preparing for analysis, and model training, with continuous refinement.
The taskbar, shown in image 3, neatly captures this workflow with buttons for each stage, enabling efficient navigation and focus on the task at hand. This setup keeps my projects on track and makes my workflow smooth and effective.
Detailed Task Management for Streamlined Data Science Operations
The “Download Data” option, as shown below, is the first among the series of actions within the task management flow. This feature is crucial for initiating the process of data acquisition, where I can specify the exact nature of the data retrieval operation. The example with the task “Extracting 1A Risk Factor Section from SEC Filings” shows an integration with external data sources and the ability to tag tasks for organized referencing and retrieval, like GitHub, S3 location, and Glue.
The other button captures the remaining typical steps involved in a data project:
- Transform: This button would lead to a different input section designed for data manipulation tasks, allowing me to format and prep the data as needed for analysis.
- Analyse: Selecting this would present me with options suitable for data analysis, where I can delve into the data to extract meaningful insights and trends.
- Train: This choice would be for tasks where the focus is on building and training predictive models, specifying parameters and datasets to use for machine learning.
- Standard: This is reserved for tasks that don’t necessarily fit into the other categories, such as documentation or managing projects that are not linked to my AWS.
This granular level of control is particularly advantageous, as it allows me to keep a finger on the pulse of every moving part within my projects, from start to finish.
Project Lifecycle Visualization
The project evolution can be viewed in a timeline manner, showcasing a structured and intuitive view of a project’s lifecycle. This timeline allows for easy tracking and visualization of the project’s progression over time.
By plotting key stages — such as initial documentation, data sourcing, model training, and in-depth analysis — on a timeline, I can see at a glance how the project has progressed. Each phase is delineated, with progress indicators that provide immediate context and status updates. This visual tool not only keeps the project’s milestones in check but also provides a clear historical view, making it possible to track and reflect on the project’s growth from inception to completion.
For example, the task “541_climate_risk_detection” under “Download Data” indicates a completed action related to acquiring 10K report sources, with an associated Mem link for easy access to the relevant documentation.
Integrated Research and Meeting Tracker
When I create or progress through a task, I have the ability to directly set up an associated meeting or link an existing one via the two-way Google Calendar integration. Additionally, I can attach one or more relevant research papers to the task, pulling data using the Semantic Scholar API. This seamless integration ensures all pertinent information and discussions are centralized and easily accessible.
Streamlining Productivity: From Notes to Action with Generative AI
The app uses Generative AI to turn meeting notes into a clear action plan. This is illustrated in the the image below, where notes from a meeting about the results of the model for one of my papers are seamlessly translated into a structured to-do list with clear tasks. This ensures that all action items are captured and can be efficiently tracked and traced back to their meeting origins for context and clarification.
Similarly, it processes email content, extracting tasks and creating a summary of action points. For instance, an email discussing Heineken OpCo’s external data is converted into a concise summary with key points and actions to be taken, like identifying important action items and documenting them. This conversion not only helps in task management but also associates each task with the original email, providing a direct link back to the source material.
Automating the launch of scalable EC2 instances
I have developed a feature to enhance my coding efficiency by automating the launch of scalable EC2 instances directly from my tasks. This allows me to concentrate solely on the coding aspects, knowing that the necessary resources are allocated without the need for manual setup. For instance, each notebook, such as the one found at this example, is generated automatically, containing all the project and task information required. This seamless integration ensures that I can maintain an organized workflow, making it effortless to manage my code and push updates to GitHub and AWS. This feature is especially valuable in my data-intensive projects, where computational efficiency is integral to my productivity.
Integrated Variable Lineage and Management
To ensure seamless integration and accessibility of data within my workflow, I’ve synchronized all variable information and their lineage. For example, if I need to delve into the specifics of a variable like “coverage_ratio,” I simply type it into the search function. Instantaneously, I’m provided with a comprehensive overview including comments on how it is constructed.
When the information is processed in Coda, and normalized, it is pushed in Mem, the tool I use for my PKM.
Mem knowledge information
I integrate my structured notes from Coda into Mem using an API, where the principles of bi-directional linking and strategic keyword tagging come into play. This integration allows me to navigate through my notes efficiently, as they’re interconnected in a way that mirrors the associative nature of human thought.
As I document tasks in Mem, these linked notes create a dynamic web of information that can be easily accessed from various points, enhancing my ability to find related content without linear constraints.
In the image below, Mem suggests notes related to my task based on the information I provide in the note. Collections (keywords) help group notes for faster access. I enjoy the recommandation feature (similar to this mem/note), but I don’t rely solely on AI because it can lack accuracy and consistency, potentially wasting time in information retrieval.
strategic keyword tagging
The use of Collections (keywords) further refines my information retrieval process. By tagging notes with relevant keywords, I can quickly bring together related concepts under one umbrella, facilitating a more flexible and robust search capability than traditional folder-based systems.
Here are some conventional tags I use for each project, to make the information retrieval faster.
“project-name” Tag
This tag is quite straightforward. Every note that’s part of a project gets this label. When I look in the ‘Collections’ section of my app, this tag helps me see all the notes that belong to a specific project at once.
“key-project-name” Tag
The “key-project-name” tag is used to bring together all the notes that are important for completing a project’s tasks. When I use this tag, it gathers all the notes in one place, so I know these are the key details I need for the project’s tasks.
“question-project-name” Tag
In order to consolidate all my project-related questions, I employ the “question-project-name” tag. This allows me to accumulate questions posed to clients, colleagues, and other stakeholders. By aggregating these questions within a single note, I can conveniently access and review them whenever needed. This approach simplifies the retrieval process for all project-related inquiries.
Email and Meeting Management
I also employ two tags related to emails and meetings: “email-project-name” and “meeting-project-name.” These tags help me centralize all note associated with emails and meetings, ensuring that they are easily accessible within the collection.
Bi-directional linking
In my notes, blue highlights indicate two-way links. This helps me write brief notes that can be easily included in other notes. For instance, if I’m working on a machine learning strategy that might use the setfit algorithm, I’ll link to a note titled ‘Setfit.’ By distilling notes by concept, I can connect them across different projects, and Mem helps bring up related notes.
I also use two-way links to keep track of the questions and feedback between the data scientist and the client, a common issue in data science projects.
For instance, when engaged in a specific task and encounter a question, I open the note that aggregates all the questions and create a new note item with a specific title, such as “Question1: How to blah blah.”. This practice allows me to address individual questions effectively. Additionally, I write the content and link any relevant emails or meeting notes as necessary.
Then I write content, link email or meeting notes if needed.
and all the notes with the prefix Mail look like this
All the informations connected and can be traced back to a task, meeting, emails, etc. This tagging structure with the bi-directional approach makes it easier to write the documentation, find an information or just better understand and share the problem raised during the project.
Personal Knowledge Management
The goal is to expand my PKM system by automatically importing external information such as newsletters and online readings into Mem via Coda. This enables seamless integration of newsletter and my daily reading into my knowledge base (aka Mem). Using the functionality (as seen in the following image), I can track and import various pieces of information directly into Coda using Google Script.
There are two ways to import a knowledge into Coda, and pushes it to Mem: manual and automatic.
Manual method
The manual method involves directly importing information from articles I read in publications like the Financial Times, The Economist, or Medium. When I read an article, I use the Chrome extension ChatGPT » Summarize & Chat to extract information from the content of the URL. Next, the extracted information is arranged using Coda and then exported into Mem.
Automatic method
The automatic way, using Google Script, selectively ingest content from my newsletters, which varies daily based on my preferences, summarize it and export it into Mem. Indeed, given the constraints on my time, I can’t read every article in full. To address this, I employ chatGPT along with other rules to distill the newsletter content into individual notes (one newsletter can embed many contents). Each note is a concise summary of a single content, including the key concepts, keywords, and the original source. This process results in the creation of approximately 40 to 50 new notes each day, enabling me to quickly capture the essence of each article without going through the entire text. The image bellow illustrates the accumulation of these notes in my system.
For example, a note titled “New Chart of the Week: G20 Economies Should Turn to Reforms to Improve Growth Amid Policy Tightening,” which I found in a bulletin from the IMF, has been processed and transformed into a summarized form in my system. This is shown by the following image where we can see the structured outcome of this summarization process. This streamlined method significantly aids in my ability to stay informed and efficient.
Smarter Academic Reading Workflow
As a researcher, it’s essential for me to keep up with the latest academic work. To manage and connect research papers to my projects, I’ve set up a straightforward way to import and analyze them.
Reading academic papers can take a lot of time and usually needs some background knowledge to get to the heart of the study. To make this easier, I’ve turned the methods I learned in my research master’s program into a code.
This code uses Semantic Scholar to get information about the paper and its authors, and then it uses chatGPT to break down the content and put it into a clear format. Google Script is what ties all of this together.
The code works through the paper with chatGPT, asking it the kind of essential questions I learned to ask in my master’s classes, and then it arranges the answers neatly. To better understand the paper’s background, it looks up the key references cited, summarizes their abstracts, and then compiles a literature review based on those summaries.
For a closer look at how this works, you can check out a note I’ve made here. This note is organized into four main sections: the paper’s details, a summary with key concepts, an executive summary with the main findings, and the literature review. The first section comes from Semantic Scholar, while the second and third sections are based on the types of questions I was taught to consider during my master’s. The literature review is crafted by summarizing the most influential papers referenced, using Semantic Scholar for abstracts, and chatGPT to write a clear and precise review.
This method lets me go through many more papers, resulting in a richer collection of research, including papers outside my specific field of study. For example, if I’m reading a Financial Times article that mentions a research paper, I can quickly add it to my collection and link it using my process. The image below shows this in action: an FT article on biodiversity cites a study that I’ve then added to my app, pulled out the key info, and connected it to the article.
Smart Query Responses with AI Knowledge Tools
I’m building a personal knowledge management (PKM) system powered by AI to neatly arrange and manage my data. This system features an interactive Chat function that allows me to ask questions about the information I’ve stored. It’s incredibly handy for quickly generating various types of content, from documentation to client emails, proposals, and blog posts.
Here’s how it works in practice: I enter a question like “Can you provide a timeline of the different events that happened in China in 2023?”
The system sifts through my database of around 12,000 notes and pulls together a coherent summary. This is where the true strength of a PKM system shines.
This approach ensures I can absorb and recall a wide array of information every day, making it available exactly when I need it.
Additionally, the app is equipped with a range of functionalities, such as integration with Pocket for saving articles, and a CRM system which automatically adds meeting participants to my contacts, enhancing the management of my professional network.
Dashboard
I develop a comprehensive dashboard that enables me to efficiently monitor my work and research endeavors. It allows me to quickly assess my weekly work progression, understand my monthly and total expenditure on AWS, and identify the main topics of interest within my knowledge base through a visual word cloud.
Furthermore, my time-tracking logs are pivotal in understanding my daily, weekly, and monthly work distribution, as well as in making year-over-year comparisons. This aspect of the dashboard is instrumental in recognizing my work habits, optimizing time management, and quantifying the effects of breaks, such as holidays, on my overall productivity. The image below shows these information.
The graph on the top right displays a dip in hours worked during the weekends compared to the weekdays, ranging from an approximate average of 10 hours a to around 7.5 on the weekend. For the year 2023, the “Yearly productivity” reflects a reduction in productivity, with 1,903 hours on November 10th, due to holidays in March and August. The “Monthly productivity” for 2023 presents variations, but there is an increase to 65% by November 10th, indicating a rebound in my work (increase due to personal reason).
The pie chart shows a significant portion of time this week attributed to tasks related to POC but also Reminder.
Maintaining this organized and accessible dashboard is crucial for managing my current workload and provides valuable insights that assist in future planning and the prioritization of tasks.
Conclusion
Wrapping up the exploration of “Building Bridges in Knowledge,” we’ve delved into my innovative app that seamlessly integrates project management with personal knowledge management. This tool epitomizes the harmonious marriage of structure and intelligence, leveraging Coda’s organizational prowess and Mem’s AI-driven insights.
The app stands as a beacon of efficiency, showcasing the power of bi-directional linking and strategic keyword tagging — core features that mirror the natural connectivity of human thought. It simplifies the management of information, automates tasks, and provides a personalized and intuitive knowledge base.
As I conclude, it’s clear that this system isn’t just a product of technological advancement but a dynamic partner in the management of my professional landscapes. It represents the future of work where every piece of information is meticulously cataloged and easily accessible, paving the way for a more productive and insightful tomorrow.
This narrative doesn’t just mark the end of a discussion but also serves as an open door to the endless possibilities that await in the realm of knowledge management, inviting us all to step into a world where information is a bridge, not a barrier, to innovation and growth.