I build and fix the software small businesses run on.

I'm Boni, a full-stack developer in Montreal. Since 2016 I've built web apps, websites and online shops for clients in the US, Europe, Asia and Australia, without breaking the bank.
- An auto repair shop has run on my software since 2022
- A card marketplace now holds up under heavy traffic
- An online shop more than doubled its quote requests after Google cut its traffic
- A company's customer data is now encrypted, with a security check every month
I usually reply within a day, in English or French.
"Bahati did such a fantastic job, on a not so straight forward job. He worked with such dedication to the project and communicated wonderfully throughout."
What I do
"We run the business on spreadsheets."Web applications
I build a tool that replaces the spreadsheet, like a CRM, invoicing or a booking form. I've done it for an auto repair shop, a banking client and a team that was paying for Monday.com.
"Our site is slow, or we can't change it ourselves."Websites and online shops
I use WordPress and WooCommerce when you want to edit things yourself, and a plain, fast site when you don't. Either way I test it with Google's own speed check.
"We don't show up on Google for what we sell."Programmatic SEO
I generate pages that can rank on Google, one for each product, location or search your customers make. They are built from your own data and follow Google's guidelines: useful content, fast loading, clear links between pages. If a page wouldn't help anyone, I don't publish it.
"Our developer left."Taking over existing software
I read the code, get it onto a server you control, fix what's broken and write down how it works.
"Our hosting bill keeps going up."Hosting and migrations
I move apps and databases to cheaper servers or to Cloudflare, set up backups, and cancel the services you pay for and don't use.
"We think we've been hacked."Security incidents
I stop the attack, find out what was taken, help you tell the people affected and fix what let the attacker in.
"We want to use AI but don't know where to start."AI features
I start with one job, like a bot that answers customers from your own documents or a script that reads and scores text. It stays small enough that you can check it works.
"We lose sales because custom orders go through email."Product configurators
I add features to your shop that bring in more orders. With a configurator, customers add their text or logo, see the product and the price, and pay without emailing you.
"It works. We want it to keep working."Ongoing care
Updates, backups, monitoring and small changes every month.
How a project worksFive steps, from the first call to handover
- We talk. You tell me what the business does and where it gets stuck. I ask a lot of questions. If a better spreadsheet would do the job, I'll tell you that.
- I send a short plan. What I'll build, what I won't, how long it should take and the price: $75 an hour, or a fixed number when the job is clear.
- You see it working early. The first version runs on your real data, and we change it from there.
- Launch. The code, hosting and accounts are in your name, with notes another developer can follow.
- After launch. I can stay on for updates and small changes each month, or hand it to your team.
Not sure which of these you need? Describe the problem and I'll tell you.
Skills and tools
Mostly TypeScript and Python. If your project already runs on something else, I'll usually stick with it. Some of my code is on GitHub.
- Languages
- TypeScript, JavaScript, Python, Elixir, SQL, Go, C
- Front end
- HTML, CSS, React, Next.js, Vue, Astro, Tailwind CSS, Bootstrap, MUI, Responsive design
- Back end
- Node.js, Django, FastAPI, Flask, REST APIs, Webhooks, Stripe API
- Data
- PostgreSQL, MySQL, SQLite, Redis, Supabase, Web scraping and data pipelines
- AI
- OpenAI API, LangChain, Vector embeddings, Retrieval (RAG), MCP servers
- Business tools
- Custom CRMs, Banking CRM, Invoicing, Excel and Monday.com migrations, Jotform
- Shops and CMS
- WordPress, WooCommerce, Custom WordPress plugins, Fancy Product Designer
- Hosting
- Bare-metal servers, Cloudflare, Coolify, DigitalOcean, Linux
- DevOps
- Docker, Ansible, Bash, cron and systemd, GitHub Actions, GitLab CI
- Migrations and cost
- Server and database moves, Hosting cost reduction, Caching and CDN setup
- Security
- Incident response, Field encryption, Backup and retention cleanup, Monthly security checks
- Testing
- Cypress, Puppeteer, Unit tests, Manual QA
- Measurement and SEO
- Google Analytics, PostHog, Core Web Vitals, Google Ads conversion tracking, Technical SEO, Programmatic SEO
- Design
- Figma, Photoshop, draw.io
- Ways of working
- Git, Jira, Slack, Agile, Scrum
- Also
- Browser extensions, Product configurators
- Spoken
- English, French, Mandarin (conversational)
Using something that isn't listed? Ask me about it.
Previous work
An auto repair shop that ran on ExcelStill running four years on, about 300 repair orders a month
The shop kept its jobs in Excel and retyped them into an old database. The manager wanted one thing first: to look up a car by its plate from his phone. He had it in six days.

"you are the best best best i have ever found"
A marketplace that slowed down when it got busyEvery page now loads under heavy traffic
MySlabs lists more than 200,000 graded sports cards. When I tested the old hosting under heavy traffic, most visitors never got their page.
I moved the site to new hosting. In the same test, every page loaded, in about a second.

An online shop that lost its Google trafficQuote requests went from about 3 a week to 7 or 8
Google changed its search results and added AI answers, and the shop's traffic dropped. I moved the ad budget to the searches that bring buyers and rebuilt the quote form.

A company that needed its customer data securedCustomer data encrypted, with a security check every month
After a security incident, I helped the company tell its customers what had happened and answered their questions.
Then I encrypted the sensitive customer data, cut how long data and backups are kept, and set up a security check that runs every month.
Who I've worked with
- MySlabs
The auction engine and seller tools for a sports-card marketplace that has processed over $80 million.
- Global Admissions and China Admissions
I lead a small development team building the platforms that help international students find and apply to universities.
- Upwork
68 jobs and 3,763 hours since 2016, for clients in the US, Europe, Asia and Australia.
Other client projectsClients aren't named here because they didn't sign up to be on my website.
- Web apps
- CRM for a banking client, similar to IRIS CRM
- CRM that took an auto repair shop off Excel
- CRM that replaced Monday.com
- Invoicing app
- Service request form that shows customers the technicians near themThird-party API
- AI
- Support bot that answers customers from a company's own documentsOpenAI, LangChain, vector embeddings
- Script that scores text through the OpenAI APIPython, OpenAI
- Takeovers
- Moved a Python web app to a new server and tuned itPython, Redis, PyTorch, DigitalOcean
- Updates to a tool that turns WhatsApp chat exports into web pages
- Shops
- Product designer for an online shopWooCommerce, Fancy Product Designer
- Website and trunk configurator for a maker of custom horse tack trunksWordPress
- Product customization tool
- Small tools
- Chrome and Firefox extension that downloads Substack videos
- Higher-or-lower quiz game for a conference
- Jotform forms connected to a client website
What clients say
"I have been working with Bahati for over 6 months now. Excellent communication, great work. Completes all jobs well."
"Bahati did an outstanding job, building a WP website and customizing an application for that site."
"Bahati did such a fantastic job, on a not so straight forward job. He worked with such dedication to the project and communicated wonderfully throughout."
"Very good work and communication!"
Have a project like one of these? Ask me a question.
Research
I study usability in open-source software at the HCD Lab, Polytechnique Montréal.
I work the same way for clients. I watch real people use what I build before I call it done. Before that, in China, I tested how Fortune 500 companies' products worked for Chinese users and proposed fixes.
- 2024 to now
- Polytechnique Montréal, HCD LabPhD in human-computer interaction, on the fast track from the master's
- 2021 to 2022
- Shanghai Jiao Tong UniversityOne year of a master's in control science and engineering
- 2016 to 2020
- Zhejiang University of Science and TechnologyBEng, software engineering
Want to talk about your own project? Ask me a question.
Ask me a question.
A few lines are enough: what the business does, what isn't working and when you need it fixed.
I usually reply within a day. I'll say how I'd approach it, or tell you if I'm not the right person for the job.
Before you write
What will it cost?
$75 an hour. If the job is clear enough, I'll give you a fixed price on the first call instead.
Do you take small jobs?
Yes. Plenty of my work has been a few hours: one fix, one form, one server move.
We already have a site or an app. Do you start over?
Rarely. I'd rather fix what you have. If a rebuild would cost you less, I'll say so.
I'm not technical. Is that a problem?
No. Describe the problem the way you'd tell a colleague and I'll ask the rest.
Who owns what you build?
You do. The code, the hosting and the accounts are in your name.
Where are you, and when can we talk?
Montreal, on Eastern Time. You can book a call from this page, in English or French.