Unveiling DPHA: My Journey in Creating a GPT-Based Developer Assistant

A futuristic AI assistant represented as an abstract digital entity, with glowing neon lines and digital elements symbolizing advanced technology and intelligence. The background is a complex network of digital nodes and connections, illustrating a high-tech, interconnected environment. The assistant is not humanoid but rather an intricate, luminous, and dynamic digital construct, showcasing the essence of an AI operating in a virtual space.

Harnessing LinkedIn’s Open-Source Framework for Enhanced Developer Productivity

I’m excited to share with you a fascinating project I’ve been working on recently – the creation of a GPT Assistant, which I’ve affectionately named the Developer Productivity and Happiness Assistant (DPHA).

LinkedIn’s Open-Source Framework: A Catalyst for Innovation

Recently, LinkedIn made headlines by sharing its Developer Productivity Framework (The New Stack article) and opening its doors to the broader tech community through their GitHub repository. Inspired by this, I embarked on an intriguing journey to transform this framework into a practical AI tool.

The Birth of DPHA: From Concept to Reality in Fifteen Minutes

Believe it or not, converting this repository into a GPT Assistant was a remarkably swift process, taking about fifteen minutes. You can check out the DPHA here. This swift turnaround was an eye-opener, showcasing the immense potential and efficiency of AI in modern software development.

Exploring the GPT Store: A New Avenue for Monetization

As someone keenly interested in the evolving landscape of AI, I’ve been exploring the idea of creating GPTs as a potential revenue stream, especially with the emergence of OpenAI’s app store (Forbes article). DPHA is my first foray into this domain.

Spreading the Word: LinkedIn and GitHub Discussions

To gauge interest and gather feedback, I’ve shared DPHA with my LinkedIn network and also posted a link to the GitHub discussion for the repository (GitHub Discussion). These platforms are excellent for attracting traffic and engaging with potential users, especially developers who might benefit from this tool.

Test Driving DPHA: A Glimpse into the AI’s Capabilities

My first interaction with DPHA was simple yet revealing. I started with a “let’s get started” prompt and followed the assistant’s lead. The conversation was insightful, with DPHA adeptly handling queries and offering valuable suggestions based on the Developer Productivity Framework. Here’s a snippet of our conversation, tailored to my context.


Business Context:

  • DAO Operating Model: Unique collaborative and decision-making processes.
  • Focus on LLM-Based Tools: High engagement with cutting-edge AI technologies.
  • Participation in Tech Sprint: Opportunity for recognition and scaling.

Team and Tools:

  • Small Team with Diverse Experience: Your extensive tech experience combined with Laren’s current academic perspective.
  • Current Tools: GitHub, IntelliJ/PyCharm, OpenAI, various FOSS projects.
  • Pain Point: Transitioning from Replit to GCS with proper CI/CD pipelines using GitHub Actions.

Goals and Challenges:

  • 2024 Goals: Enhancing personal automation projects, succeeding in the challenge.org tech sprint, launching GPT assistants, and building tools for personal branding.
  • Pain Points: Deployment issues, desire for smoother CI/CD processes.
  • Metrics and Feedback: Basic time tracking, concerns about code quality and build integrity.

Recommendations:

Workflow Optimization:

    • Transition to GCS: Plan a phased migration to Google Cloud Services, ensuring minimal disruption. Start with less critical components to gain familiarity.
    • CI/CD Pipeline: Implement GitHub Actions for continuous integration and delivery. Start with basic build and test automation and gradually incorporate more complex workflows.

    Metrics and Feedback Systems:

    • Code Quality Metrics: Integrate tools like SonarQube or CodeClimate with your GitHub repository to automatically review code quality and maintain clean code.
    • Build and Deployment Metrics: Track build success rates, deployment frequency, and time-to-recovery in case of failures.
    • Time Tracking Review: Schedule regular reviews of time tracking data to identify bottlenecks or inefficiencies in your development process.

    Team Collaboration and Growth:

    • Regular Check-ins: Have weekly sync-ups with your team to discuss progress, challenges, and brainstorm solutions.
    • Learning and Development: Encourage Laren to bring in new ideas from her academic background and allocate time for learning new technologies and best practices.

    Project Management:

    • Agile Practices: Implement agile methodologies like Scrum or Kanban to manage your projects. This can help in better handling your diverse project portfolio.
    • Task Management Tool: Use tools like Trello or Jira for better task visibility and prioritization.

    Risk Management:

    • Version Control Best Practices: Ensure that you’re using feature branches, pull requests, and code reviews to maintain code quality and prevent breaking the build.
    • Backup and Recovery Strategies: Regularly back up your code and have a disaster recovery plan, especially important when working with cloud services.

    Innovation and Experimentation:

    • Blockchain and AI Integration: Keep experimenting with blockchain and AI in your personal projects, as this aligns with your interest and business model.

    Participation in Challenge.org Tech Sprint:

    • Focus on MVP: Concentrate on building a Minimum Viable Product (MVP) for the tech sprint, leveraging your strengths in AI and blockchain.

    Building Personal Brand:

    • GPT Assistants Deployment: Progress with deploying GPT assistants on the OAI store, potentially using this as a case study or showcase for your brand.

    Navigating the Ups and Downs of AI and Blockchain Development: A Real-World Saga

    A futuristic workspace with advanced AI and blockchain technology, featuring screens displaying complex code and digital interfaces, amidst a modern, sleek office environment. The setting is vibrant yet professional, embodying the cutting-edge nature of AI and blockchain development.

    From Technical Hurdles to Unexpected Downtimes – Lessons Learned in the Trenches of Tech Innovation


    In the ever-evolving world of AI and blockchain, we often encounter a myriad of challenges, some anticipated and others completely unforeseen. Our recent experience serves as a testament to this unpredictable journey. Last Friday, we started encountering issues with our OpenAI assistant, deployed through a Chainlit app. For those unfamiliar, Chainlit is akin to Streamlit but with a Python backend and a React frontend, a blend of technological sophistication.

    Our initial task seemed straightforward – uploading a PDF and several markdown files as source documents to enhance our app’s user experience. However, the challenge lay in properly displaying these citations in the UX. The complexities of this task led us down a rabbit hole of technical intricacies. We faced peculiar issues with the model’s response, especially when it came to retrieving information from the database. An instance that stood out was when a query about taking a day off on a birthday yielded no relevant results from the documents, leading to confusing model responses.

    Determined to resolve this, we dived deeper, fine-tuning our approach. We realized that when no results were found, it was best to assume the documents didn’t cover the queried topic. Yet, this was just the tip of the iceberg. As we delved further, testing and tweaking, more bizarre responses emerged. The model reported technical difficulties in reading documents, yet contradictorily, it displayed search results.

    Amidst this chaos, we discovered another glaring issue – the redundancy of file uploads. We had inadvertently uploaded the same file numerous times, a clear oversight in our workflow. This necessitated a thorough cleanup and recreation of our assistants, ensuring everything functioned seamlessly in our playground tests and in the app.

    The real twist came when we recognized that the root of our troubles lay not within our code or approach but with OpenAI’s retrieval runs. Their models were not performing as expected, leading us to some prompt engineering adjustments. Frustrated and exhausted, we decided to pause and revisit the problem with a fresh perspective on Monday.

    Monday brought its own set of surprises. Our return was greeted by a non-functional app, thanks to Chainlit Cloud being down. This downtime was a significant blow as Chainlit Cloud is integral to our data persistence layer, storing user maps and conversation databases. It’s akin to how ChatGPT displays threads of conversations. This persistence is crucial for our app’s functionality.

    Rushing to the Chainlit Discord server, which I hadn’t joined until then, I learned that their cloud service was undergoing an update. This revelation was both horrifying and enlightening. In response, we disabled data persistence on our production server as a temporary fix and spent the day refactoring our code to adapt to the new Chainlit Cloud version.

    This refactoring journey was not just about code. It was about understanding and integrating changes from the Chainlit cookbook, separating our custom code, and preserving the essence of third-party contributions. We faced dilemmas about merging different code histories and ensuring our customizations, especially around the assistant’s citation returns, were seamlessly integrated.

    Our approach was to move our customizations into a separate file and import Chainlit’s updated cookbook as a utility. This method, while effective, brought its own set of challenges. Chainlit functions uniquely, with Python on the backend and a React frontend, a system that allows for deployment on platforms like Replit. Our goal was to customize this frontend without bloating the repository.

    The downtime also highlighted a critical migration issue with Chainlit Cloud, now rebranded as Literal AI. They had changed key determinations and OAuth methods, leading to a temporary loss of our historical data. This situation underlined the importance of staying attuned to dependencies and the risks involved in relying on external services.

    Despite these challenges, we emerged with valuable insights and a stronger, more resilient application. Our journey with Chainlit and OpenAI continues, marked by both triumphs and tribulations. As we progress, we remain committed to exploring and harnessing the immense potential of AI and blockchain technology, ready to tackle whatever hurdles come our way.