-
-
Notifications
You must be signed in to change notification settings - Fork 41
Fix: Remove Intro Message from Auto-Generated Profile Descriptions #113
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
@NayanUnni95 is attempting to deploy a commit to the lamsta Team on Vercel. A member of the Team first needs to authorize it. |
Summary of ChangesHello @NayanUnni95, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request primarily addresses a bug in the AI-generated profile descriptions by refining the Groq API prompt to remove unwanted introductory text, ensuring cleaner and more professional user bios. Concurrently, it introduces SEO content generation for profiles to boost their online visibility. The underlying analytics infrastructure has been upgraded from Nocodb to Supabase for improved data handling, and the project's documentation has been extensively revised to provide clearer guidance for contributors and users. Several frontend components also received updates for better user experience and performance. Highlights
Ignored Files
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request addresses an issue with unwanted introductory text in AI-generated profile descriptions by refining the Groq API prompt. Beyond this fix, the PR introduces several significant enhancements. It adds a new feature to generate SEO-optimized metadata (title, description, keywords) for user profiles. The analytics backend has been migrated from Nocodb to Supabase, with improved data collection including UTM parameters. The UI/UX has been improved, notably in the GitHub username modal which now uses debouncing to validate usernames and provides a better loading state. Documentation has also been substantially updated to improve the contributor experience. My review includes suggestions to improve code robustness, fix inconsistencies in documentation, and remove duplicated code.
| 1. **Clone the Repository:** | ||
| ```bash | ||
| git clone https://github.com/devb-io/devb.io.git | ||
| git clone https://github.com/sunithvs/devb.io.git |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The repository clone URL has been changed to point to a personal fork (sunithvs/devb.io) instead of the organization's repository (devb-io/devb.io). This appears to be an accidental change. Please revert this to point to the main project repository. This also applies to the contribution and license links on lines 109 and 113, which also point to the personal fork.
| git clone https://github.com/sunithvs/devb.io.git | |
| git clone https://github.com/devb-io/devb.io.git |
| If you have any questions, feel free to open an issue or reach out via [support@devb.io](mailto:support@devb.io). | ||
| If you have any questions, feel free to: | ||
| - Open an issue on GitHub | ||
| - Join our [Discord community](https://discord.gg/W364NEY6) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Discord community link appears to be outdated. This file points to https://discord.gg/W364NEY6, while README.md was updated in this same pull request to use https://discord.gg/se8fhSWSw9. Please update this link to ensure consistency across all documentation.
| - Join our [Discord community](https://discord.gg/W364NEY6) | |
| - Join our [Discord community](https://discord.gg/se8fhSWSw9) |
| title = result["title"] | ||
| description = result["description"] | ||
| keywords = result["keywords"] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Accessing dictionary keys directly (e.g., result["title"]) can raise a KeyError if the key is missing from the AI's response, which would cause an unhandled exception. It's safer to use the .get() method, which returns None if the key is not found. The subsequent check on line 63 will then correctly handle cases where keys are missing.
| title = result["title"] | |
| description = result["description"] | |
| keywords = result["keywords"] | |
| title = result.get("title") | |
| description = result.get("description") | |
| keywords = result.get("keywords") |
| // Utility function to detect provider from URL | ||
| const detectProvider = (url: string): string => { | ||
| const urlLower = url.toLowerCase(); | ||
| if (urlLower.includes('medium.com')) return 'medium'; | ||
| if (urlLower.includes('instagram.com')) return 'instagram'; | ||
| if (urlLower.includes('huggingface.co')) return 'huggingface'; | ||
| return 'generic'; | ||
| }; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The detectProvider utility function is also defined in www/components/ProfileSection.tsx. To adhere to the DRY (Don't Repeat Yourself) principle and improve maintainability, this function should be extracted into a single, shared utility file (e.g., lib/utils.ts) and then imported into both api.ts and ProfileSection.tsx.
Summary
Fixed an issue where certain user profiles generated by the Groq API included an unwanted intro message before the actual description.
Closes #86
Description
Some auto-generated profile descriptions contained the following introductory line:
This message was unintentionally included due to the current Groq API prompt format.
The prompt has been updated to ensure the final output only contains the first-person profile description, removing all meta or instructional text.
Motivation and Context
This change ensures that user profiles remain clean and professional without extra text that doesn’t belong in the final output.
It resolves the issue reported in profiles such as agastya18 and shaheem-pp, where the extra line was visible.
Fixing this improves the consistency and quality of generated bios, aligning them with the intended format.
How has this been tested?
All test profiles now generate clean, first-person descriptions without the unwanted preface.
Screenshots (if appropriate):
Before
After
Types of changes
Checklist: