I build and maintain web and mobile apps for startups and small SaaS.
A few hours a month, without hiring anyone. I work with founders who already have something in production and a to-do list that never gets shorter.
Right now I build on Flinky, a SaaS platform in production, inside a distributed team: new features, integrations, debugging code that has real users on it. Alongside that I'm building EchoFrame, my own app.
If you have a specific technical problem and nobody free to look at it, I can probably help.
What I do
Development
New features on products that already exist, or mobile apps from scratch. React Native and Expo for mobile, React and TypeScript for web.
Integrations & APIs
Connecting your product to the services you already use: payments, auth, webhooks, CRM, push notifications.
Fixes & performance
Bugs nobody has time to look at, slow screens, crashes in production. I get into the code, work out what's happening, and fix it.
Ongoing support
A fixed block of hours every month. You get a developer when you need one, without the cost and commitment of a hire.
Work
2026 — PRESENT
EchoFrame
My own product · Android beta
Leave a memory where it happened. An echo is a photo left in the real world. It waits where it was taken until someone stands in the same place and finds it.
On the map you can see something is there and how far away. It only opens once you actually get there.
I designed and built all of it: app, database, website, legal pages.
- React Native
- Expo
- TypeScript
- Supabase
- PostGIS
- Row Level Security
How a photo opens client
01App asks to opendatabase
02Database RPC- 03PostGIS distance check
- 04Signed URL, expires fast
The photo never has a public URL. Permission is decided by the database, not the client.
What's in it
- React Native app with Expo Router, in-app camera, MapLibre map and background geofencing
- Supabase backend: Postgres with PostGIS for proximity queries, Row Level Security as the security boundary, Postgres RPCs for every sensitive operation
- Photos in private buckets, served only through short-lived signed URLs
- Push notifications, data export, a moderation queue, and GDPR done properly: data controller, hosting region, minimum age, signed unsubscribe
Why it's here
The hard part of EchoFrame isn't the map — it's never handing data to someone with no right to see it. That's usually something you have to take on trust. Above is how I solved it.
Experience
2026 — PRESENT
Flinky AI
Software Developer
Flinky automates conversations with prospects across chat channels: answering questions, qualifying leads and booking calls — the job a sales setter does.
I work on the product in production: feature development, API integrations, database work, debugging and code review, inside a distributed team.
I work remotely for a client abroad and invoice every month — which is the same arrangement as the ongoing support further down. If you're weighing up whether remote works: for me it's just how I work.
- React
- TypeScript
- Convex
- REST API
- Postgres
Pricing
from €320/month
Ongoing support
A fixed block of hours every month, used however you need: bugs, small features, maintenance, updates. 8 or 16 hours. Cancel whenever you want.
This is the one I'd suggest if your product is already live.
Let's talkfrom €600
A feature or a project
A new feature, an app from scratch, a part that needs rebuilding. Fixed quote, once we both understand what's actually needed.
from €180
One-off work
A bug, a migration, something that broke. Half a day minimum.
Prices are final — I don't charge VAT under the Italian flat-rate scheme.
A first conversation to see whether it makes sense is free and commits you to nothing.
Contact
Tell me what you're building and what's getting in the way.
I reply within one working day.
dodgel --status
- reply
- within 1 working day
- first call
- free, no commitment
- retainer
- from €320/month · 8 or 16 h
now
10:00 – 22:00