Budget: 1111 UAH Deadline: 1 day
Good day!
I have thoroughly reviewed both documents, the audit and the technical specifications. The project is clear, and the tasks are formulated correctly. Below is my assessment and proposal.
About me: Backend/fullstack developer, main stack: Laravel, MySQL, Redis, Vue 3, Docker. Experience with catalogs of 10k+ items, understanding of technical SEO (canonical, Schema.org, sitemap, redirects).
Timeline assessment (full-time):
| Tasks 1-2: Stabilization (500 errors, brands, Cloudflare, Redis, search) | 5-7 days |
| Tasks 3-4: SEO infrastructure (redirects, canonical, sitemap, Schema.org) | 5-8 days |
| Tasks 5-7: Media, brand landing pages, expert module | 7-10 days |
| Tasks 8-10: Q&A, reviews, AI consultant, monitoring | 4-7 days |
This does not include server migration and Laravel updates, which I will assess separately after the code audit. Rate: $15/hour.
How I propose to work:
1. Start with an audit of the codebase (1-2 days), gain access to the repo and server, assess the actual state, clarify timelines.
2. Proceed step by step according to the priorities from the technical specifications (red, orange, yellow, green), with acceptance after each block.
3. Make the migration to Contabo the first task. There is no point in optimizing code on an unstable server.
4. Update Laravel after completing the main tasks, as a separate stage. Updating alongside feature development on legacy code is a path to problems.
What I propose to do differently (improvements to the technical specifications):
- Search: Meilisearch instead of TNTSearch. TNTSearch stores the index in files, and with 120k products, there will be memory and speed issues. Meilisearch is the same Scout driver but a separate service, providing instant search, typo tolerance, and facets out of the box. One Docker container, the labor costs are the same.
- AI consultant: RAG instead of a bare prompt. The system prompt "do not invent products" does not work; the LLM will hallucinate. When a user asks a question, it is necessary to first search the catalog through Scout, passing 10-15 relevant products into the API context. Additional costs ~1 day, but the result turns from a toy into a working tool.
- top_category_id: MySQL CTE instead of PHP recursion. Recursive PHP on 120k products means hundreds of thousands of queries. One WITH RECURSIVE CTE does the same in seconds.
- Schema.org: Blade components. Instead of copy-pasting JSON-LD into each template, reusable "x-schema.product", "x-schema.breadcrumb". Easier to maintain across 5-6 types of pages.
- WebP: Cloudflare Polish covers 80% of the task. Since Cloudflare is already connected, Polish automatically converts to WebP upon delivery. A queue job is only needed for thumbnails of specific sizes.
I am ready for long-term cooperation.