Software that quietly runs your business, built by people who stay
Fedri Consulting Services Ltd has been designing, writing, deploying and maintaining web software for eighteen years. We build websites, business applications, mobile apps for Android and iOS, REST APIs, databases and artificial intelligence features, and then we look after them for years afterwards. One team owns the architecture, the code, the server and the support inbox, so nothing gets passed around until it is forgotten.
Most agencies hand you a project and disappear. We are still running platforms we wrote a decade ago, still answering questions about them, and still improving them month after month. That is the difference between a vendor and a long term technology partner.
Live production work
A platform we built and still operate today
QuranRecord is our flagship product, a school management platform used by Quran schools, madrasas, mosques, private teachers and families around the world. It runs on the web, on Android and on iOS, it is completely free for the schools that use it, and it is written, hosted, secured and supported entirely by Fedri.
A software development company built around one simple promise
Fedri Consulting Services Ltd was registered in Canada in 2008. In the years since, we have delivered hundreds of websites and web based applications for clients in Canada, the United States and the Middle East. Some were small brochure sites for local trades. Others were database driven platforms that quietly handle thousands of records every day. What ties all of that work together is the promise we made at the start, which is that the person who writes your software will still be there when you need to change it.
We are deliberately small and deliberately senior. There is no layer of account managers between you and the engineer. When you describe a problem, the person listening is the same person who will open the code editor, adjust the database, restart the service and confirm the fix on the live server. Decisions travel in a straight line, which is why our timelines hold and why our clients stay with us for years rather than months.
Our work covers the entire software lifecycle. That means requirements gathering, written specifications, interface design, backend development, database architecture, mobile applications, REST APIs, server setup, security hardening, deployment, monitoring, training, documentation and the long tail of maintenance that follows every launch. Very few companies our size can genuinely say they do all of that in house. We can, because we have been doing it since 2008.
Read the full company storyWe write the code
Nothing is subcontracted to a marketplace developer you never meet. The architecture, the code review and the deployment all happen here.
We run the servers
Linux, NGINX, Gunicorn, Redis, Celery workers, SSL and backups. We configure them, monitor them and patch them so you never have to think about them.
We answer the phone
Support is not a ticket queue that swallows your message. You write to a team that already knows your system and can act on the same day.
We stay for years
Software is never finished. We plan for version two and version ten before version one has even been released.
Twenty five service lines, delivered by one accountable team
Most companies come to us with a single problem, then discover that the same team can also host the result, secure it, put it in front of search engines and build the mobile app that goes with it. Every service below is delivered by the people who work here, not by a rotating cast of freelancers.
QuranRecord, a free school platform we built and still run every day
Anyone can list technologies on a services page. QuranRecord is how we prove that we can actually carry a platform. It is a complete school management system for Quran education, used by schools, madrasas, mosques, private teachers and families in many countries. It runs on the web, on Android and on iOS. It handles more than a million page views a month. It is free for every school that signs up, with no advertising and no premium tier hiding behind the useful features.
Every part of it comes from this company. The Django backend, the MySQL schema, the REST API that feeds both mobile apps, the Kotlin Android client, the SwiftUI iOS client, the Celery workers that send notifications, the Redis cache, the Linux servers, the security, the app store submissions and the support replies. When we tell a client that we can own a system from idea to daily operation, this is the evidence.
- MySchool and FamilyHub give administrators, teachers and parents their own login with the right level of access.
- QuranJourney merges scattered daily entries into one continuous Quranic sequence with downloadable reports.
- Attendance and MissingRecord alerts close the gaps that paper registers always leave behind.
- Subjects and Alimiyat track academic classes, vocational courses, sports and multi year scholarship programmes.
Built with the same stack we offer clients
Eighteen years of doing the boring things properly
Software companies rarely fail at the exciting part. They fail at the follow through, at the server that was never patched, at the backup nobody tested, at the developer who stopped replying. Our reputation was built on the opposite habits.
You talk to the builder
There is no translation layer. The person who takes your call understands your database schema, so requirements do not get lost between a salesperson and an offshore team. This single fact removes most of the misunderstandings that damage software projects.
The code belongs to you
You receive the source code, the database and the deployment notes. Nothing is locked inside a proprietary builder that holds your business hostage. If you ever want to move the project elsewhere, you can, and we will help with the handover.
Estimates that survive contact
We break work into pieces small enough to price honestly, then tell you which parts are certain and which parts carry risk. Clients are far happier with a realistic number than with an optimistic one that quietly doubles.
Security is not an extra
Certificates, security headers, password policy, permission checks, dependency updates and tested backups come as part of the build. We have never treated basic protection as a line item to be negotiated away.
Speed as a design goal
Slow software costs money every day it stays slow. We profile queries, add caching where it helps, move heavy work into background jobs and keep pages light so people on ordinary mobile connections are not punished.
Plain language, always
You will never be handed a document full of jargon designed to make the work look harder than it is. We explain the trade offs in ordinary words so you can make the business decision that only you can make.
A process that has been refined over hundreds of projects
Every project we have delivered since 2008 has followed roughly the same shape. The names change and the tools improve, but the sequence stays the same because it works. It starts with understanding and ends with a system somebody is responsible for.
The most important stage is the first one. When a project goes wrong, it is almost never because the code was written badly. It is because nobody wrote down what the software was actually supposed to do. We refuse to skip that step, even when a client is in a hurry.
Read the full processDiscovery and written specification
We sit with the people who will use the system and learn how the work happens today, including the awkward exceptions nobody mentions in the first meeting. The output is a written document that describes every screen, rule and report in plain language, so you can approve the plan before a single line of code exists.
Interface design and data model
Screens are laid out and the database is modelled at the same time, because the two decide each other. Getting the data model right at this stage saves months later, since a good schema absorbs new requirements while a poor one fights every change.
Development in visible stages
Work is delivered in pieces you can log into and try. You are never waiting three months to see something real, and small corrections happen while they are still cheap rather than after everything has been wired together.
Testing, deployment and training
We test the ordinary path and the awkward one, then deploy to a properly configured server with certificates, backups and monitoring in place. Your team receives training in plain language along with written notes they can keep.
Care, improvement and growth
After launch we watch the logs, apply security updates, tune the slow queries that only appear under real usage and plan the next set of improvements with you. This is the stage most vendors skip and the stage that decides whether software lasts.
A deliberately boring stack, chosen because it lasts
We do not chase frameworks. We choose tools with long support histories, large communities and predictable upgrade paths, because you will still be running this software in ten years and someone will need to maintain it.
Backend
Python and Django carry the business logic, with Django REST Framework exposing clean interfaces for web and mobile clients.
PythonDjangoDRFData and queues
MySQL for durable relational storage, Redis for caching and Celery for the work that should never block a page load.
MySQLRedisCeleryMobile
Kotlin for Android and SwiftUI for iOS, both talking to the same API, both published and maintained on the stores.
KotlinSwiftUIFirebaseInfrastructure
Linux servers running NGINX and Gunicorn, with SSL, firewalls, automated backups and monitoring configured from day one.
LinuxNGINXGunicornWe learn your business before we build for it
Good business software is mostly domain knowledge wearing a technical costume. Before we design a booking system we want to know what happens when two customers want the same slot. Before we design a school portal we want to know what a teacher does at half past eight in the morning when twenty children are waiting.
Over eighteen years we have built for education, charities and community organisations, retail and ecommerce, professional service firms, trades and contractors, healthcare administration, logistics and property management. Each field taught us something we still use, and none of them received a template.
Industries we serveEducation
Schools, madrasas and academies
Non profit
Charities and community groups
Retail
Stores and online sellers
Professional services
Consultants and agencies
Trades
Contractors and field teams
Logistics
Dispatch and tracking
Working with a Canadian software development company that has lasted
Choosing a software development company is one of the more uncomfortable decisions a business owner makes, because you are buying something you cannot inspect before it exists. The proposals all look similar. The technology words are the same on every website. What separates one firm from another usually only becomes visible eighteen months later, when you need a change made quickly and you find out whether anyone is still there to make it.
Fedri Consulting Services Ltd was registered in Canada in 2008 and has been trading continuously ever since. That is eighteen years of invoices, renewals, migrations, framework upgrades, server moves, difficult clients, good clients, deadlines met and lessons learned. Longevity is not a marketing claim, it is simply the record. Companies that cut corners do not usually get to eighteen years, because the corners come back.
What we actually build for clients
The majority of our work falls into a few recognisable shapes. The first is the business website, which needs to explain a company clearly, load quickly, work on a phone and be found in search results. The second is the web application, which is really a piece of software that happens to run in a browser, covering bookings, memberships, inventory, approvals, records and reporting. The third is the mobile application, usually built because the people who need the system are standing up rather than sitting at a desk.
Around those three shapes sit the supporting services that decide whether the main system succeeds. Databases have to be designed so that reports stay fast when the table reaches a million rows. APIs have to be written so that a second system can be added later without rewriting the first. Servers have to be configured so that a certificate does not silently expire on a Saturday. Search visibility has to be earned with structure and content rather than borrowed with tricks. Every one of those is a service we provide, and each one has its own page on this website explaining exactly what is involved.
Why we build most systems with Python and Django
Django has been our main framework for years, and the reason is unglamorous. It ships with the security defaults, the administration interface, the database migrations and the user management that every business system needs, which means we spend our time building the part that is specific to your company instead of rebuilding foundations. It has a long history, a large community and a documented upgrade path, so a Django project written today can still be maintained a decade from now by someone other than us.
Alongside Django we use MySQL for storage, Redis for caching, Celery for background work such as sending thousands of notifications without slowing anything down, and Django REST Framework for the interfaces that mobile applications consume. On the mobile side we write native Kotlin for Android and native SwiftUI for iOS, because native applications feel better and behave better than the alternatives, especially on the older devices that a large share of real users still carry.
Artificial intelligence, used where it genuinely helps
We have been adding artificial intelligence features to production applications for several years, working with large language model platforms including Claude and DeepSeek. The interesting part is never the model, it is the plumbing around it. A useful AI feature needs access to your real data, clear boundaries about what it may do, a sensible fallback when it is unsure, a log of what it produced and a human being who can step in. We build that plumbing.
The features that pay for themselves tend to be quiet ones. An assistant that answers staff questions from your own policy documents. A classifier that routes incoming enquiries to the right person. A drafting tool that produces the first version of a repetitive reply. A search box that finally understands what people are asking. We are happy to tell you when artificial intelligence is the wrong answer to your problem, which is more often than the current enthusiasm suggests.
What happens after the project is delivered
Launch day is the beginning of the useful life of a system, not the end of the work. Browsers change. Operating systems change. App stores tighten their rules. Libraries publish security patches. Your business changes too, and the software has to keep up or it slowly becomes the thing everybody works around. Our maintenance plans exist because we have watched what happens to unmaintained software, and it is never a small problem when it finally arrives.
A typical care arrangement covers security updates, backup verification, uptime monitoring, content and small feature changes, an annual review of performance and a written summary each month of what was done. Clients on those plans rarely have emergencies, because the issues get caught while they are still routine. If you already have a system built by someone else and you have lost contact with them, we take those over regularly and we will tell you honestly what condition it is in before you commit to anything.
Where we work
Fedri operates from a Canadian office in Saskatoon, Saskatchewan and a United States office in Casper, Wyoming, and our work has been delivered to clients across North America and the Middle East. Because everything we build is designed for the web from the beginning, distance has never been the limiting factor. Clear writing, a shared specification and regular demonstrations matter far more than a shared postcode, and our longest client relationships have been with companies we rarely meet in person.
If you are weighing up a new build, a rescue of something that has gone quiet, or simply a second opinion on a quote you have received elsewhere, the contact page is the place to start. Tell us what you are trying to achieve rather than what you think you should ask for, and we will reply with a straight answer about whether we are the right firm for it.
The questions we are asked in almost every first conversation
Tell us what you are trying to fix
Describe the problem in your own words and we will reply with a straight answer about scope, cost and timing. If we are not the right company for the job, we will tell you that too, and point you somewhere sensible.