[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-foligo-ai-powered-conversational-portfolio-generator":3},{"id":4,"title":5,"slug":6,"excerpt":7,"contentType":8,"content":9,"metadata":10,"status":23,"createdAt":24,"updatedAt":25,"startDate":26,"endDate":27,"isOngoing":11,"featuredImage":28,"projectLinks":29,"contributors":31,"experienceCategory":27,"location":27,"locationType":27,"tags":32,"linkedSkills":55,"roles":94,"isPublished":11,"contentLinks":95,"body":-1,"markdown":-1,"html":-1},"f4ca37f6-c2c4-4b72-8932-3b90e38069f8","Foligo: AI-Powered Conversational Portfolio Generator","foligo-ai-powered-conversational-portfolio-generator","An award-winning platform that transforms verbal project descriptions into polished portfolio pieces, blog posts, and social media content using a conversational AI.","PROJECT","## Overview\n\nFoligo is an award\\-winning \\(HackPSU\\, Fall 2025\\) AI\\-powered platform designed to eliminate the friction in portfolio creation\\. It transforms a user\\'s simple verbal description of a project into polished portfolio content\\, blog posts\\, and social media updates in minutes\\. The platform addresses a common pain point for students and professionals\\: the lack of time and motivation to meticulously document their work\\, which often leads to outdated portfolios and missed career opportunities\\.\n\nOur solution turns traditionally unproductive time\\, such as walking between classes or commuting\\, into valuable content creation sessions\\. A user engages in a conversation with our AI assistant\\, which asks intelligent\\, clarifying questions to gather project details\\. From this single conversation\\, Foligo instantly generates a detailed portfolio write\\-up\\, a professional LinkedIn post\\, and a concise update for platforms like X\\, effectively bridging the gap between idea and a live\\, polished portfolio piece\\.\n\n## Key Features\n\n- **Conversational Content Generation\\:** The core of Foligo is an intelligent AI assistant\\, powered by Google Gemini\\, that engages users in a natural\\, multi\\-turn conversation to extract key project details\\, challenges\\, and outcomes\\.\n\n- **Voice\\-First Interface\\:** A fully hands\\-free experience is enabled through the ElevenLabs API\\, which provides high\\-fidelity\\, low\\-latency speech\\-to\\-text and text\\-to\\-speech\\, allowing users to build their portfolio entirely by talking\\.\n\n- **Multi\\-Platform Output\\:** From a single conversation\\, the platform generates three distinct pieces of content\\, each tailored for a different audience\\: a comprehensive portfolio entry\\, a professional LinkedIn summary\\, and a brief X \\(formerly Twitter\\) update\\.\n\n- **Accessible by Design\\:** The voice\\-driven workflow provides a powerful alternative to traditional keyboard and mouse interfaces\\, making portfolio creation accessible to users with motor impairments or those who find extensive typing difficult\\.\n\n## Technologies \\& Implementation\n\nFoligo is built on a modern\\, robust technology stack designed for real\\-time interaction and scalability\\. The backend is architected with Node\\.js and Express\\.js\\, an ideal choice for its non\\-blocking I\\\u002FO capabilities\\, which efficiently handle concurrent API calls to our AI services\\. PostgreSQL was selected as our primary database for its data integrity and reliability in storing user and project information\\.\n\nThe frontend is a responsive web application built with Next\\.js and React\\, styled with Tailwind CSS\\. The core AI functionality relies on two key integrations\\: the Google Gemini API for the conversational engine and content generation\\, and the ElevenLabs API for high\\-quality voice processing\\. All services are connected via a custom\\-built RESTful API secured with JWT for authentication\\.\n\n```mermaid\ngraph TD\n    A[\"User (Voice Input)\"] --> B[\"Next.js\u002FReact Frontend\"];\n    B \u003C--> C[\"ElevenLabs API (STT\u002FTTS)\"];\n    B --> D[\"Node.js\u002FExpress REST API\"];\n    D --> E[\"Google Gemini API (Conversation & Generation)\"];\n    D \u003C--> F[\"PostgreSQL Database\"];\n\n```\n\n## Challenges \\& Solutions\n\nOne of the most significant challenges was engineering a multi\\-turn conversational AI that maintains context and asks relevant\\, non\\-repetitive questions\\. A naive implementation resulted in generic and repetitive interactions\\. We overcame this through meticulous prompt engineering for the Gemini API\\, designing a stateful system that guides the conversation logically and captures nuanced project details through extensive iterative testing\\.\n\nWe also faced a critical infrastructure pivot\\. Our initial plan to use self\\-hosted open\\-source speech and language models on Vultr and Digital Ocean GPU instances was blocked when we were denied high\\-compute resources\\. We adapted quickly by re\\-architecting our voice processing pipeline to integrate the ElevenLabs API\\, which provided a production\\-grade\\, low\\-latency solution\\. This pivot allowed us to meet our hackathon deadline while still leveraging Vultr and Digital Ocean CPU servers for hosting our web application and database\\.\n\n## Results \\& Impact\n\nFoligo was awarded a winning prize at the HackPSU Fall 2025 hackathon\\, validating the project\\'s innovative solution to a real\\-world problem\\. We successfully built and demonstrated a fully functional\\, end\\-to\\-end application that seamlessly integrates multiple complex AI APIs into a single\\, intuitive user experience\\.\n\nThe platform\\'s primary impact is its ability to drastically reduce the time and effort required for portfolio maintenance\\. By generating three distinct\\, high\\-quality content pieces from a single 5\\-minute conversation\\, Foligo empowers users to keep their professional presence current and compelling\\. Future plans include an AI\\-powered image selection tool that analyzes project URLs to find relevant visuals and an interview preparation module that uses a user\\'s portfolio data to create personalized practice sessions\\.\n\n_Foligo Dashboard_\n\n![image.png](https:\u002F\u002Fapi.foligo.tech\u002Fapi\u002Fmedia\u002Fc0178375-242d-4e42-b972-03b9caf5ca0f\u002Ffile)\n\n_Foligo Content Editor_\n\n![image.png](https:\u002F\u002Fapi.foligo.tech\u002Fapi\u002Fmedia\u002F357b1450-9cc3-4248-98d0-22e60cc9b5d5\u002Ffile)\n\n## Links\n\n- [Live Demo](https:\u002F\u002Ffoligo.tech\u002F)\n\n- [View on GitHub](https:\u002F\u002Fgithub.com\u002Ftgmstudios\u002Ffoligo)\n\n- [DevPost Project](https:\u002F\u002Fdevpost.com\u002Fsoftware\u002Ffoligo)",{"isOngoing":11,"startDate":12,"aiGenerated":11,"generatedAt":13,"contributors":14,"projectLinks":18},true,"2025-10-01","2025-11-16T22:57:41.872Z",[15,16,17],"Jason Selsley","Ryan Nair","Matthew Witmer",{"other":19,"github":21,"devpost":22},[20],"https:\u002F\u002Ffoligo.tech\u002F","https:\u002F\u002Fgithub.com\u002Ftgmstudios\u002Ffoligo","https:\u002F\u002Fdevpost.com\u002Fsoftware\u002Ffoligo","PUBLISHED","2025-11-16T22:57:45.682Z","2026-01-23T23:41:39.600Z","2025-10-01T00:00:00.000Z",null,"https:\u002F\u002Fapi.foligo.tech\u002Fapi\u002Fmedia\u002F790d429a-1550-44fe-94a2-df4ae2e158cf\u002Ffile",{"other":30,"github":21,"devpost":22},[20],[15,16,17],[33,37,40,44,48,52],{"id":34,"name":35,"category":36},"e3896595-e166-4d3e-a2f3-0e1e24f57a41","Web Development","Domain",{"id":38,"name":39,"category":36},"def91d8f-4385-47d5-9721-d8eab1698756","Artificial Intelligence (AI)",{"id":41,"name":42,"category":43},"01a3ee14-d711-42cb-81be-c2a844ab7a4f","Hackathon Winner","Achievement",{"id":45,"name":46,"category":47},"263c1c10-912c-4f72-a3e0-a439473c772b","Voice UI","Feature",{"id":49,"name":50,"category":51},"226a4a79-550f-43a7-a43e-9b314e00b62d","Prompt Engineering","Technical",{"id":53,"name":54,"category":51},"95ebac47-6a5e-466e-b138-89c8bffe566f","API Integration",[56,60,63,67,71,74,78,81,85,88,91],{"id":57,"name":58,"category":59},"153dbaa9-b2f5-4f68-9046-0957dde01a10","Node.js","Backend Framework",{"id":61,"name":62,"category":59},"8181b1db-5597-4d12-8625-a37d4a3c2e94","Express.js",{"id":64,"name":65,"category":66},"c2541394-7e2f-4326-96f3-89e895191e16","PostgreSQL","Database",{"id":68,"name":69,"category":70},"c378a443-be25-41f3-90e0-c33d9ed854f1","Next.js","Framework",{"id":72,"name":73,"category":70},"59892a4f-a508-4c07-8189-444d7907b473","React",{"id":75,"name":76,"category":77},"27a113ac-e951-4aca-aecc-253f5fba7364","Google Gemini","DevOps Tool",{"id":79,"name":80,"category":77},"654d8c65-81d6-4d2d-931d-d332430acef5","ElevenLabs API",{"id":82,"name":83,"category":84},"31b961ca-4b9b-47ca-96e1-34de08a88e95","DigitalOcean","Cloud Platform",{"id":86,"name":87,"category":66},"4e460fba-8add-4eba-96b5-3d3faae0941a","Redis",{"id":89,"name":90,"category":77},"e052a70f-5a03-4602-aa32-a2c3d7333b6a","REST API",{"id":92,"name":93,"category":77},"e3966f18-4ae7-4453-a7eb-76c9dd2b1d9b","JWT",[],[96,103,109,114,120],{"id":97,"sourceId":98,"targetId":4,"sourceType":8,"targetType":99,"linkType":100,"createdAt":101,"updatedAt":101,"linkedContent":102},"93ca05c3-2204-42d5-8399-fbbba050b532","407b2c8f-29e8-4b28-8d88-292e43df44ba","content","related","2025-11-17T03:58:50.202Z",{"id":4,"title":5,"slug":6,"excerpt":7,"contentType":8},{"id":104,"sourceId":105,"targetId":4,"sourceType":8,"targetType":99,"linkType":106,"createdAt":107,"updatedAt":107,"linkedContent":108},"9be036ca-a14f-4b07-91b9-1ad8bfebff65","182ad810-e460-491b-9cb8-f9ae30b73e1b","complementary","2025-11-17T03:58:50.125Z",{"id":4,"title":5,"slug":6,"excerpt":7,"contentType":8},{"id":110,"sourceId":111,"targetId":4,"sourceType":8,"targetType":99,"linkType":100,"createdAt":112,"updatedAt":112,"linkedContent":113},"812a09fb-905d-4d41-b24e-69cfd73bba7c","bdf077ca-f246-474a-b2be-df726b5bea55","2025-11-17T03:58:50.113Z",{"id":4,"title":5,"slug":6,"excerpt":7,"contentType":8},{"id":115,"sourceId":116,"targetId":4,"sourceType":8,"targetType":99,"linkType":117,"createdAt":118,"updatedAt":118,"linkedContent":119},"c8da4866-ae4c-434e-84be-b10e89c3b894","81307bd8-e718-4b92-af34-5e79506781d0","prerequisite","2025-11-16T23:13:42.602Z",{"id":4,"title":5,"slug":6,"excerpt":7,"contentType":8},{"id":121,"sourceId":105,"targetId":4,"sourceType":8,"targetType":99,"linkType":122,"createdAt":123,"updatedAt":123,"linkedContent":124},"553e3afa-74cf-4688-9f52-dc9ab61370b3","child","2025-11-16T23:13:42.585Z",{"id":4,"title":5,"slug":6,"excerpt":7,"contentType":8}]