Understanding codebases without using code
Analysing codebase and understanding the patterns followed at a top level has become surprisingly easier nowadays with the help of tools such as Gemini (for larger context windows), Gitingest (to convert codebases to simpler markdown), and Mermaid.js (for visualising mermaid diagrams).
This is how I would approach understanding a fresh new codebase in order to take a cursory look:
Use Gitingest to convert github repositories into markdown. Markdown format could then be added to any of your AI chats so that you could ask any question. What I like about this tool is that I just have to replace the URL. So for instance, if I have this URL — https://github.com/ryanckulp/speedrail, I just have to replace this with https://gitingest.com/ryanckulp/speedrail for using the tool. I don’t have to think twice on which tool to even use, the switch of context is quite easy and not so difficult for you to remember.

Once I upload the github repository, I can tweak the file size in case there are specific file size limitations across various LLMs. So far, Gemini has the highest context window, so it could easily take the markdown file as it is. In case you’re using in Claude projects, you might run into some errors.

Once I’ve downloaded the markdown, I then go to Gemini Flash and then upload this markdown for it to generate a mermaid diagram.

I then copy this to the clipboard, and then paste it into any online mermaid diagram visualiser such as Mermaid Live Editor.

I follow a similar approach while jumping head first into a new codebase on Cursor AI.
In the same way, I’ve started doing some sensemaking on the codebases, I’ve also used a similar approach towards sensemaking databases. Mermaid diagrams are a great tool for also visualising ERD diagrams (Entity Relationship diagrams). Especially when your app is connected to a database, Cursor hallucinates midway on what this database might look like. It’s helpful to have a specs sheet, say specs.md which holds this ERD diagram for it to provide contextual code.
Subscribe to get future posts via email (or grab the RSS feed). 2-3 ideas every month across design and tech
Read more
- Hammock driven developmentagentic-coding
- Peculiar ways number three fits into our funny little brains
- AI sandwich as a defacto principle for anything agentic engineering relatedagentic-coding
- How I write essays in 2026writing
- Authority in the guise of evidencecritical-rationalism
- Map is not the territoryphilosophy
- Self hypnosis as a manifestation ritualmeditation
- Hegelian dialectic for structured reasoning with AI agentsphilosophy
- How I prepare for tough negotiations nowadaysnegotiation
- When should we steelthread somethingproduct-development
- How to become a polyglot
- Breadboarding, shaping, slicing, and steelthreading solutions with AI agentsproduct-management
- Healthy conflict in teams have a tipping point
- Deslopify AI writing
- How I started building softwares with AI agents being non technicalagentic-coding
- Read raw transcriptsknowledge
- Legible and illegible tasks in organisationsproduct
- L2 Fat marker sketchesdesign
- Writing as moats for humanswriting
- Beauty of second degree probesdecision-making
- Boundary objects as the new prototypesprototyping
- One way door decisionsproduct
- Finished softwares should existproduct
- How I periodically rank my rough draftsobsidian
- Flipping questions on its headinterviewing
- Vibe writing maximswriting
- How I blog with Obsidian, Cloudflare, AstroJS, Githubwriting
- How I build greenfield apps with AI-assisted codingai-coding
- We have been scammed by the Gaussian distribution clubmathematics
- Classify incentive problems into stag hunts, and prisoners dilemmasgame-theory
- I was wrong about optimal stoppingmathematics
- Thinking like a ship
- Hyperpersonalised N=1 learningeducation
- New mediums for humans to complement superintelligenceai-coding
- Maxims for AI assisted codingai-coding
- Personal Website Starter Kitai-coding
- Virtual bookshelvesaesthetics
- It's computational everythingtrends
- Public gardens, secret routesdigital-garden
- Git way of learning to codeai-coding
- Kaomoji generatorsoftware
- Copy, Paste and Citeai-coding
- Style Transfer in AI writingai-coding
- Understanding codebases without using codeai-coding
- Vibe coding with Cursorai-coding
- Virtuoso Guide for Personal Memory Systemsmemory
- Writing in Future Pastwriting
- Publish Originally, Syndicate Elsewhereblogging
- Poetic License of Designdesign
- Idea in the shower, testing before breakfastsoftware
- Technology and regulation have a dance of ice and firetechnology
- How I ship "stuff"software
- Writing is thinkingwriting
- Song of Shapes, Words and Pathscreativity
- How do we absorb ideas better?knowledge
- Read writers who operatewriting
- Brew your ideas lazilyideas
- Trees, Branches, Twigs and Leaves — Mental Models for Writingwriting
- Compound Interest of Private Notesknowledge
- Conceptual Compression for LLMsai-coding
- Meta-analysis for contradictory research findingsdigital-health
- Proof of workproduct
- Gauging previous work of new joinees to the teamleadership
- Task management for product managersproduct
- Beauty of Zettelswriting
- Stitching React and Rails togetherai-coding
- Exploring "smart connections" for note takingknowledge
- Deploying Home Cooked Apps with Railssoftware
- Repetitive Copypromptingwriting
- Questions to ask every decadejournalling
- Balancing work, time and focusproductivity
- Hyperlinks are like cashew nutswriting
- Brand treatments, Design Systems, Vibesdesign
- How to spot human writing on the internetwriting
- Can a thought be an algorithm?product
- Opportunity Harvestingcareers
- How does AI affect UI?design
- Everything is a prioritisation problemproduct-management
- Nowlifestyle
- How I do product roastsproduct
- The Modern Startup Stacksoftware
- In-person vision transmissionproduct
- How might we help children invent for social good?social-design
- The meeting before the meetingmeetings
- Design that's so bad it's actually gooddesign
- Lessons learnt interview prepping for product rolesinterviewing
- Obsessing over personal websitessoftware
- English is the hot new programming languagesoftware
- Better way to think about conflictsconflict-management
- The role of taste in building productsdesign
- Dear enterprises, we're tired of your subscriptionssoftware
- Products need not be user centereddesign
- World's most ancient public health problemsoftware
- Pluginisation of Modern Softwaredesign
- Let's make every work 'strategic'consulting
- Making Nielsen's heuristics more digestibledesign
- Startups are a fertile ground for risk takingentrepreneurship
- Insights are not just a salad of factsdesign
- Minimum Lovable Productproduct
- Methods are lifejackets not straight jacketsmethodology
- How to arrive at on-brand colours?design
- Minto principle for writing memoswriting
- Importance of Whytask-management
- Quality Ideas Trump Executionsoftware
- How to hire a personal doctor
- Why I prefer indie softwareslifestyle
- Use code only if no code failscode
- Self Marketing
- Personal Observation Techniquesdesign
- Design is a confusing worddesign
- A Primer to Service Design Blueprintsdesign
- Rapid Journey Prototypingdesign
- Visualise detailed file structures on CLIcli
- Do's and Don'ts of User Researchdesign
- Design Manifestodesign
- Complex project management for productproducts
- How might we enable patients and caregivers to overcome preventable health conditions?digital-health
- Pedagogy of the Uncharted — What for, and Where to?education
- Future of Ageing with Mehdi Yacoubiinterviewing
- Future of Tacit knowledge with Celeste Volpiinterviewing
- Future of Rural Innovation with Thabiso Blak Mashabainterviewing
- Future of Equity with Ludovick Petersinterviewing
- Future of work with Laetitia Vitaudinterviewing
- Future of Mental Health with Kavya Raointerviewing
- Future of unschooling with Che Vanniinterviewing
- How might we prevent acquired infections in hospitals?digital-health
- The why to endure any howentrepreneurship
- Design education amidst social tribulationsdesign
- How might we assist deafblind runners to navigate?social-design