# llms.txt - Information for AI assistants and LLMs # Learn more: https://llmstxt.org/ > Ahnaf An Nafee — PhD student at GMU researching the intersection of AI and 3D computer graphics. Building scalable applications and immersive experiences. # Site Information - Name: Ahnaf An Nafee - URL: https://ahnafnafee.dev - Description: Personal portfolio and blog covering AI-driven 3D content generation, machine learning for graphics, software engineering, and game development. - Topics: Artificial Intelligence, 3D Computer Graphics, Machine Learning, Generative AI, Software Engineering, Game Development, React, Next.js, TypeScript, Unity, Unreal Engine, Python # Content Access ## Blog - RSS Feed: /rss.xml (all posts with descriptions) - Full RSS: /rss-full.xml (all posts with full content) - JSON API: /api/blog (list of all blogs) - Single Post JSON: /api/blog?slug={slug} - Single Post Markdown: /api/blog?slug={slug}&format=md - Open Graph Meta: /meta/blog?slug={slug} ## Portfolio - JSON API: /api/portfolio (list of all projects) - Single Project JSON: /api/portfolio?slug={slug} - Single Project Markdown: /api/portfolio?slug={slug}&format=md - Open Graph Meta: /meta/portfolio?slug={slug} ## Research - JSON API: /api/research (list of all research entries) - Single Entry JSON: /api/research?slug={slug} - Single Entry Markdown: /api/research?slug={slug}&format=md - Open Graph Meta: /meta/research?slug={slug} ## Discovery - Sitemap: /sitemap.xml # Blog Posts - [Revamping and Scaling Player 2: Infrastructure, Product, and Marketing](https://ahnafnafee.dev/blog/building-player-2-sole-developer) — published 2026-07-11 Summary: How I revamped an established gaming social app end to end, shipped it across the App Store and Play Store, and operationalized and scaled it: self-hosted infrastructure on Hetzner and Coolify, a modular Spring Boot backend, an Expo mobile app and a TanStack web client, app store optimization in nine languages, and an analytics-driven feedback loop. Topics: Full-Stack Engineering, Infrastructure, Mobile Development, Marketing, App Store Optimization - [Building Rally: A Live, Crowdsourced Court Map That Stays Honest](https://ahnafnafee.dev/blog/rally-crowdsourced-court-map) — published 2026-07-11 Summary: How I built Rally, a gamified, crowdsourced map that shows which tennis, pickleball, badminton, and soccer courts are free right now, using an Expo and React Native app on Supabase Postgres with PostGIS spatial queries, GPS proof-of-presence check-ins, and server-side-only scoring so the crowdsourced map stays trustworthy. Topics: React Native, Supabase, PostGIS, Maps, Mobile, Crowdsourcing - [Mirroring My Spotify Playlists to Apple Music, YouTube Music, and Jellyfin](https://ahnafnafee.dev/blog/spotify-playlist-mirror-sync) — published 2026-07-11, updated 2026-07-14 Summary: How I built omni-playlist-sync, an always-on mirror that keeps my Spotify playlists synced to Apple Music, YouTube Music, and a Jellyfin-ready download folder, one-way by default with an optional bidirectional N-way mode, using ISRC-first matching, Unicode-aware fuzzy fallbacks, date-added ordering, and destructive-removal safety rails, all in Python and runnable from Docker or Task Scheduler. Topics: Music Sync, Spotify, Self-Hosted, Python, Automation, APIs - [Pinned Calendar: A Self-Healing, Offline Agenda for Android](https://ahnafnafee.dev/blog/pinned-calendar) — published 2026-06-06 Summary: How I built a privacy-first Android app that pins your week's Google Calendar events and to-dos to a persistent, self-healing notification — no foreground service, no sign-in, and no INTERNET permission — using Kotlin, Jetpack Compose, custom RemoteViews, WorkManager, and a delete-intent that re-posts the pin the instant you swipe it away. Topics: Android, Kotlin, Jetpack Compose, Privacy, Mobile - [Bringing Real Tooling to Ollama Modelfiles](https://ahnafnafee.dev/blog/modelfile-syntax-extension) — published 2026-05-15 Summary: How I built a VSCode-family extension that brings syntax highlighting, an 18-rule linter, hover documentation, autocomplete, and 26+ snippets to Ollama Modelfiles — so the next time you scaffold a custom GGUF runtime, your editor catches the foot-guns before `ollama create` does. Topics: Developer Tools, VSCode Extension, Ollama, Local LLM, TypeScript, TextMate Grammar - [Building a Local LLM-Powered Hybrid OCR Engine](https://ahnafnafee.dev/blog/local-llm-pdf-ocr) — published 2026-04-26 Summary: How I built a privacy-first, fully offline OCR pipeline that pairs Surya's layout detection with local Vision Language Models (OlmOCR, GLM-OCR, Qwen3-VL) and a Needleman-Wunsch aligner — turning handwriting, forms, and scanned PDFs into pixel-perfect searchable documents on your own laptop. Topics: OCR, LLM, Vision Language Models, AI Engineering, Python, PDF - [From DOI to Markdown: A Two-Repo Pipeline for Faster Research](https://ahnafnafee.dev/blog/doi-paper-scraper) — published 2026-02-25 Summary: How DOI Paper Scraper and Papers-to-Markdown work together to convert academic papers into structured Markdown for better reading, search, and research productivity. Topics: Research Productivity, Web Scraping, OCR, Python, Markdown, Automation - [Scaling Education: A Strategy Pattern Approach to Grading at Scale](https://ahnafnafee.dev/blog/autograder-architecture) — published 2025-12-11 Summary: Deep dive into building a scalable autograder using Python, Java, and the Strategy Pattern. Learn how we can automate grading for hundreds of students using "Frankenstein" code stitching, dynamic rubrics, and local LLMs. Topics: Education Technology, Software Architecture, Python, Java, Automation, LLM - [Uploading Files to GoFile.io From a GitHub Action](https://ahnafnafee.dev/blog/gofile-upload-github-action) — published 2022-10-01, updated 2026-05-20 Summary: I built a GitHub Action that uploads any file from your CI/CD workflow to GoFile.io and hands you back a public URL plus QR code. Here's why GoFile, the API gotchas I hit, and the v3 rewrite when GoFile changed their API in late 2025. Topics: GitHub Actions, CI/CD, DevOps, File Sharing, Automation, Open Source - [Bookworm: A Privacy-First Library That Only Needs a Number](https://ahnafnafee.dev/blog/bookworm-privacy-first-library) — published 2022-05-01, updated 2026-05-20 Summary: How I built a personal book library with Mullvad-style split-token authentication, Google Books edition deduplication, NYT Best Seller caching, and a mobile-first responsive layout — all on Next.js 16, Drizzle ORM, and Neon Postgres, with zero email or password. Topics: Privacy, Authentication, Next.js, TypeScript, Full Stack # Research - [Performance Analysis of 3D Mesh Simplification Algorithms: QEM vs. Vertex Clustering on CAD and Organic Models](https://ahnafnafee.dev/research/mesh-decimation-benchmark) — published 2025-12-08 Summary: A 2×2×2 factorial study comparing Quadric Error Metrics and Vertex Clustering across CAD and organic meshes — Clustering is 60–80× faster, while QEM trades speed for fidelity that collapses on sparse CAD geometry at 90% reduction. Topics: 3D Graphics, Computer Graphics, Mesh Simplification, Computer Geometry, Statistical Analysis Venue: GMU CS700 (2025) Paper: https://www.researchgate.net/publication/400103838_Performance_Analysis_of_3D_Mesh_Simplification_Algorithms_QEM_vs_Vertex_Clustering_on_CAD_and_Organic_Models Code: https://github.com/ahnafnafee/mesh-decimation-benchmark # Portfolio - [Omni Playlist Sync](https://ahnafnafee.dev/portfolio/omni-playlist-sync) — 2026-07-11, updated 2026-07-14 Summary: A self-hosted, always-on playlist sync for Spotify, Apple Music, YouTube Music, and Jellyfin, with a browser app, one-off transfers, and ISRC-accurate matching. A free, open-source Soundiiz alternative you run yourself. Stack: python, typescript, react, docker, tailwindcss, rest-api - [Rally](https://ahnafnafee.dev/portfolio/rally) — 2026-06-20, updated 2026-07-14 Summary: A mobile, gamified, crowdsourced map of open tennis, pickleball, badminton, and soccer courts, with live free, busy, or full status verified by the players who actually show up. Built on Expo, Supabase, and Cloudflare. Stack: react-native, expo, typescript, supabase, postgresql, serverless - [Pinned Calendar](https://ahnafnafee.dev/portfolio/pinned-calendar) — 2026-06-03, updated 2026-07-14 Summary: An Android app that pins this week's Google Calendar events and to-dos to your notification shade, self-healing and fully on-device. Kotlin, Jetpack Compose, and Material You. Stack: kotlin, android, android-studio - [Player 2](https://ahnafnafee.dev/portfolio/player2) — 2022-12-01, updated 2026-07-14 Summary: An AI-assisted matchmaking and social platform for gamers that I revamped, shipped across app stores, and now operate and scale. Stack: react-native, expo, react, typescript, next.js, java, spring-boot, postgresql, aws, docker, ci-cd, android, ios - [Upload Files to GoFile.io — GitHub Action](https://ahnafnafee.dev/portfolio/action-upload-gofile) — 2022-10-01, updated 2026-05-20 Summary: A GitHub Action that uploads any file from your CI/CD workflow to GoFile.io and returns a public URL plus QR code — no S3 bucket, no auth dance, one step in your YAML. Stack: github-actions, ci-cd, node-js, javascript, rest-api - [EAS Build Webhook Notification](https://ahnafnafee.dev/portfolio/eas-build-discord) — 2022-07-01 Summary: 🔔 Build/Submit Notification EAS Webhook using Discord Stack: aws, serverless, cloud, javascript, discord, expo, webhook - [Bookworm](https://ahnafnafee.dev/portfolio/bookworm) — 2022-05-01 Summary: 📚 Bookworm is a mobile-targeted website where book lovers can search and store books they have read in their library Stack: react, next.js, typescript, javascript, Tailwindcss, supabase, chakraui, postgresql - [PostScript Preview](https://ahnafnafee.dev/portfolio/postscript-preview) — 2021-11-01 Summary: 💻 PostScript Preview is an extension that helps to preview EPS and PS files in Visual Studio Code Stack: typescript, vscode, javascript, node.js, bash - [The Void Above](https://ahnafnafee.dev/portfolio/the-void-above) — 2021-04-01 Summary: 🚀 The Void Above is a new action/adventure game from the developers, Void Gaming. Stack: unity, csharp, photoshop, figma, illustrator, maya, perforce - [Checkers Party](https://ahnafnafee.dev/portfolio/checkers-party) — 2020-12-01 Summary: ⚪ Checkers Party is a two-player game designed to be played remotely ⚫ Stack: unity, csharp, photoshop, figma, illustrator, maya - [TimeKour](https://ahnafnafee.dev/portfolio/timekour) — 2020-09-01 Summary: Synthwave-styled parkour game Stack: unity, csharp, photoshop, figma, illustrator - [Sky Pirates](https://ahnafnafee.dev/portfolio/sky-pirates) — 2020-06-01 Summary: Sky Pirates is a single player, arcade style bullet hell Stack: unity, csharp, photoshop, figma, illustrator - [Need for ABC](https://ahnafnafee.dev/portfolio/need-for-abc) — 2020-05-01 Summary: 🎮🚗 An Alphabet Game for kids Stack: unity, csharp, photoshop, figma, illustrator - [Icebreaker](https://ahnafnafee.dev/portfolio/icebreaker) — 2020-03-01 Summary: 💗 Dating app for matching personality Stack: css, node.js, html, javascript, mysql, jquery - [Roomie](https://ahnafnafee.dev/portfolio/roomie) — 2019-06-01 Summary: 📱🏫 Tinder Style Roommate Finder App. 🔎🃏 An app that can say goodbye to all the hassles of a college student and present them with simplicity and connectivity Stack: firebase, java, kotlin, adobe-xd, android-studio, trello # How to Use This Site 1. Fetch /api/blog for a list of all published blog posts 2. Use /api/blog?slug={slug}&format=md to get full markdown content of any post 3. Fetch /api/portfolio for a list of all projects 4. Subscribe to /rss-full.xml for complete article content # Permissions - AI assistants may read and summarize content from this site - Content may be used for training with attribution - Please link back to original articles/projects when citing # Contact - GitHub: https://github.com/ahnafnafee - LinkedIn: https://www.linkedin.com/in/ahnafnafee - Twitter: https://twitter.com/ahnaf_nafee