Own product
Simulador Sisu — Official cutoff scores by course, no sign-up
An independent website with the official Sisu cutoff score by course and university, from 2019 to 2025: history, cutoff by quota category, seats, weights and a chart. It needs no sign-up, and the scores a person types never leave the browser. The full simulator, which crosses your scores with the cutoffs, is still in development.

- 12
- 124
- 120 pts
- 0
Problem.
Students who took the Enem and are applying through Sisu (Brazil's centralized college admission system) want one answer: does my score get me into that course? The official data exists, but it sits in huge spreadsheets from the Ministry of Education, and the sites that show it usually ask for sign-up first. Students look this up on their phones, mostly through Google, with one course and one university in mind.
Solution.
A website that turns the official Sisu reports into fast pages, one for each course and each university: the latest cutoff, history since 2019, cutoff by category and quota, seats, applications, weights and a chart. It has guides on how Sisu works, the calendar, quotas and weights, and a page that says where every number comes from. The home page has a demo with a draggable ruler: an example score against the cutoffs for Medicine at UFRJ.
Result.
Live at simuladorsisu.com.br since 20/10/2026, launch day. The site's base covers 12 Sisu editions, from 2019 to 2025, and 124 institutions that offered seats in 2025 (Ministry of Education open data, per the Universities and About the data pages). The full simulator is still in development. Usage numbers will go here once there is something to measure.
Screens.
Screenshots of the live site.









The hard part.
Every project has a point where the obvious solution doesn't cut it. Here, it was these.
An official spreadsheet, a number you can trust
The Ministry publishes one XLSX report per edition, and the files change shape over the years. The ETL runs in four steps: download, read, normalize and check. An offer is the same course at the same institution, shift and city, which is how history carries over from one year to the next. Until 2023 Sisu had two editions a year, so the first is the main line and the second is dashed. Zero or empty becomes "no cutoff", and a minimum score of 0.01 or 1 counts as no minimum. The check flags as suspect any cutoff that moves more than 120 points from one year to the next, and it stays out of the chart until reviewed. If the check finds an error, nothing is published.
Thousands of similar pages without becoming duplicate pages
One page per course and per university is how a student finds the answer on Google, and it is also the classic risk of programmatic SEO: the same text with numbers swapped. Here the text comes from rules that depend on the data (the cutoff went up or down, there are quotas, the weights are similar or not), never from a random draw, and with no AI. A test measures similarity between pages in a sample and fails above 60%. It runs in CI and inside the Docker image build, so a version with pages that are too alike doesn't ship.
A real 404 for what doesn't exist
A course at a university that doesn't offer it shouldn't return a pretty page with status 200. The site answers a real 404 for combinations with no data, and the error page comes straight from the proxy, because a rewrite to an app page came back from the cache with status 200. The same rule applies to text: when there is no data, the page says so, and the site never invents, estimates or fills in a cutoff score.
A site that rolls over to the new year by itself
Sisu changes every year: the edition, the calendar, which Enem editions count. Instead of rewriting texts every season, a pure module takes the date and the calendar and decides which Sisu the site is talking about today, what phase it is in, and which dates are confirmed or only forecast. No other file writes the year by hand, the guides have year-free URLs, and tests cover dates from 2026 to 2030, including the rollovers.
Chance, never a guarantee, and data that stays with the person
Nobody knows next year's cutoff, so the site speaks in comparison with past years and never promises admission. It is also not the Ministry's or any university's, and says so at the top of every page, with no government logo or crest. The product rule is that typed scores stay in the browser and don't go to the server, which is why the site has no sign-up. The data ships inside the Docker image, SQLite is opened read-only and there is no remote database to look after.
What I did.
- Product, code and infrastructure, from the first commit to the live domain, all on 20/10/2026
- An ETL in steps from the Ministry of Education's official XLSX reports: download, read, normalize and check, with a SQLite database as output
- A check that flags as suspect any cutoff that moves more than 120 points from one year to the next, and only publishes the database if there are no errors
- Course, university and course-at-a-university pages, with text built by rules from the data and a real 404 when there is no data
- Sisu guides (how it works, calendar, quotas and weights) and the About the data page, with sources and limitations
- An automatic season: the site changes year, dates and rules with no code edits
- The ruler demo on the home page, with an example score against the cutoffs for Medicine at UFRJ
- Docker with the data inside the image, a Cloudflare Tunnel on my own VPS and CI on GitHub Actions
Stack.
Have a similar project?
Tell me the problem — I answer personally.
See it live.
Public pages of the product, open to anyone.
Sister product.
Same foundation and same rule, for another audience.