The devlog-ist/landing project focuses on creating landing pages and portfolio sites. Recently, efforts have been made to enhance user profiles by adding new fields and integrating AI-powered data extraction from CV uploads.
New Profile Fields
Two new profile fields, technologies and notable_projects, have been added to user profiles. These fields allow users to showcase their skills and accomplishments more effectively. A database migration was implemented to accommodate these new fields.
Filament Repeaters and Visibility Toggles
Filament repeaters were used to manage the input of multiple technologies and notable projects. Visibility toggles provide users with control over which sections are displayed on their portfolio.
AI-Powered CV Upload
A key feature is the AI-powered CV upload functionality. When a user uploads their CV, the system extracts profile data using Prism's structured output capabilities. This automates the population of profile fields, saving users time and effort.
Let's illustrate a simple example of how data extraction could be handled in Go:
package main
import (
"fmt"
)
type ProfileData struct {
Technologies []string `json:"technologies"`
Projects []string `json:"projects"`
}
func extractDataFromCV(cvContent string) (ProfileData, error) {
// Simulate AI-powered data extraction
data := ProfileData{
Technologies: []string{"Go", "React", "Docker"},
Projects: []string{"Landing Page", "API Service"},
}
return data, nil
}
func main() {
cvContent := ""
profileData, err := extractDataFromCV(cvContent)
if err != nil {
fmt.Println("Error extracting data:", err)
return
}
fmt.Printf("%+v\n", profileData)
}
This Go example simulates the extractDataFromCV function, which would ideally use a service like Prism to extract structured data from a CV's text content. The extracted data is then mapped to a ProfileData struct.
Display and Translation
The new sections for technologies and notable projects are displayed in all eight portfolio theme stats views. Translations for these sections have been added in four languages to support a global audience.
Takeaway: Consider integrating AI-powered data extraction to streamline user profile creation and enhance the user experience in your projects.
Top comments (0)