# Neel Ulysses Roda > Neel Ulysses Roda, software engineer in Dipolog City, Philippines: full-stack web apps, AI agents and self-hosted infrastructure for businesses and schools. Open to commissions and AI & software roles. Roles: Software Engineer, Full-Stack Developer, AI Engineer. Based in Dipolog City, Philippines (UTC+8), works remotely. Currently Software Engineer at Scalepo, LLC. Contact: nulysses.roda@siruyy.dev. GitHub: https://github.com/Siruyy. LinkedIn: https://www.linkedin.com/in/rulysses/. ## Pages - [Home](https://siruyy.dev/): who Neel is and what Neel is building - [About](https://siruyy.dev/about): background, how Neel works, toolkit and timeline - [Case Studies](https://siruyy.dev/projects): every project with problem, decisions and results - [Resume](https://siruyy.dev/resume): experience and skills - [Contact](https://siruyy.dev/contact): email and social links ## Case Studies - [Motorcycle Ride-Hailing Platform](https://siruyy.dev/projects/ride-hailing-platform): Passenger and driver apps with fare negotiation, live trips, and a full metrics and alerting stack. - [Service-Business ERP](https://siruyy.dev/projects/service-erp): Job orders, quotations, inventory and roles with idempotent stock deduction and PDF quotes. - [Inventory Management System](https://siruyy.dev/projects/inventory-management-system): Desktop inventory application built with Tauri, React, and SQLite for canteen and retail businesses. - [Invoicing Application](https://siruyy.dev/projects/invoicing-application): Full-stack invoicing platform with .NET backend, Angular frontend, AI-powered queries, and PDF export. - [ParkLocator](https://siruyy.dev/projects/park-locator): Mall parking reservations for Cebu with PostGIS search and lock-safe booking across three apps. - [College Registrar Document System](https://siruyy.dev/projects/registrar-document-system): A legacy PHP registrar rewritten with public request tracking and multi-step clearance workflows. - [Hospitality Department Inventory](https://siruyy.dev/projects/hospitality-inventory): Borrow, return and sales tracking with barcode scanning and good, damaged and lost accounting. - [Smart Pomodoro](https://siruyy.dev/projects/pomodoro): Calendar-aware focus planner that reads Google Calendar blocks and turns them into app-local focus sessions. - [Appliance Retailer Desktop POS](https://siruyy.dev/projects/appliance-pos): Offline cash and installment sales with a penalty engine, undoable Excel import and backups. - [Gatify](https://siruyy.dev/projects/gatify): Self-hosted API gateway with intelligent rate limiting, real-time analytics, and zero vendor lock-in. ## Optional - [Full profile](https://siruyy.dev/llms-full.txt): everything above plus each case study in full - [Chefy](https://siruyy.dev/projects/chefy): AI-powered recipe generator that creates personalized meals from your available ingredients. - [ASL Recognizer](https://siruyy.dev/projects/asl-recognizer): Real-time ASL fingerspelling recognizer using MediaPipe + TensorFlow for 24 static letters. - [Portfolio v1](https://siruyy.dev/projects/portfolio-v1): First-generation portfolio website focused on clean UI, responsive layouts, and project storytelling. ## About I'm Neel, a software engineer from Dipolog City. Over the past year I've built six systems for local businesses and schools: an ERP for a service company, a document request system for a college registrar, an inventory for a school department, a POS for an appliance store, a parking app and a ride-hailing platform. During the day I work at Scalepo as a software engineer on C#/.NET, Angular and MS SQL. At home I run a small homelab where I self-host the things I build and break them on purpose to see how they hold up. ## How Neel Works - I Start With How the Work Gets Done Today. Spreadsheets, group chats, paper forms. Seeing those first tells me what the software actually has to replace. - I Build the Whole Thing. Frontend, API, database, deployment and monitoring. One person knowing how it all fits makes changes faster later. - I Leave It Easy to Pick Up. Tests, migrations and setup notes live in the repo, so the next developer is not starting from zero. - I Stay After Launch. I keep an eye on logs and alerts once it's live and fix what comes up. ## Toolkit - Interface: React, Next.js, Angular, Expo, Flutter, Tailwind CSS - Application: TypeScript, NestJS, Node.js, .NET / C#, Laravel, Rust - Data: PostgreSQL, PostGIS, Drizzle, Prisma, Redis, MS SQL - Runtime: Docker, Dokploy, Linux, Nginx, Cloudflare, Prometheus, Grafana, Loki - AI: Claude Code, LLM workflows, TensorFlow, MediaPipe, Python ## Experience - Software Engineer, Scalepo, LLC (2024 to present): Driving end-to-end feature delivery for enterprise applications using a C#/.NET API, Angular front end, and MS SQL data layer. - Freelance Graphic Designer & Video Editor, Self-employed (2023 to 2024): Produced on-brand graphics (logos, social banners, print collateral) and short-form videos for small businesses and creators. Managed full project lifecycles from concept to delivery. - Customer Support Representative, Lucky Star 8 Quest (September to December 2022): Converted customer service inquiries into revenue opportunities through needs-based recommendations, consistently meeting or exceeding upsell and cross-sell targets while maintaining high CSAT scores. ## Timeline - 2014 - 2016: Hardware to the Web. Built and fixed desktop computers with my dad, then got hooked on HTML, CSS and JavaScript. - 2022: Computer Science. Started my BS in Computer Science in Dipolog and took my first job in customer support. - 2023: Freelance Design and Video. Logos, social graphics and short videos for small businesses and creators. - 2024 - now: Scalepo. Software engineer on enterprise features in .NET, Angular and MS SQL, including LLM-backed workflows. - 2025 - now: Six Client Systems. ERP, registrar, inventory, POS, parking and ride-hailing, each designed, built and run by me. - 2025 - now: Lead Backend at JourKnows. Backend for a community media organisation. Also won Hack 4 Gov at the provincial level. ## Case Studies In Full ### Motorcycle Ride-Hailing Platform URL: https://siruyy.dev/projects/ride-hailing-platform Stack: NestJS, Expo, Next.js, PostgreSQL, PostGIS, Drizzle, Redis, Socket.IO, Mapbox, Docker, Prometheus, Grafana A ride-hailing platform for motorcycle rides built from a NestJS 11 API, an Expo 54 mobile app, and a Next.js 16 admin console. Data lives in PostgreSQL with PostGIS, accessed through Drizzle with 17 SQL migrations. Redis backs the Socket.IO adapter, Mapbox provides maps, and the whole stack is containerized and deployed with Docker on Dokploy, with Prometheus, Grafana, Loki, and Alertmanager watching it. Problem: The operator needed to match passengers with nearby riders, let drivers bid on each ride, and keep live trip state consistent across passenger, driver, and admin screens while still being able to see how the platform behaves in production. Outcome: A NestJS API, an Expo mobile app, and a Next.js admin console running as one platform, with PostGIS-backed location data and a metrics, logs, and alerting stack. Results: - 155 commits between July and October 2026 - NestJS API, Expo mobile app, and Next.js admin running as one platform - 17 SQL migrations on PostgreSQL with PostGIS - Metrics, logs, and alerting stack with a runbook ### Service-Business ERP URL: https://siruyy.dev/projects/service-erp Stack: Angular, Node.js, Express, MongoDB, Docker, Nginx, Socket.IO, JWT A modern ERP system built with Angular 21 and Node.js/Express, backed by MongoDB. Features include job order management, quotation generation with PDF export, inventory tracking with low-stock alerts, product catalogs with image uploads, sales recording, client/vendor management, and a real-time dashboard. Deployed via Docker Compose on a VPS with Nginx as reverse proxy and Cloudflare for SSL and CDN. Problem: The client relied on scattered spreadsheets and manual workflows for job tracking, quotations, and inventory. They needed a unified system with real-time dashboards, access control, and automated workflows. Outcome: Unified job orders, quotations, inventory, and sales into one platform. Role-based access for admin, manager, and staff roles. Results: - Unified 6 business modules into single platform - Real-time dashboard with WebSocket updates - Automated weekly backups with one-command restore - Running in production on single VPS with Docker ### Inventory Management System URL: https://siruyy.dev/projects/inventory-management-system Stack: Tauri, React, TypeScript, Rust, SQLite, Tailwind CSS, MUI A desktop inventory management system (CICS, Canteen Inventory Control System) built with Tauri and React. It handles product categorization, stock level tracking, supplier management, order processing with real-time inventory updates, daily/weekly/monthly sales reporting, staff management with role-based permissions, and a visual dashboard with key business metrics via Recharts. Packaged as a native Windows installer. Problem: Small canteen and retail businesses needed an offline-capable, lightweight inventory system that runs on their existing Windows machines without requiring a server or internet connection. Outcome: Complete inventory system running as a native desktop app with sub-100ms queries on SQLite, installable via a standard Windows installer. Results: - Native desktop app with sub-100ms queries - ~5MB installer vs ~150MB for Electron equivalent - Fully offline, zero internet dependency - Role-based access with secure authentication ### Chefy URL: https://siruyy.dev/projects/chefy Stack: React, TypeScript, Tailwind CSS, Shadcn UI, OpenAI, Vercel Chefy is a React + TypeScript web application that uses OpenAI's GPT models to generate recipes from user-provided ingredients. Built with Shadcn UI components and Tailwind CSS for a clean interface. Server-side API routes handle OpenAI calls securely, keeping API keys off the client. Deployed on Vercel with analytics and performance monitoring. Problem: Home cooks waste food because they don't know what to make with what they have. Existing recipe apps require you to search by dish name, not by ingredients on hand. Outcome: Live in production on Vercel. Users enter 4+ ingredients and receive a complete recipe with instructions and cooking time. Results: - Live in production on Vercel - Clean, responsive UI on all devices - Secure API key handling via server-side routes ### Invoicing Application URL: https://siruyy.dev/projects/invoicing-application Stack: .NET, C#, Angular, TypeScript, Supabase, PostgreSQL, OpenAI, SendGrid A full-stack invoicing platform with an ASP.NET Core Web API backend (C#) and Angular frontend. Core features include invoice creation with auto-generated numbers and calculated totals, client management (CRUD), PDF export, SendGrid email delivery, JWT authentication, AI-powered natural language queries via OpenAI, multi-currency support, overdue invoice detection with visual indicators, dark mode, responsive UI with Tailwind CSS, and a dashboard with metrics. Problem: The client needed a comprehensive invoicing tool that handles the full lifecycle, from creating invoices and managing clients to exporting PDFs, sending emails, and tracking payment status, with AI-powered querying for quick data access. Outcome: Handles 500+ invoices/month with AI queries, PDF export, automated overdue detection, and email delivery via SendGrid. Results: - Full invoicing lifecycle: create → PDF → email → track - AI-powered natural language queries on invoice data - Multi-currency support with tax configuration - Automated overdue detection with visual indicators ### ParkLocator URL: https://siruyy.dev/projects/park-locator Stack: Flutter, Dart, NestJS, Angular, PostGIS, PostgreSQL, Docker, TypeScript ParkLocator is a monorepo with three apps: a Flutter mobile app (built with Very Good CLI), a NestJS REST API with PostGIS for spatial queries, and an Angular admin portal for parking spot management. Uses Docker Compose for the PostGIS database, supports Apple Silicon via qemu emulation, and includes load testing infrastructure. Problem: Existing parking apps are either too generic (Google Maps) or lack proper admin tools and spatial querying. A dedicated platform was needed with a mobile app for users to find nearby parking spots, an API with geospatial search, and an admin portal for parking spot management. Outcome: Functional monorepo with mobile app (Flutter), REST API (NestJS), and admin portal (Angular), with Docker-based PostGIS and load testing infrastructure. Results: - Functional monorepo with 3 independent apps - PostGIS spatial queries for radius-based parking spot search - Docker-based development with Apple Silicon support - Load testing infrastructure for API benchmarking ### College Registrar Document System URL: https://siruyy.dev/projects/registrar-document-system Stack: Laravel, Vue, Inertia, MySQL, Reverb, Tailwind CSS, Pest, Playwright The registrar system is a Laravel 13, Inertia, and Vue 3 application for academic document requests. It includes student registration and approval, document type and requirement setup, offline payment verification, department clearance, release management, private file access, realtime notifications, reports, content management, and security hardening. Problem: Document requests moved through manual forms, payment checks, department clearances, and release handoffs. The workflow needed one role-aware system with traceable request states and secure file handling. Outcome: A near-MVP Laravel/Inertia system that centralizes document requests, payment checks, clearance signatures, release status, notifications, and administrative reporting. Results: - Student document request and payment tracking flow - Admin document, payment, notification, and profile screens - Department clearance and release workflow model - Security and browser regression test coverage ### Hospitality Department Inventory URL: https://siruyy.dev/projects/hospitality-inventory Stack: Next.js, NestJS, PostgreSQL, Drizzle, Zod, Argon2, TypeScript A hospitality department inventory system built from a Next.js 16 web app and a NestJS 11 API on PostgreSQL through Drizzle, with 11 migrations. A shared Zod package defines the schemas used on both sides, authentication hashes passwords with Argon2, and barcode scanners work as keyboard-wedge input. The catalog is seeded with 731 equipment items, and one script starts the whole stack locally. Problem: The department needed one record of who has which equipment and what has been sold, and returns had to separate good, damaged, and lost items without the stock count and the borrower's record drifting apart. Outcome: A Next.js web app and NestJS API with a 731-item seeded equipment catalog, barcode-scanner workflows, and a one-command local start. Results: - 98 commits between June and October 2026 - 731-item seeded equipment catalog - 11 database migrations - Barcode-wedge scanner workflows for borrow, return, and sales ### Smart Pomodoro URL: https://siruyy.dev/projects/pomodoro Stack: Next.js, React, NestJS, PostgreSQL, Drizzle, Google Calendar, TanStack Query, Three.js Smart Pomodoro is a calendar-aware focus app built with Next.js, React, NestJS, Drizzle, PostgreSQL, and Google APIs. It lets a user authenticate with Google, choose a focus calendar, convert calendar blocks into local focus/break sessions, run a resilient focus timer, review history, manage presets, and tune settings. Problem: Focus planning usually lives apart from the calendar, so planned study blocks and actual timer sessions drift apart. The product needed to respect calendar intent while keeping timer state local and recoverable. Outcome: A working Next/Nest product with Google auth, calendar selection, Today planning, focus runtime, presets, history, settings, and smart recommendations. Results: - Google OAuth and focus-calendar selection - Today planning cockpit with calendar-derived sessions - Recoverable active focus timer - Presets, history, settings, and recommendations ### Appliance Retailer Desktop POS URL: https://siruyy.dev/projects/appliance-pos Stack: Tauri, React, Rust, SQLite, Zustand, Tailwind CSS, Recharts, shadcn/ui The POS is a React 19, Tauri 2, Rust, and SQLite desktop app for local appliance-store operations. It includes dashboard metrics, inventory and serial tracking, customer records, sales, installment accounts, payments, reports, import/export, settings, maintenance, audit logs, and backup/restore/reset tools. Problem: The store needed a practical desktop tool for inventory and receivables without depending on a cloud backend, server setup, or always-on internet connection. Outcome: A native desktop management system for appliance-store operations that runs without a cloud backend and gives nontechnical users backup, restore, import, export, and reporting tools. Results: - Local-first inventory, sales, accounts, and payment workflows - Transactional stock and installment account updates - PDF, Excel, CSV, import, export, backup, and restore support - Native Tauri desktop runtime without a cloud backend ### ASL Recognizer URL: https://siruyy.dev/projects/asl-recognizer Stack: Python, TensorFlow, MediaPipe, Computer Vision, Machine Learning, OpenCV ASL Recognizer is a Python-based real-time fingerspelling recognition system. It uses MediaPipe for hand landmark detection, extracts 21 hand landmarks as features, and feeds them into a TensorFlow model trained on a custom dataset of 24 static ASL letters. The datasets are published on both Kaggle and Hugging Face for open research use. Problem: Existing ASL recognition tools are either research-only or require expensive hardware. A lightweight, real-time system was needed that runs on consumer hardware with just a webcam, using open-source ML frameworks. Outcome: Working real-time recognizer for 24 ASL static letters with published datasets on Kaggle and Hugging Face, and a v1.0.0 release. Results: - Real-time ASL recognition for 24 static letters - Published dataset on Kaggle and Hugging Face - v1.0.0 release with live webcam inference - CPU-only inference with sub-100ms latency ### Portfolio v1 URL: https://siruyy.dev/projects/portfolio-v1 Stack: Next.js, React, TypeScript, Tailwind CSS, Portfolio Portfolio v1 is the first complete release of my personal site. It introduced my core sections (projects, about, contact), established reusable layout patterns, and served as the baseline from which v2 evolved. Problem: I needed a personal site to present my work professionally and give recruiters/clients a single destination for projects, technical background, and contact details. Outcome: Shipped a complete personal brand website that became the foundation for v2 and is now maintained as a standalone live demo. Results: - Launched first complete public portfolio - Created a reusable baseline for the v2 redesign - Enabled a separate live demo for historical showcase ### Gatify URL: https://siruyy.dev/projects/gatify Stack: Go, Redis, TimescaleDB, Docker, API Gateway, Rate Limiting, Open Source Gatify is a self-hosted API gateway written in Go. It sits between clients and backend services, providing rate limiting (sliding window algorithm with Redis), HTTP reverse proxy, and real-time analytics via TimescaleDB. The entire stack runs with Docker Compose for easy deployment. Problem: Commercial API gateways come with vendor lock-in, opaque pricing, and limited customization. Developers need a self-hosted alternative that's easy to deploy, performant, and gives full control over rate limiting rules and analytics. Outcome: Functional API gateway with rate limiting, reverse proxy, and CI pipeline. Built in public with a Linear roadmap. Results: - Core gateway with HTTP reverse proxy - Sliding window rate limiter with Redis - Docker Compose one-command deployment - CI pipeline with GitHub Actions