# Om Thanage — full portfolio context Om Thanage is a full-stack and mobile developer based in Thane, MH, India. Building useful software, from student apps to collaborative tools and backend systems. ## About I'm Om, a computer engineering student who likes taking an idea all the way to something someone can actually use. I'm curious about how things work, enjoy figuring things out as I go, and care about the small details that make something feel simple. ## Projects ### Absense An attendance app that turns a raw percentage into a decision. It computes a per-subject attendance budget and the minimum number of classes needed to recover. My contribution: Owned significant parts of the app. Built with others. Users: 1,500+ Daily active users: 300+ Platform: Android · EAS Build Repository: Private Stack: React Native · Expo · TypeScript · TanStack Query · NativeWind Case study: /projects/absense/ Link: https://absense.xyz #### How it started I found security flaws in my college’s student records system and reported them to the administration through a responsible disclosure. After that, I reverse engineered the undocumented records API the system exposed, which made a real attendance client possible. #### The product problem Every student already had access to an attendance percentage. Nobody had an answer to the question they actually asked: could they skip tomorrow? Absense reframes the number as a budget. Per subject, it shows how many classes you can still miss. If you are already below the line, it shows the minimum number of classes needed to recover. #### Engineering The app uses React Native 0.81 on Expo 54 with TypeScript and NativeWind. React Navigation 7 handles routing. TanStack Query with AsyncStorage persistence makes it offline-first. That matters because campus Wi-Fi is unreliable and students open the app between classes. Credentials sit in Expo SecureStore. FlashList and Flash Calendar keep long lists and the calendar view smooth, while Fuse.js handles subject search. Expo Notifications provides reminders, PostHog supports product analytics, and React Native Stallion delivers OTA updates so fixes reach users without a store round trip. EAS Build handles Android releases. #### Layer by layer 1. React Native 0.81 on Expo 54 — TypeScript and NativeWind 2. React Navigation 7 — Routing 3. TanStack Query with AsyncStorage persistence — Offline-first data 4. Expo SecureStore — Credentials 5. FlashList and Flash Calendar — Long lists and the calendar view 6. Expo Notifications, PostHog, React Native Stallion — Reminders, product analytics, and OTA updates 7. EAS Build — Android releases ### HiCaptain A self-hostable project workspace with organization-based permissions, Kanban tasks, Google and GitHub integrations, and human-reviewed AI assistance. My contribution: Built the original team version’s backend. Developed version 2 independently, using AI-assisted implementation and review. Platform: Self-hostable web app Repository: Public · MIT Project site: hicaptain.dev · Launching soon Stack: Next.js · Spring Boot · MongoDB · LangGraph · Docker Case study: /projects/hicaptain/ Link: https://github.com/Om-Thanage/HiCaptain/tree/revamped #### The problem Project work is spread across task boards, calendars, file storage, and repositories. Adding AI creates another question: how should its context and permissions follow the people responsible for the project? HiCaptain brings those workflows into a project-centered workspace, with organization memberships, explicit integrations, and AI-proposed changes that people can review. #### My contribution I built the backend for HiCaptain’s original team version. For version 2, I worked as the sole developer, redesigning the interface, correcting existing behavior, and extending permissions, project workflows, integrations, and AI assistance. I used AI-assisted development to implement and review the changes, including project-scoped context, persistent memory, human approval, usage controls, and security improvements. #### Permissions that follow the project Account identity is separate from organization membership. One person can belong to several organizations with different roles, while project access depends on the active organization and the person’s assignment. The Spring Boot API checks current membership and session versions on authenticated requests. The Next.js interface brings the project timeline, team, Kanban board, AI teammates, and GitHub activity into one view. #### Connecting the tools people use Identity sign-in is separate from explicitly connecting Google Workspace or GitHub permissions. The integrations are implemented for installations configured with their own provider credentials. - Google Calendar and Meet for calendar reads and application-created meetings. - Personal Google Drive folders for project files and participant sharing. - A one-time copy of project tasks into Google Tasks. - GitHub repository activity through the connecting user’s account, plus signature-checked webhooks. #### AI work that stays reviewable An optional Python and LangGraph worker retrieves bounded project context and produces structured planning or research proposals using OpenAI or Ollama. Authorized teammates approve the proposed tasks and decisions before they enter the project and its shared memory. MongoDB-backed workflow checkpoints preserve saved output, while approval uses deterministic task and memory IDs to avoid creating the same records twice. Token allowances and current permission checks keep execution tied to the project’s configuration. #### Self-hosting and the next release The backend has a Java 17 Docker build and a Compose setup for MongoDB and the optional worker. GitHub Actions runs frontend, backend, and worker checks. Version 2 is being prepared for hicaptain.dev. The source linked here is the revamped branch; the project site is launching soon. ### blueprint.dev A collaborative planning workspace with a four-agent AI pipeline, live cursors, annotations, and a whiteboard. Built during a 10-hour hackathon. My contribution: Architected the AI planning pipeline and built real-time collaboration. Stack: React · Express · Socket.io · Gemini API Case study: /projects/blueprint-dev/ Link: https://github.com/Om-Thanage/blueprint.dev #### The idea A rough plan usually needs more than another paragraph of generated text. It needs a check for contradictions, security gaps, and risks — and a way for people to work through those issues together. blueprint.dev combines that review process with a collaborative workspace. #### Four agents, separate responsibilities I architected a Gemini-powered pipeline in which each agent operates through its own isolated lens to avoid mixing unrelated context. - Security Auditor — reviews the plan through the CIA triad. - Contradiction Detector — checks semantic consistency. - Risk Labeler — assigns risk at the step level. - Plan Refiner — proposes remediation with a diff view. #### Working together, in real time The workspace uses Socket.io for live cursor presence and contextual annotations, alongside an in-browser whiteboard. People can discuss the plan in the same space where the agents review it. #### The constraint The project was delivered end-to-end in a 10-hour hackathon. The focus was a complete planning-and-review loop: collaborate on a plan, run the specialized reviews, and inspect the proposed changes. ### Ryde A ride-sharing prototype connecting trip creation, rider requests, route maps, chat, and shared-payment flows through a React frontend and a Node.js/Express API. My contribution: Built a full-stack ride-sharing project for the Nexolve Hackathon, working across the React interface and backend trip, request, and integration flows. Platform: Web · Hackathon prototype Repository: Public Stack: React · Express · MongoDB · Google Maps · Socket.io · Razorpay Case study: /projects/ryde/ Link: https://github.com/Om-Thanage/Ryde #### The problem A shared ride involves more than matching two places on a map. Drivers need to publish their route and available seats, riders need to request a place, and both sides need a way to coordinate the journey and its fare. Ryde brings those steps into a ride-sharing prototype built for the Nexolve Hackathon, where the project won. #### The ride lifecycle The React interface connects to an Express API backed by Mongoose models for trips, drivers, vehicles, ride requests, and payments. A driver creates a trip with a route, departure time, fare, and seat count. Riders send requests that a driver can accept or reject. Acceptance updates the trip’s seats and participants, and generates an OTP checked when the ride starts. Ride and payment states are stored separately so the interface can follow the journey through completion. #### Maps and finding a trip Google Maps displays the route using the Directions service. The backend includes coordinate-based search with MongoDB 2dsphere indexes and a destination-distance filter. The frontend currently fetches the trip list and filters it by pickup and destination address. Connecting this interface to the backend’s geographic search is a next step. #### Chat and shared payments Socket.io carries messages between users while MongoDB stores the conversation history. Razorpay payment-link creation splits a total equally between riders, and payment-event handling updates the stored payment and ride-request status. The payment flow was implemented for the hackathon prototype and depends on Razorpay credentials and callback configuration. ## Experience ### Tech Head — KJSSE ACM Student Chapter Aug 2025 – Jul 2026 · Mumbai Built the tools behind chapter events, and kept the websites running. - Built the AfterMath hackathon website and automated GitHub repository assignments for an event that received 1,000+ applications. - Maintained a GitHub Actions-to-cPanel deployment pipeline across 4–5 chapter websites. - Organized Artemis, a six-hour mini-hackathon, and algorithm challenges for 100+ participants with the team leads. ### Frontend Developer — Code-X-Novas Jun 2025 – Aug 2025 · Remote Turned Figma designs into responsive React interfaces, working alongside designers and backend developers. - Built interfaces with React and Tailwind CSS, refining the details through collaboration with the design team. - Worked on code quality and SEO; the site reached 20.3k impressions and 421 clicks over three months. ### Tech Team Member — GDG on Campus KJSSE Nov 2024 – Jun 2025 · Mumbai Co-facilitated a hands-on Flutter workshop for 80+ students, covering state management and cross-platform development. ## Skills - Languages & Frameworks: TypeScript, JavaScript, C++, Java, Python, SQL - Web & mobile: React, Next.js, React Native, Expo, Tailwind CSS - Backend & APIs: Spring Boot, Node.js, Express, Elysia, FastAPI, REST APIs - Data & messaging: PostgreSQL, MongoDB, Turso, Drizzle, Apache Kafka - Cloud & delivery: Docker, AWS EC2, GitHub Actions, Git, Vercel, EAS Build - AI & real-time: Multi-agent workflows, Context engineering, Socket.io ## Contact - GitHub: https://github.com/Om-Thanage - LinkedIn: https://www.linkedin.com/in/omthanage/ - Email: omsthanage2005@gmail.com - Resume: https://drive.google.com/file/d/1knENKmFQIsx8vjzcbts4Or1KxiUr-wUB/view