Delivering real-world software that offers real value
Every project is unique, but all benefit from the knowledge gained in each of them.
What our bespoke software can do
Replace a manual, time-consuming and error-prone process with a website and a database.
Many businesses rely on a paper checklist, or a 20 tab Excel file, or a shelf of lever-arch files.
A web-based system can remove that clutter while streamlining the business process. And at the same time ensure the data is safe and reliable and accessible from anywhere in the world, leaving you and your staff free to work on the real business.
Automating a business process.
Most businesses have a number of moving parts to produce their unique product. The way one step follows the next, in a repeatable way, while ensuring the best quality, is an ongoing challenge. A software system captures the knowledge of your business as it grows and ensures that your customers always experience the same quality service. Plus your new staff are ready to go in record time.
Computers are faster than people, can remember more than people, and can process more data more reliably than people. Only a software system can run millions of complex calculations many times a day, or mine through huge datasets looking for relationships.
What used to require high-end super computers with armies of developers to manage them is now in reach of everybody.
Communicating with other computers.
Our world is more connected than ever, and most of those connections are to machines. Whether it be a banking system or an Uber app, your business can benefit from reaching out and talking to the world.
Reaching your audience.
If your business is based around interacting with people, then an app or a website is the number one way to reach them. You'll need to consider all aspects from getting the people to your site, showing useful information, storing the data and building people into your systems.
Previous and ongoing projects
We have implemented and improved a diverse array of products, projects and systems, including:
- a tablet-based customer point of sale site
- a fibre optics requisition system
- a parts management and logistics system for oil shipping companies
- various finance and loan systems, with custom interest calculations and banking connections
- a car selling and quoting system with lead generation and tracking
- a bar-code based stock-taking program
- a coin-counting machine interface
- an tablet-based auditing system with offline capability
- a psychometric system with a extensively configurable calculation and rendering engine
- various personal information tracking sites, both for compliance and marketing opt-out
- a statistical recalculation engine for rezoning poll data across an entire country
- an international medical analysis data import and export engine
- an image based social sharing site
- a register for mapping the geo-location and usage of all public facilities in a country
- a school-to-parent communication system
- a planning tool for car repair companies
- various logistics tools of different scales, from local companies to international distributor networks
- apis for quiz based games distributed as iOS apps
- a planning tool for connecting restaurants and food suppliers
- and many more, we enjoy a challenge...
Languages and Technologies
Most of our projects are written in Python/Django, with a Postgres or Mysql database backend, using an Apache2 or Nginx webserver, and running on Ubuntu.
Some technologies which we work with frequently
We also work in variants of this stack, or with different languages altogether, where this is appropriate either because of specific constraints, where we are joining or replacing an existing development team, or where the particular technology has a compelling advantage in the context of the solution.
ImplicitDesign is a bespoke software company, based in Cape Town, South Africa. We do work both locally and internationally, including Nigeria, Switzerland, Netherlands to the UK and USA.
We aim to offer a top-quality development experience without bloat and bureaucracy. Every project, large and small, whether they run for a week or years, gets the benefit of a complete development team.
We use the same technologies used by the best software companies world-wide and deploy to servers accessible anywhere in the world.
Our Development Process
Writing good code is only half of what's required to deliver good products. The other half is having a process which ensures we work on the right parts of the system at the right time, and can handle all the interactions day-to-day and month-to-month.
Everything about our process, from specifications to estimates to quoting and invoicing, is handled and tracked by our custom in-house software Imptime. You'll never need to be aware of what happens in the background, but we'll take you through the process to show what it takes to do software right.
1. Discuss the project
All projects start with a conversation. You'll meet directly with our techies, and we'll listen to what needs to be done and we'll help you make the idea concrete, find the holes you haven't thought about, and provide the beginnings of a technical solution.
2. Break it down
Any project, no matter how complex, can be broken down into a set of small simple tasks. We make extra effort to get this done as accurately as possible, thinking about how the project can evolve and what features to implement first and what is potentially nice-to-have.
Time equals money, and we want to be as sure as we can be that our projected budget is correct. Imptime allows us to make multiple estimates across multiple developers. So once we have the list of issues, one or more developers go through that list and put estimates. If there are any big differences we discuss them to clarify why one developer thought something was hard that another developer thought was easy.
We estimate directly in hours to ensure we remain grounded in reality. And our rule of thumb is if an estimate is more than 4 hours it's probably too vague and needs to be split into two or more smaller issues. This discipline ensures that we don't skim over complexity and keeps the error tolerance low.
4. Proposals and Estimating
When we're happy, with two clicks we can generate a pdf with the full details of the work to be done and mail it off for discussion.
This quote automatically takes care of testing and management time, expected scope creep, innaccuracies in individual developer's estimates and the individual cost of each person involved in the project.
Then it's talking time again, we talk about what we want to achieve, whether the issues match our goals, whether the costs seem reasonable, what issues can be done later, what issues need more clarity, what issues are redundant, and more. It's this level of specification detail that allows us to have that conversation, and to ensure that our budget projections are as good as they can be.
With approval on the project comes actual work. Because of the effort up-front, we know what to do and what order to do it in, so now it's just a matter of writing code, most of the hard-thinking is already done.
Developers track all time worked on a project in realtime so we know where we are at all times in the project budget.
About once or twice a week we invite our client to review the completed issues.
We can review the project at any time, and Imptime generates charts and tables showing where the time is going on any project, for example by developer.
These data and analysis tools allow us to continuously monitor our performance and ensure we're always getting better at delivering quality software no matter what the project.
This process is repeated for each month's development work. So even though we plan the whole project upfront, change is inevitable and so we treat the ongoing development as a sequence of mini-projects in themselves.
Software languages and technologies
We like action, so simply pick a name for your project and a way to contact you and we'll call you back.