Project S
A production Symfony application.
973 findings Open the Project S reportSend a repository link and get a reviewer report: findings with the reason, the file and the code itself. You make the call. The report never does.
Request a pilot See a sample report
Early access for PHP. Rateo recognises Symfony projects today, and Laravel too. The same code always gets the same report, and no AI model is involved.
Send the repository. Share the link to the candidate's submission.
Get the findings. Rateo recognises a Symfony project and works out what each file is, so a 600 line controller is flagged and a 600 line migration is not. Today it checks size, complexity, duplication, naming and security: long files, classes and functions, functions with too many paths, blocks repeated inside a file, unclear or inconsistent names, and risky code such as eval, shell commands, SQL with values pasted in, request input never sanitized and output never escaped. Symfony rules, tests and repository hygiene come next, and pilot teams shape the order.
Check and decide. Every finding shows why it matters, where it is and the code, so you can verify it in seconds and spend your time on the follow up interview.
Same code, same report. Every submission is checked by the same written rules, so two candidates are compared fairly, and running it again gives the same result.
Every finding explained. A reason, a file and the code, never a guess you have to double check.
Seconds, not half an hour. The report is ready before you open the repository. No AI model reads the candidate's code.
The rules that check a take home work just as well on your team's code.
Inherited or legacy code. Get a map of where to start: the largest, most complex and most duplicated places, each with its reason. It's a starting point for a refactoring plan, not a debt score.
A guardrail in your pipeline (coming). Set your own bar for your team's code, or simply "never worse than before", and fail the build when a change crosses it.
A referee for your AI agent (coming). The agent fixes the listed findings and runs Rateo again. The same code always gets the same answer, so the agent can't talk its way past the check.
A bar like this is for your own code. On a candidate's code, Rateo never sets a pass mark.
There is no Symfony take home sample yet, so here is real Symfony code of two kinds, reported by the engine: a production application and the framework's own demo. Each report starts with what Rateo checks, then the grades and the places worth a closer look. Open one and check any finding against the full engine output it links.
platform PHP: Symfony (composer.json requires symfony/framework-bundle; bin/console)
| File | Role | Findings |
|---|---|---|
src/Infrastructure/Symfony/Http/Controller/Web/Admin/ProductController.php | other | 35 |
src/Infrastructure/Symfony/Http/Controller/Web/User/ProductController.php | other | 25 |
src/Infrastructure/Symfony/Http/Controller/Web/Admin/UserController.php | other | 22 |
src/Infrastructure/Symfony/Http/Controller/Web/Admin/PaymentController.php | other | 21 |
src/Infrastructure/Symfony/Http/Controller/Web/Customer/ProductController.php | other | 21 |
A production Symfony application.
973 findings Open the Project S report3.1.0, the official reference application of the Symfony framework.
7 findings Open the Symfony Demo reportProject S is a real production application, anonymised and shown with the owner's permission: names that identify it are replaced by stand ins of the same length, so every number is what the engine prints for the original code. Symfony Demo is the public MIT licensed demo, named so you can download it and check. Every finding was produced by the engine, and nothing was removed or edited. The full engine output is linked from each report.
Tell us a little about how you review. If you ask for a pilot, you'll get a reply within a few working days.
No. It lists findings with reasons and locations, and a score per dimension. The samples built from the engine also show an overall grade: a weighted summary of those scores, with the sum shown so you can recompute it. It is not a pass mark, and there is no hire or no hire verdict. The decision stays with your reviewer.
The report reviews the code that was submitted, however it was written. It points out what a reviewer would check anyway, so your follow up interview can focus on the candidate's reasoning.
An agent can answer differently each time you run it, so different candidates get judged differently. Rateo applies the same rules every time and shows the reason for each finding. If you already work with an agent, Rateo will plug into it too, so the agent reads a short report instead of every file.
Yes. The report works on any PHP project, including code you inherited, and pilot teams can try it there. A guardrail for your pipeline and a check your AI agent can run are coming. On your own code, you set the bar. On a candidate's code, Rateo never does.
PHP first. Rateo recognises Symfony and Laravel projects today, and more frameworks are coming. Other languages come later, based on what pilot teams ask for.
Not yet. We're running pilots with a few teams to shape the report. The samples above are real engine output; the Symfony rules and the checks they list as not checked yet are still to come.
You pay per file analysed, and files Rateo leaves out (like vendor/) are free. There's a free allowance to try it, then monthly or annual plans. Pilot teams get early pricing.
We use them only to contact you about early access and pilots, keep them for 12 months, and send you a newsletter only if you tick its box. See the privacy notice.