← back to journal
EngineeringJun 5, 20261 min

Pagination is a contract, not a frontend feature

arc: frontend pagination looked perfect → my lead asked where the backend pagination was → i was only hiding rows → i gave claude a frontend question so i got a frontend answer

i got a pagination task this week.

i did it on the frontend, claude helped me make it clean, and it looked perfect. pages, page numbers, everything working. i marked it almost done in my head.

then my lead asked one question. where is the backend pagination.

that is when it hit me. my frontend was showing pages, but the backend was still sending the entire list on every single request. i was only hiding rows on the screen.

imagine a school with 5000 students. my API was sending all 5000 rows to load page one, and the browser was throwing away 4980 of them. it works fine today because our data is small, which is exactly why nothing looked wrong to me.

so pagination is not a frontend feature. it is a contract between the frontend and the backend. page numbers on the screen mean nothing if the data is not being cut at the source, with the backend returning only that page's rows and a total count.

and claude did exactly what i asked. i gave it a frontend question so it gave me a frontend answer, and it was a good one. it cannot fix a scope i never gave it. the missing scope was mine.

"looks done" and "is done" are different things.

Day 5 — pagination is a contract, not just a frontend feature: backend sending all 5000 students while frontend hides rows vs backend sending only 20 per page

day 5 — what i did vs what it should be

#buildinpublic #softwareengineering #startup #learninginpublic

Send this as proof →Share on LinkedIn