{"id":31600251,"url":"https://github.com/mandilkhadka/linkedin-post-generator","last_synced_at":"2026-05-07T13:15:29.447Z","repository":{"id":317221489,"uuid":"1064507640","full_name":"mandilkhadka/LinkedIn-Post-Generator","owner":"mandilkhadka","description":"AI-powered Rails app that transforms raw notes into polished, post-ready LinkedIn content with tone, length, hashtag customization and much more features to come.","archived":false,"fork":false,"pushed_at":"2025-09-29T15:11:04.000Z","size":1179,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-09-29T17:21:26.305Z","etag":null,"topics":["gemini-api","postgresql","ruby","ruby-on-rails","stimulus-js","turbo"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mandilkhadka.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-26T06:19:50.000Z","updated_at":"2025-09-29T15:11:08.000Z","dependencies_parsed_at":"2025-10-01T07:45:57.154Z","dependency_job_id":null,"html_url":"https://github.com/mandilkhadka/LinkedIn-Post-Generator","commit_stats":null,"previous_names":["mandilkhadka/linkedin-post-generator"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/mandilkhadka/LinkedIn-Post-Generator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mandilkhadka%2FLinkedIn-Post-Generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mandilkhadka%2FLinkedIn-Post-Generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mandilkhadka%2FLinkedIn-Post-Generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mandilkhadka%2FLinkedIn-Post-Generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mandilkhadka","download_url":"https://codeload.github.com/mandilkhadka/LinkedIn-Post-Generator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mandilkhadka%2FLinkedIn-Post-Generator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278572004,"owners_count":26008686,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gemini-api","postgresql","ruby","ruby-on-rails","stimulus-js","turbo"],"created_at":"2025-10-06T06:55:01.190Z","updated_at":"2025-10-06T06:55:06.857Z","avatar_url":"https://github.com/mandilkhadka.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"app/assets/images/banner.png\" alt=\"LinkedIn Post Drafting App Banner\" /\u003e\n\u003c/p\u003e\n\n# ✍️ LinkedIn Post Drafting App\n![Ruby](https://img.shields.io/badge/Ruby-3.1-red?logo=ruby\u0026logoColor=white)\n![Rails](https://img.shields.io/badge/Rails-7.0-red?logo=rubyonrails\u0026logoColor=white)\n![PostgreSQL](https://img.shields.io/badge/Postgres-Database-blue?logo=postgresql\u0026logoColor=white)\n![Gemini](https://img.shields.io/badge/Gemini-API-4285F4?logo=google\u0026logoColor=white)\n![License](https://img.shields.io/badge/License-MIT-green)\n\nTurn your messy notes into polished, post-ready LinkedIn content with the power of AI.\nBuilt with **Rails 7 + Gemini API** for makers, founders, and anyone who struggles with\n“How do I start this post?”\n\n---\n\n## 🌟 What It Does\n\n- 📝 Paste your raw notes or half-baked ideas.\n- 🎨 Choose a tone → Professional, Friendly, Witty, or Inspirational.\n- 📏 Pick a length → Short, Medium, or Long.\n- 🔖 Let AI sprinkle in relevant hashtags (optional).\n- 📚 Save your drafts, refine later, and post with confidence.\n\n---\n\n## 🛠 Tech Stack\n\n- **Ruby on Rails 7**\n- **PostgreSQL** (storage)\n- **Gemini API** (AI magic ✨)\n- **dotenv-rails** (safe secrets)\n\n---\n\n## 🚀 Getting Started\n\n### 1️⃣ Clone this repo\n```bash\ngit clone https://github.com/your-username/linkedin-post-drafting-app.git\ncd linkedin-post-drafting-app\n```\n\n### 2️⃣ Install dependencies\n```bash\nbundle install\n```\n\n### 3️⃣ Configure secrets\n```\nCreate a .env file in the project root:\nenv\nGEMINI_API_KEY=your-gemini-api-key-here\nDATABASE_URL=postgres://user:password@localhost:5432/linkedin_dev\n⚠️ Never commit your API key to GitHub.\n```\n### 4️⃣ Setup the database\n```bash\nrails db:create db:migrate\n```\n### 5️⃣ Run the app\n```bash\nrails server\nThen open 👉 http://localhost:3000\n```\n\n### 🎬 Demo Flow\n```\n✍️ Drop in some quick notes:\n\"launched new feature, boosted user growth 30%\"\n\n🎭 Pick your vibe → Witty\n📏 Choose length → Short\n🔮 Hit Generate Draft\n\n🎉 Boom → “We just hit a huge milestone…” (AI polishes it up).\n```\n### 📂 Project Anatomy\n```\napp/models/post.rb → Notes + AI output storage\n\napp/services/gemini_service.rb → The brain (calls Gemini API)\n\napp/controllers/posts_controller.rb → The traffic cop 🚦\n\napp/views/posts/ → Simple UI forms + results\n```\n\n## 🛣 Roadmap\n```\n- 🛠 Refactoring → Code works, but needs cleanup and optimization\n- ⏳ Async generation with background jobs\n- 🔴 Live-stream drafts via ActionCable\n- 🔐 User accounts (multi-user)\n- 📤 One-click publish to LinkedIn\n- 🎨 Sleeker UI with TailwindCSS\n- 📱 Mobile-friendly UI for on-the-go post drafting\n- 🌐 Multi-language support (English, Japanese, more)\n- ✍️ Rich text editor with formatting \u0026 emoji picker\n- 📊 Post analytics dashboard (views, engagement, performance)\n- 🤖 Smarter hashtag + keyword suggestions\n- 🔔 Draft reminders \u0026 scheduling\n- 🧑‍🤝‍🧑 Team collaboration (share + edit drafts together)\n```\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmandilkhadka%2Flinkedin-post-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmandilkhadka%2Flinkedin-post-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmandilkhadka%2Flinkedin-post-generator/lists"}