A few months ago I wouldn’t have attempted building a full multi-platform app myself. I’m a backend and AI engineer by profession, not a frontend developer. Over the last few months, I used Claude to build and launch https://highlyt.app/ , a reading and highlighting tool that combines: PDF, EPUB, and web article highlighting Color-coded highlights where each color carries a meaning you define A knowledge graph that links related highlights across documents Full-text search across everything you’ve highlighted One-click export of your highlights as JSON An MCP server so Claude can pull your highlights straight into a chat as context The stack ended up being: FastAPI Supabase (Postgres) React Vite React Native (mobile) An MCP server (OAuth and API key) What Claude was exceptionally good at: Turning a vague idea into a concrete data model Designing the color-meaning system Refactoring large React components The FastAPI route to controller to service layering, once I set the pattern Cross-format text extraction (PDF, EPUB, and web all index into one searchable shape) Writing the MCP server and tool definitions Generating detailed implementation plans Turning vague ideas into concrete requirements What Claude struggled with: Stateful, visual code. Highlight rendering at different zoom levels broke repeatedly, and it would confidently say it was fixed when it wasn’t Coordinate systems. It kept assuming a scale of 1 when the renderer used something else, so highlights landed in the wrong spot Blast radius. It couldn’t feel when a “small change” would regress the highlight overlay Stale library APIs. It wrote against old versions of libraries more than once and didn’t flag it Anything that needed me to actually look at the screen and say “no, that’s still wrong” What I learned: The wins were all in structure, logic, and plumbing. The pain was all in stateful, visual, coordinate-sensitive code where “looks right” and “is right” are two different things. AI got me to a working, launched product far faster than I’d have managed solo on the frontend. But it did not get me there without me catching the things it quietly broke. Happy to answer questions about the MCP setup, the cross-format extraction, or the highlight-rendering rabbit hole. submitted by /u/RepulsiveMap8791
Originally posted by u/RepulsiveMap8791 on r/ClaudeCode
