Longhand: I built a UPSC note-taking app that works like a library, not a pile
Most note apps don’t have an AI problem. They have a mess problem — and for UPSC prep, the mess catches up with everyone eventually.
Longhand: I built a UPSC note-taking app that works like a library, not a pile
Most note apps don’t have an AI problem. They have a mess problem — and for UPSC prep, the mess catches up with everyone eventually.
I found this out a while back, during my own UPSC preparation.
A video told me to go digital. Faster notes, less writer’s cramp, the usual pitch. It recommended the standard tools — Evernote, OneNote. Good apps. I used one for about a week.
Then I did the math, and the math ruined it for me.
UPSC prep isn’t 20 notes you glance at once. It’s General Studies Papers 1 through 4, an optional subject with its own syllabus, current affairs layered on top, all of it revisited again and again over months of Prelims and Mains prep. That’s not a handful of notes. That’s hundreds. For most aspirants, thousands by the time Mains rolls around.
Evernote gives you a blank page and a search bar. It does not give you a library. And once you’ve got a few hundred notes stacked up, “just search for it” quietly stops working — because by month eight, you don’t remember the exact words you typed for that one Article 19 judgment. You just remember the note exists. Somewhere. Probably under Polity. Maybe under current affairs, if you filed it in a hurry.
That’s the actual problem with UPSC notes. Not that digital note-taking is annoying. It’s that a single note, on its own, has no shelf to sit on — and the syllabus is too big for a flat pile to survive.
So I started building one with shelves
I opened an editor and started sketching out something that organized UPSC notes like a library, not a pile.
I got maybe halfway. The folder structure worked. Then life got busy, the way it does during a long exam cycle, and the whole thing sat untouched for a long time — a half-built tool for a problem I knew every UPSC aspirant runs into, waiting for me to come back to it.
I finally got the time to go back and finish it properly. This is that.
The shape of it
Longhand organizes UPSC notes like a library, not a pile.
You get a folder tree that mirrors how the syllabus actually works — Polity, then Fundamental Rights, then Article 19. Anthropology Paper 1, then Social-Cultural Anthropology, then Functionalism. Every topic inside gets exactly four things, every single time: keywords, quotations, notes, and questions.
Same four files, whether it’s a Polity topic, an Anthropology optional concept, or a current affairs issue you’re tracking for Mains. Nothing floats around untagged. Nothing gets buried three folders deep next to something unrelated from a different GS paper entirely. If you know the topic, you know exactly where to look, because every topic’s shelf looks the same — which matters a lot more in month fourteen of prep than it does in week one.
The part I didn’t plan for
I wasn’t trying to build a rule about how aspirants are allowed to write their notes. It just fell out of fixing the organization problem.
Once a topic has a proper home for keywords, a proper home for quoted judgments or scholars, and a proper home for your own explanation, a giant wall of copy-pasted text has nowhere honest to go. It doesn’t fit “keywords.” It’s rarely attributed properly, so it doesn’t belong in “quotations” either. Drop it into “notes” and it just sits there — way too long, clearly not your own words, next to three other files that are short and actually yours.
So Longhand doesn’t let you drop it in at all. Paste more than about 150 characters into your notes, and the app holds it back. You either compress it into three lines in your own words — which is closer to how you’d actually have to write it in the exam hall anyway — or you route the useful pieces to the files where they belong. A term goes to keywords. An attributed line from a judgment or a scholar goes to quotations.
Anyone who’s revised Anthropology optional knows the real trap here: writing “Functionalism” without ever naming Malinowski or the Trobriand Islands. A note that’s just pasted commentary won’t have that structure. A note built inside four fixed files makes the gap impossible to miss.
What I actually spent time on
The folder-and-files part sounds like plumbing — folders, four fixed files, done. The harder part, for a UPSC-specific tool, was saying no to things:
- Folders only go three levels deep. No infinite nesting — infinite nesting is just a fancier pile, and the UPSC syllabus is already deep enough without it.
- You can’t paste your way around the notes rule, whether you’re pulling from a PDF of a committee report or a PYQ compilation.
- AI is allowed to sort your mess — routing a pasted MCQ into the right file, tagging a quote. It is not allowed to write your notes or decide what’s important in Article 19 for you.
- No native app. It’s a PWA, on purpose — works the same whether you’re revising on a laptop between coaching classes or on a phone during a commute.
- There’s a hard monthly cap on AI spend, running on the cheapest model available, because sorting a note isn’t a job that needs a large model.
Every one of those protects the same thing: a library only works during a two-year UPSC cycle if you can trust the shelf is exactly where you left it.
How it got built
I built the boring part first — folders and the four-file structure — before touching anything more interesting like AI or spaced-repetition recall. If the shelves weren’t solid for a syllabus this size, nothing built on top of them would matter.
The stack itself is nothing exciting: Next.js, Postgres, Prisma, a bit of Tailwind. The AI is Anthropic’s Haiku, forced to answer in a fixed format so it hands back something I can store, not a paragraph I have to untangle by hand.
The thing I built and then deleted
Somewhere along the way I added a feature that sat on the page auditing your Anthropology notes — flagging it if you’d named a concept without a scholar or a case study. It worked. It also made revision feel like it was being graded in real time, which is the last thing you need during an already stressful prep cycle.
So I ripped it out. The structure stayed. The hall monitor didn’t.
Where it’s at right now
Longhand is live in beta:https://www.longhand.click/ . Its UPSC roots are still visible everywhere — in the folder examples, in the four-file structure, in the assumption that you’ve got a syllabus, not a shopping list. That’s on purpose. It was built for that exact prep cycle, by someone who was living inside one.
If you’re currently prepping for UPSC and drowning in Evernote pages you can’t find anymore, this is for you specifically. Not “notes app that happens to work for exams” — built around GS papers, optionals, PYQs, and the two-year grind of revisiting the same topics until they stick.
I don’t have a fancy usage chart to show you. What I have is a folder of old UPSC notes from a while back that I genuinely cannot find anything in anymore, which is really the whole origin story.
What I learned
The mess was never a UI problem. Search bars and tags are just ways of making a pile feel searchable. Both eventually lose once your UPSC notes cross a few hundred entries.
A library beats a search bar once you’ve got a syllabus this size to file.
And a rule about where your notes are allowed to live quietly becomes a rule about what you’re allowed to write, if you push on it long enough — which, for UPSC prep, is most of the battle anyway.
Write it like it matters. File it like you’ll need it again in eight months, because you will.
메타데이터
- post_id
- 187f31ce7c39
- slug
- longhand-i-built-a-upsc-note-taking-app-that-works-like-a-library-not-a-pile-187f31ce7c39
- url
- https://medium.com/@madhab.coder/longhand-i-built-a-upsc-note-taking-app-that-works-like-a-library-not-a-pile-187f31ce7c39
- canonical_url
- https://medium.com/@madhab.coder/longhand-i-built-a-upsc-note-taking-app-that-works-like-a-library-not-a-pile-187f31ce7c39
- author_url
- https://medium.com/@madhab.coder
- status
- ok
- fetched_at
- 2026-08-16 02:00:23