← Missions

Next.js + Supabase Developer Needed for AI-Powered Content Management Platform

Budget: $600.0 FIXED / ⭐ 4.96 (17) Portugal

typescript, postgresql, react-js, node.js

# Admin Content Management Platform with Supabase, Audio Generation, Transcription and LLM Review ## Project Overview We need a developer to build a simple admin platform for managing articles and publishing approved content to Supabase. The platform will be used internally by our team to create articles, generate audio versions, generate transcriptions, improve/correct those transcriptions using an LLM, review everything manually, and approve the final content before it becomes published. This is an internal admin tool, so authentication can be simple and hard-coded using environment variables. ## Tech Requirements Preferred stack: * Next.js / React * TypeScript * Supabase * TailwindCSS or similar UI framework * Server-side API routes or backend functions where needed * Integration with an LLM provider * Integration with a text-to-speech / audio generation provider * Integration with a transcription provider, or an agreed transcription API The developer should write clean, maintainable code and document any required environment variables. ## Authentication Create a simple admin login page. Authentication should be handled using hard-coded credentials stored in environment variables, for example: * `ADMIN_EMAIL` * `ADMIN_PASSWORD` No user registration is needed. Once logged in, the admin should be able to access the admin dashboard. Unauthenticated users should be redirected to the login page. ## Supabase Integration The application needs to integrate with Supabase for: * Storing article data * Storing article content * Storing generated audio metadata * Storing transcription data * Storing corrected transcription data * Managing article status * Publishing approved articles * Optionally storing audio files in Supabase Storage The developer should either use an existing Supabase schema that we provide or suggest and implement a clean schema if needed. Suggested article statuses: * Draft * Audio Generated * Transcription Generated * LLM Corrected * Ready for Review * Approved * Published * Failed / Needs Fix ## Admin Dashboard Create an admin dashboard where the admin can: * View all articles * Filter articles by status * Search articles by title or slug * See which articles are already published * See which articles still need audio, transcription, correction, or approval * Open an article detail page * Edit article content before publishing * Approve an article for publication ## Add Article Page Create a page where the admin can add a new article. The form should include fields such as: * Title * Slug * Short description / excerpt * Article content * Level, if applicable * Category or topic, if applicable * Language, if applicable * Publication status * Metadata needed by Supabase After saving, the article should be stored in Supabase as a draft. ## Article Detail / Review Page Each article should have a detail page where the admin can: * View and edit the article title * View and edit the article content * Generate audio from the article content * View the generated audio * Play the generated audio * Generate a transcription from the audio * View and edit the transcription * Correct/improve the transcription using an LLM * View the corrected transcription * Manually edit the corrected transcription * Approve the final version * Publish the final approved article to Supabase ## Audio Generation The developer needs to implement functionality to generate audio from the article content. Expected behavior: 1. Admin clicks “Generate Audio”. 2. The system sends the article content to the selected text-to-speech provider. 3. The generated audio file is saved. 4. The audio file URL and metadata are stored in Supabase. 5. The admin can play the audio from the article detail page. The implementation should handle errors and show the current generation status to the admin. ## Transcription Generation After audio is generated, the admin should be able to generate a transcription. Expected behavior: 1. Admin clicks “Generate Transcription”. 2. The system sends the generated audio file to a transcription provider. 3. The transcription result is stored in Supabase. 4. The admin can view and edit the transcription. Ideally, the transcription should support timestamps or segments if the transcription provider returns them. ## LLM Transcription Correction After transcription is generated, the admin should be able to improve or correct the transcription using an LLM. The LLM should compare the original article content with the generated transcription and produce a corrected version. Expected behavior: 1. Admin clicks “Correct Transcription with AI”. 2. The system sends the article content and transcription to the LLM. 3. The LLM returns a corrected transcription. 4. The corrected transcription is saved in Supabase. 5. The admin can review and manually edit the corrected version before approval. The LLM correction should preserve the structure of the transcription as much as possible. If timestamps/segments exist, the system should try to keep them usable. ## Approval and Publishing Flow The admin should be able to approve the article only after the required steps are complete. Required steps before publishing: * Article content exists * Audio has been generated * Transcription has been generated * Transcription has been corrected or approved * Admin has reviewed the final version When the admin clicks “Approve / Publish”: * The article status should be updated in Supabase * The article should become available as published content * The final approved article content, audio URL, transcription, and corrected transcription should be stored ## Error Handling and Logs The admin should be able to see if a generation step failed. For example: * Audio generation failed * Transcription failed * LLM correction failed * Supabase upload failed Each failed step should show a clear error message and allow the admin to retry. ## Environment Variables The developer should document all required environment variables, such as: * Supabase URL * Supabase anon key * Supabase service role key, if needed * Admin email * Admin password * LLM API key * Text-to-speech API key * Transcription API key * Storage bucket name, if applicable ## Deliverables The final delivery should include: * Working admin login page * Working admin dashboard * Article creation page * Article detail/review page * Supabase integration * Audio generation flow * Transcription generation flow * LLM correction flow * Approval and publishing flow * Error handling and retry buttons * Clear documentation for setup and environment variables * Clean and maintainable code ## Acceptance Criteria The project will be considered complete when: 1. Admin can log in using environment variable credentials. 2. Admin can create a new article. 3. Article data is saved in Supabase. 4. Admin can generate audio from the article content. 5. Generated audio is saved and playable from the admin page. 6. Admin can generate a transcription from the audio. 7. Admin can correct the transcription using an LLM. 8. Admin can manually edit the article, transcription, and corrected transcription. 9. Admin can approve and publish the article. 10. Published content is correctly stored in Supabase. 11. Failed generation steps show useful error messages and can be retried. 12. The developer provides setup instructions and environment variable documentation. ## Notes This is an internal tool, so the UI does not need to be highly polished, but it should be clean, usable, and reliable. We value simple, maintainable implementation over unnecessary complexity.
Ouvrir sur Upwork