Nobel Dahal

Independent software consultant · Kathmandu, Nepal · UTC+5:45

PDFWord

Built Kaede, a cargo ERP for freight forwarders, end to end: IATA ONE Record and Cargo-XML, AWB stock under concurrency, carrier-portal automation, and a learning engine that suggests from the office's own history. Laravel contributor; author of Syncfusion's Nepali locale. Full-stack developer in Kathmandu, shipping production software since 2018.

Selected work

Kaede · Cargo ERP for freight forwarders · Creator and lead engineer

2022 – present
  • Runs a forwarder end to end: quotes, air waybills and stock, pickup and delivery, billing, leave and payroll; air, sea and road.
  • Reads booking emails, invoices and packing lists and drafts the waybill for a person to confirm; full-text search and OCR over every document.
  • Learning engine suggests parties, HS codes and routings from the office’s own history; rate builder suggests prices from rate tables.
  • Native IATA ONE Record and Cargo-XML; browser automation for airline portals (Cathay Cargo, Etihad Cargo, iCargo).
  • WhatsApp, Viber, Telegram, LINE, WeChat, Teams, Slack, SMS, email and web chat in one desk; driver and warehouse app with scan batches.
  • Plain-language analytics with the shipments behind every number; SHA-256 hash-chained audit trail verified nightly; multi-tenant with billing.

Laravel 13, PHP 8.4, Vue 3, PostgreSQL, Reverb (WebSockets), Syncfusion, Playwright · English, Nepali, Japanese

Kalimati Market · kalimatimarket.gov.np · Sole developer

2021 – 2025
  • Platform for Nepal’s largest wholesale produce market (60–70% of Kathmandu valley supply): website, ad-free Android app and staff admin.
  • Daily prices for 100+ commodities and arrivals, with history and comparisons; notices, tenders and pesticide reports; Nepali and English.
  • Online dues payments via eSewa, Khalti and bank: exact-amount checks, single-use references, queued server-to-server verification, daily rollover.
  • Payment API for gateway providers: per-provider HS512 JWTs, IP allow-listing, quarterly key rotation, named errors, maintenance-safe retries.
  • Nightly sync with the market’s office system: transactional CSV imports with checksums and one-per-day guards, payment exports, libsodium encryption.

Laravel, MySQL, queues, libsodium, JWT, Android

Experience

Independent · Software Consultant · Own practice

Jan 2020 – present
  • Design, build and run ERP, CRM and operations systems for clients, from schema to deployment. Kaede and Kalimati Market above.

Code for Nepal · Data Science Fellow · Part-time

Dec 2021 – May 2022

United Real Estate (US) · Software Engineer · Contract

May 2020 – Apr 2021
  • Migrated the brokerage from Zoho CRM to Microsoft Dynamics 365, with tooling for records and the document store (to SharePoint).
  • Node.js microservice over the Dynamics Web API (Azure AD) that finds agents near a lead among millions of records and maps them in seconds.
  • C# plugins (Leads, Opportunity, Super Obituaries), schema tooling to replay customisations, Power Automate flows for mail and Planner.

Proshore · Software Engineer · Full-time

Oct 2020 – Feb 2021
  • Led the build of Affiliatefeed, a Shopify app forked from Exportfeed into a standalone PWA, including company-wide demos.
  • Refactoring within Joomla MVC; pushed for test-driven development; remote Agile team.

TechSathi · Platform Architect · Part-time

Jun 2020 – Nov 2020
  • AWS operations and continuous delivery for a news portal; cut query times with views and stored procedures.

ThemeGrill (WPEverest) · WordPress Plugin Developer · Full-time

Nov 2019 – Jun 2020
  • 28 merged pull requests to Everest Forms and User Registration: WPML support, PHPUnit setup, conditional logic, email validation.
  • Rebuilt the PDF Submission add-on: render time at least halved, size from 12 MB to 5.6 MB.
  • Found a file-upload validation bypass in Everest Forms Pro (fixed in 1.7) and closed a server-side email validation gap in the core plugin.
  • Wrote the WPEverest developer documentation.

Gurkha Technology · Software Engineer · Full-time

Jul 2019 – Nov 2019
  • Exam system for Presidential Business School: randomised entrance papers; a scraper that gathered 17k questions, replacing manual entry.
  • Two-person team for nimbusnepal.com and its Laravel CMS with an applicant tracking system.

Google Developer Group (GDG) Dang · Organizer and Speaker · Volunteer

2019
  • Volunteer organizer; deployed the chapter’s DevFest 2019 site, a Vue PWA on Firebase.
  • Spoke on Google Vision AI, with an open-source Lumen demo app for attendees to start from.

The Open Institute for Social Science · Software Engineer · Internship

Nov 2018 – Feb 2019
  • Contributed to ERPNext and Zulip under Dr. Peter Graif; Linux administration on DigitalOcean.

Open source

  • Laravel · Fixed a date overflow that crashed validation. Shipped in 8.x.
  • Syncfusion EJ2 · Wrote the Nepali locale, now part of the library.
  • WPEverest · 28 merged pull requests to Everest Forms and User Registration.
  • WPEverest docs · Wrote the developer documentation, on my own.
  • GDG Dang · Built the DevFest 2019 site and a Vision AI demo for my talk.
  • PHPJasper · Maintain a fork for production: JasperStarter 3.6.2, headless Java, Japanese fonts.
  • vee-validate · Made the Nepali messages formal and correct.

Skills

Backend
PHP, Laravel, Node.js, Express, Python, C++
Data
PostgreSQL, MySQL, SQL Server, MariaDB, Power BI, Tableau
Frontend
Vue.js, JavaScript, HTML, CSS
Platform
Linux, Bash, Docker, AWS, CI/CD, Dynamics 365

Certifications

  • Project Management Foundations · PMI, 2024
  • DevOps Professional Certificate · PagerDuty, 2024
  • Career Essentials in Software Development · Microsoft, 2024
  • Career Essentials in Project Management · Microsoft, 2024
  • Introduction to Generative AI · AWS, 2024
  • Intermediate PostgreSQL · University of Michigan, 2021
  • SQL Server Developer · DataCamp, 2022

Education

Bachelor of Engineering, Computer · Himalaya College of Engineering, 2014–2018

  • Home
  • WorkEverything since 2017
  • Writing
  • About
  • ConsultHow I help, how we work, questions
  • Résuméas a page
  • Nowthis month
  • How this site is built
  • KaedeCargo ERP
  • Kalimati MarketGovernment platform
  • GenericPropertiesReal estate CRM
  • What building IATA ONE Record taught me about linked data
  • Handing out air waybill numbers without handing out the same one twice
  • mTLS and OAuth2 on the same call, step by step
  • Most waybills are the usual one
  • Designing a freight rate engine that four modes can share
  • Keeping PHPJasper alive for a cargo ERP
  • A copilot that lives in bash and asks before it acts
  • Teaching a UI library to speak Nepali
  • Integrating eSewa and Khalti in Laravel without trusting the redirect
  • Taking money on a government website
  • One developer, one market, no ads
  • A date that didn't fit in an integer
  • Finding the nearest agent among millions
  • The check that only lived in the browser
  • Dynamics CRM pluginsC# plugins · 2020
  • Syncfusion in NepaliLocalisation · 2024
  • AffiliatefeedShopify app · 2021
  • WPEverest developer docsDocumentation · 2020
  • Everest FormsWordPress plugins · 2020
  • Rapti CRMERPNext customisation · 2020
  • TaskmonTask manager · 2019
  • GDG DangCommunity portal and talk · 2019
  • Presidential Business School EMSExam system · 2019
  • PHPJasper, maintainedPHP library · 2025–now
  • Nimbus NepalCMS and backend · 2019
  • Loksewa Aayog QuizFacebook Instant game · 2019
  • Debendra ManandharWebsite · archived copy · 2019
  • Four Seasons EngineeringWebsite · 2019
  • Travel Time NepalWebsite · archived copy · 2019

↑↓ to move · Enter to open · Esc to close

Reading and accessibility

Text size
High contrast
Reduce motion
Underline all links
Easier reading spacing
Saved on this device. Your system's reduced-motion and dark mode are always respected.