Service
Business applications: the system your operation runs on.
Purchasing, inventory, field operations, quality control, invoicing — the work that ends up in a spreadsheet nobody can audit and one person understands. We build the system that replaces it, with permissions per role, documents generated rather than hand-assembled, and a trail of who changed what.
Scope
What this usually means in practice
- Operations and CRM
- Contacts, quotes, orders and the lifecycle between them, modelled on how your business actually moves rather than on a generic sales funnel. Live pricing and currency movement where the numbers change under you.
- Multi-team workflow
- Work handed between field staff, factory, lab and finance, each seeing what they are allowed to see. Exception queues for the cases that need a person instead of a rule.
- Documents that generate themselves
- Quotes, receipts, certificates and reports produced from the data, in more than one language, identical every time. This is usually where the hours were going.
- Reporting and audit trail
- Consolidated performance reporting, and a record of who changed what and when — the part that matters when a number is disputed months later.
- Migration off the spreadsheets
- The existing files read, reconciled and imported, with the disagreements surfaced rather than silently resolved. Nobody starts from an empty database.
Leverage
Where the agents come in
Not in the architecture, and not in the decisions. In the repetitive engineering that makes this kind of system expensive:
- Reading a decade of spreadsheets and proposing the schema they imply, for an engineer to correct.
- Generating the test suite around the rules once the rules are agreed.
- Writing the first pass of every CRUD screen and every import script, then being reviewed like any other contributor.
- Migration dry-runs, repeated until the reconciliation report comes back clean.
◆ marks a point where a person decides. Nothing passes it on its own.
Stack
- Laravel
- PHP
- MySQL / PostgreSQL
- React
- Next.js
- JSON:API
- Docker
Built this before
Siam Cat Recycling
2025 — present · maintenance
A CRM and operations platform for a precious-metals recycler.
The full lifecycle of platinum-group-metal recovery in one auditable system: supplier CRM, purchasing with live metal rates and currency movement, factory reception, lab test assignment and QA, role-based permissions per team, and bilingual EN/TH document generation for quotes and receipts.
- Laravel
- React
- Next.js
- MySQL
NDT Reporting
2022
Ship-hull inspection moved off paper, inside steel hulls with no signal.
Marine surveyors drop thickness measurements and defect markers onto uploaded ship blueprints, work fully offline and sync later, and generate Class-format PDF or CSV reports on the spot. Plus a superintendent dashboard for fleets and historical gauging data.
- React Native
- Laravel
- Firebase
- MySQL
The Nightlife Asia
2022 — present · equity partner
A nightlife discovery app, rebuilt for a subscription business.
V1 shipped on iOS and Android with its own API. V2 rebuilt the app in Expo around a deal-claiming system, added a venue-facing back office, moved the business from venue listings to paid user subscriptions, and integrated Stripe. Snow Digital holds equity in the company.
- Expo
- React Native
- Laravel
- Firebase
- Stripe
The questions we get asked
Why not an off-the-shelf CRM or ERP?
Usually you should, and we will say so. Custom wins when the process is the business — a metal recovery lifecycle, a marine survey, a claims workflow — and configuring a generic tool to match it costs more than building the thing. If your process is ordinary, buy the ordinary tool.
Who owns and maintains it afterwards?
You own it. We can hand it over with documentation, or keep running it on a monthly retainer. Both are normal; the choice is yours after it works.
How do you price a system whose scope will move?
In phases with a fixed price each, not one fixed price for an unknown. The first phase is the smallest thing that replaces a real spreadsheet, because that is when you find out whether the model is right.
Describe the process that lives in a spreadsheet.
Thirty minutes. We will tell you whether it is a build, a configuration job on something you can buy, or a process that should be fixed before any software touches it.