Who you'd actually be working with
You're handing someone your code, your keys and often your customers' data. You should know exactly who that is.
Placeholder — replace before launch
This section needs a name, a photo, and a short honest background: what you've built, how long you've been doing it, and why you started the studio. It is the single highest-value block on the site for a buyer deciding whether to trust you, and it's the one thing a competitor can't copy.
Who does the work
There's no bench to be assigned from and no account layer to go through. You meet the engineer on the first call, and that's who builds it.
- It's me, plus specialists I bring in per job
- There's no bench and no account layer — I do the work myself. When a job needs something outside my depth, I bring in someone I've worked with and trust, and you know who before they touch anything.
- Based in Australia, working your hours
- No offshore work, and nothing quietly passed to a contractor in another time zone. Whoever's on your project works Australian hours, so a question doesn't wait overnight for an answer.
- The person you meet is the one who builds it
- The person on your first call is the person who writes the code, answers your questions while it's underway, and hands it back at the end. Nothing gets reassigned to whoever happens to be free, and there's no account manager sitting in between.
- If I'm unavailable mid-job
- The timeline shifts rather than the work being quietly handed to someone else without telling you first.
- Sam — Design & UX
- Rob — iOS & Mac apps
- Sophia — Product management
- Stefan — Android apps
- Lily — Cloud & security
How we work
We settle the number before work starts. If the job changes, we re-quote — we don't add it to the bill.
Or we tell you on day one that it's a bigger job than that. If we still miss a date we've committed to, the extra time is free.
The code, the repository and everything in it are yours outright once the job's paid for — no licence to renew, no dependency on us to keep using it.
New clients get the code check, the fix it turns up, and the app deployed to their own domain for nothing — one app, about two hours of work, done whether or not you hire us for the rest.
On the first call, and we'll usually point you somewhere better.
What we build with
All of it mainstream, so you can hand the code to any other developer and have them get on with it. If a simpler tool would do your job, we'll say so.
The screens your customers and staff actually use.
- React
- The building blocks most modern web apps are made from
- React Router
- Our default framework for new sites and apps
- Next.js
- The other common React framework — we use it when you already have it
- TypeScript
- JavaScript with type checking, so mistakes surface before your users find them
- Tailwind CSS
- How we style pages without a stylesheet nobody dares touch later
- shadcn/ui
- Ready-made buttons, forms and dialogs, with the code handed to you
- React Native
- One codebase for both iPhone and Android apps
- Expo
- The toolkit around React Native — builds and app store releases without a Mac full of native tooling
The part your customers never see, where the rules and the integrations live.
- Node.js
- Runs JavaScript on the server — the same language as the front end
- Java and Spring Boot
- Long-running business systems, and anything you already have in Java
- Python
- Data work, scripts and most AI tooling
- REST and GraphQL APIs
- How your systems talk to each other and to anything you plug into
Your records, files and anything you'd be in trouble for losing.
- PostgreSQL
- Our default database — free, dependable, and it runs anywhere
- Redis
- Holds frequently used data in memory so pages stay fast
- Object storage
- Files, images and backups, on S3 or Cloudflare R2
The boring parts that decide whether the app is still working in a year.
- GitHub and Actions
- Where your code lives, with a record of every change — and what runs the tests and puts new versions live
- Docker
- Packages the app so it runs the same on every machine
- Vitest and Playwright
- Automated tests that click through the app before your customers do
- PostHog
- Shows how people actually use the app, and tells us an error happened before a customer emails you about it
Where we are
Melbourne-based, working remotely with clients across Australia.
- Based in
- Melbourne, Victoria
- Hours
- Mon to Fri, 8:30am – 5:30pm Melbourne time
- hello@smallshop.au