Software Engineering
Designing and developing reliable applications, APIs, SaaS platforms, and enterprise systems built for performance and long-term scalability.
I'm always excited to take on new projects and collaborate with innovative minds.
https://krafton.my.id
HELLO, I'M KRAFTON NOTGAR
I'm Krafton Notgar, a software engineer based in Tanzania, building scalable applications, intelligent data pipelines, secure financial platforms, and production-ready infrastructure. I turn complex business challenges into reliable engineering solutions.
capabilities
From application logic to production infrastructure, I design, build, integrate, and secure technology that solves real business challenges.
Designing and developing reliable applications, APIs, SaaS platforms, and enterprise systems built for performance and long-term scalability.
Building Python-powered data pipelines, processing workflows, integrations, and analytical foundations that turn raw information into usable business intelligence.
Engineering payment integrations, transaction workflows, reconciliation systems, and secure financial infrastructure.
Working directly with business requirements to design, integrate, deploy, and optimize practical software solutions in real operating environments.
Strengthening applications and infrastructure through secure architecture, access controls, monitoring, and security-focused engineering practices.
Deploying and operating reliable systems using containerization, automated delivery pipelines, observability, and modern infrastructure practices.
selected work
A curated selection of platforms, integrations and infrastructure. Each project page has the full details.
Sportslot Booking is a worldwide sports booking and facility management platform that helps players easily book sports fields, courts, and venues online while enabling facility owners to increase earnings, manage revenue, track income, handle commissions, and...
Software Engineering SaaS Engineering Payment Engineering Database Engineering API Development Booking System Architecture Financial Systems Engineering Full-Stack Development
A cloud communications platform bringing business SMS, OTP verification, voice calling, and AI voice agents into one workspace, with developer APIs and usage-based wallet...
Communication Systems Engineering SaaS Engineering Backend Engineering Frontend Engineering API Integration AI Automation Database Engineering Cloud Deployment Application Security
The public website for TeePay at teepay.me: a fast, animated marketing site that explains mobile money payments for African businesses, with live pricing and admin-manage...
Frontend Engineering Motion & Interaction Design Web Performance SaaS Engineering
The developer documentation for TeePay's payments API: quickstarts, a full API reference, signed webhooks, hosted checkout, payouts and MCP tools so AI agents can create...
API Infrastructure Developer Experience Payment Engineering Technical Writing AI Integration (MCP)
The workspace where African businesses take mobile money payments, send payouts and run their money in one place — payment links, pages, invoices, Control Numbers, analyt...
Payment Engineering Fintech Engineering Full-Stack Engineering Distributed Systems Risk & Fraud Engineering Security Engineering Data Engineering SaaS Engineering
A platform combining appointment bookings, online shopping, digital consent forms and customer notifications in one checkout experience.
Software Engineering Backend Engineering Frontend Engineering Ecommerce Engineering Booking Systems Payment Integration Database Engineering
A travel and hospitality platform connecting accommodation enquiries, personalised trip planning, property management, tour scheduling, invoicing, and online payments for...
Software Engineering Backend Engineering Frontend Engineering Database Engineering API Integration Payment Engineering Workflow Automation
philosophy
I approach engineering by understanding the problem first, designing the right architecture, and building systems that remain reliable beyond deployment.
Start with the real operational challenge, not just the requested feature.
Prioritize maintainability, performance, security, and predictable system behavior.
Build architecture that supports evolving requirements without unnecessary complexity.
Think beyond development to monitoring, troubleshooting, and production operations.
toolkit
Languages, frameworks, platforms, and infrastructure technologies I use to build and operate modern systems.
experience
Working across software development, business systems, data engineering, integrations, and production infrastructure.
Independent engineering practice designing, building and deploying software, data and payment systems for businesses.
Websites, business systems and integrations delivered for clients such as DM Consultancy Tanzania, Masha Global Link and SportSlot.
collaborations
Real projects. Real business challenges.
Payment platform since 2026
teepay.me (TeePay)Cloud communications & AI platform since 2026
astracall.cc (AstraCall)Sports facility booking platform since 2025
sportslotbooking.com (SportSlot)E-commerce platform since 2026
beta.fumba.store (Fumba Store)Company website since 2025
www.dmconsultancy.co.tz (DM Consultancy Tanzania)ecommerce web app since 2024
Integrated booking & e-commerce platform since 2025
vibration5.uk (Vibration5)Association website since 2026
aatz.or.tz (Aquaculture Association of Tanzania)Organization website since 2025
www.onevoice.or.tz (One Voice Organization Tanzania)Website since 2026
paradisezanzibar.com (Paradise Zanzibar)Real estate & property listing platform since 2025
znzapartments.com (Zanzibar Apartments)Listed organizations reflect work relationships, not endorsements.
case studies
Fumba Store needed one commerce experience across its storefront, Shopify catalog, customer product requests, invoices, and several payment methods. Keeping product and order information consistent between systems was especially important: a change made in one place had to appear correctly wherever customers or staff viewed it.
I extended a Laravel-based commerce platform with focused plugins for Shopify synchronization, product requests, payments, and operational tools. I designed the integrations around explicit mappings, webhook processing, staff review, and reconciliation commands, with safeguards for payments already in progress.
The Laravel storefront and admin panel use MySQL as the local commerce database. Shopify webhooks update mapped catalog, draft-order, and order records. Stripe and Pesapal handle online payments, while callbacks and reconciliation workflows update payment and invoice status. Customer product requests enter an admin review queue before pricing, publication, or invoicing.
Laravel 12 power the application and background jobs. MySQL stores catalog, order, invoice, and synchronization data. Blade, Bootstrap, and JavaScript provide the storefront and admin interfaces. The platform integrates with Shopify’s APIs, Stripe, Pesapal, and a shopping search API.
The platform connects product discovery, staff-assisted requests, invoicing, and checkout in one workflow. Staff can review requested products, synchronize Shopify changes, and investigate payment or order mismatches using dedicated admin screens and reconciliation tools. Customers receive a consistent storefront and hosted payment experience.
A successful webhook response does not guarantee that two systems now agree. Reliable commerce integrations need clear source-of-truth rules, observable processing, safe retries, and a way to reconcile missed updates. Preserving customer-facing details—such as images, delivery estimates, and invoice links—matters as much as updating the totals.
The sports facility industry continues to face operational challenges caused by manual booking processes, fragmented payment collection, limited financial visibility, and inefficient facility management.
Many sports facilities rely on phone calls, WhatsApp conversations, and handwritten records to manage reservations. These traditional methods can lead to overlapping bookings, missed revenue opportunities, scheduling conflicts, and difficulties tracking customer payments.
Facility owners also face challenges managing multiple sports grounds, monitoring peak and off-peak demand, handling partial payments, and reconciling transactions received through different payment channels.
From the customer's perspective, discovering available sports facilities, comparing prices, and reserving suitable playing times can be unnecessarily complicated.
The engineering challenge was to design and develop a scalable, multi-sport booking platform capable of connecting players with sports facilities while providing operators with centralized booking management, financial tracking, and operational control.
Sportslot Booking was developed to address these challenges through a unified digital ecosystem supporting sports facility discovery, reservations, payment management, and business operations.
Sportslot Booking was engineered using a modular software architecture designed to separate customer-facing booking experiences from facility management and administrative operations.
The development process focused on creating a reliable booking engine capable of managing multiple sports, facilities, time slots, pricing structures, and customer reservations.
A centralized booking workflow was designed to validate facility availability, prevent conflicting reservations, and support consecutive time-slot selection.
The system also incorporates flexible payment management, allowing bookings to be recorded with full or partial payments while tracking outstanding balances.
A key engineering priority was establishing financial transparency between platform administrators and facility operators.
Payment records distinguish between funds received by the platform and payments collected directly by facility owners. This supports commission calculations, financial reporting, and withdrawal management.
Separate administrative and partner dashboards provide role-specific access to bookings, financial information, facility configurations, and operational tools.
The platform was structured for future expansion into additional sports, geographic markets, and integrations without requiring major changes to its core architecture.
Sportslot Booking follows a modular, database-driven web application architecture built around the Laravel ecosystem.
The architecture consists of several interconnected components:
1. Customer Booking Interface
Provides sports facility discovery, availability searches, slot selection, booking creation, and payment interactions.
2. Booking Management Engine
Handles booking validation, time-slot availability, consecutive slot selection, scheduling rules, and reservation conflict prevention.
3. Facility Management Module
Enables facility operators to configure sports grounds, manage availability, establish pricing, create reservations, and monitor booking activity.
4. Payment and Financial Tracking
Records booking amounts, partial payments, outstanding balances, payment recipients, platform commissions, and financial settlement information.
5. Partner Dashboard
Provides facility owners with booking management tools, revenue summaries, payment tracking, and withdrawal-related information.
6. Administrative Dashboard
Offers centralized oversight of facilities, bookings, financial transactions, commissions, and partner operations.
7. Database Layer
Uses relational database structures to maintain relationships between customers, sports facilities, booking slots, payment records, and financial reporting data.
8. Access Control
Separates administrative, facility operator, and customer responsibilities through role-based application permissions.
The architecture emphasizes modularity, financial traceability, maintainability, and support for future platform growth.
Backend Engineering:
PHP, Laravel, Laravel MVC Architecture, RESTful API Design
Frontend Engineering:
JavaScript, HTML5, CSS3, Bootstrap, Blade Templates, Responsive Web Design
Database Engineering:
MySQL, Relational Database Design, Database Migrations, Data Validation, Query Optimization
Booking Infrastructure:
Time-Slot Scheduling, Availability Management, Booking Conflict Validation, Dynamic Pricing, Reservation Management
Financial Engineering:
Payment Gateway Integration, Partial Payment Tracking, Commission Calculation, Revenue Reporting, Financial Reconciliation
Software Architecture:
Modular Application Development, Role-Based Access Control, Service-Oriented Application Design
Development and Deployment:
Git, GitHub, Composer, cPanel, Linux Hosting, Application Configuration
Business Intelligence:
Booking Analytics, Revenue Monitoring, Partner Financial Reporting, Operational Dashboards
Sportslot Booking resulted in the development of a centralized digital platform designed to simplify sports facility reservations and improve operational visibility for facility owners.
The platform brings together sports facility discovery, online booking workflows, availability management, payment tracking, and administrative reporting.
Players can explore available sports facilities and select suitable booking times through a structured reservation interface.
Facility operators gain access to dedicated dashboards for managing schedules, monitoring reservations, updating facility information, and reviewing financial activity.
The financial management architecture provides visibility into booking values, amounts collected, outstanding balances, platform commissions, and payments received by different parties.
The project also established a modular foundation for supporting multiple sports categories and expanding into additional markets.
Sportslot Booking demonstrates the application of software engineering principles to a real-world marketplace problem, combining reservation systems, financial workflows, database architecture, and multi-user business operations.
The platform continues to provide opportunities for further development, optimization, and commercial expansion.
Developing Sportslot Booking provided valuable engineering experience in building marketplace platforms that combine reservation management, financial operations, and multi-role application architecture.
One of the most important lessons was understanding that a booking platform requires more than a calendar and payment interface.
Reliable reservation systems must account for concurrent booking attempts, scheduling conflicts, partial payments, cancellations, and operational changes.
Another important lesson involved financial data integrity.
Booking revenue, actual payments received, outstanding balances, platform commissions, and withdrawable funds represent different financial concepts and must be tracked independently.
The project reinforced the importance of designing clear financial records rather than relying on simplified revenue calculations.
Building separate administrative and partner dashboards also demonstrated the importance of role-based permissions, data isolation, and consistent business logic across different application interfaces.
The development process strengthened practical knowledge of modular Laravel architecture, relational database modeling, payment workflows, application security, and scalable system design.
Most importantly, Sportslot Booking demonstrated how engineering decisions directly influence business operations, financial transparency, user experience, and the long-term maintainability of a digital platform.
Businesses often manage voice calls, SMS, verification messages, and automation through separate provider dashboards. This creates fragmented workflows and makes it harder to track usage, control access, and integrate communication into other applications.
The challenge was to adapt an existing communications application into a cohesive platform with consistent branding, customer controls, developer access, and dependable deployment.
I worked incrementally across the backend, customer interface, provider callbacks, and deployment configuration.
I introduced shared messaging logic for dashboard and API requests, with request validation, wallet reservations, idempotent retries, and delivery-state tracking. Automatic OTP generation added expiry, attempt limits, and single-use verification.
For voice communication, I extended number management, browser calling, IVR routing, and AI call flow integrations. Feature permissions let administrators enable selected capabilities for individual users.
Security work addressed authentication, authorization, webhook verification, sensitive configuration handling, file access, and outbound request validation.
A React customer interface communicates with a Node.js and Express backend. MariaDB stores customer accounts, permissions, balances, messaging records, call configuration, and integration state.
Server-side adapters connect the application to SMS and telephony providers. Provider callbacks update delivery and call records, while WebSockets support relevant real-time voice workflows.
Docker isolates the application and database. Traefik routes domain traffic and manages HTTPS certificates. Persistent volumes retain uploaded media and theme settings across application rebuilds.
Connected Apps provides a foundation for customer-approved workspace connections with Karflow, using scoped access and reciprocal connection verification.
Node.js and Express power the application backend, with React and Material UI providing the customer interface. MariaDB supports persistent application data.
Stripe supports card checkout for configured purchases.
Docker, Traefik, and Let’s Encrypt support deployment and HTTPS. REST APIs, WebSockets, signed callbacks, and idempotency controls connect the platform’s components.
AstraCall is publicly available at astracall.cc with a dedicated brand, a responsive marketing website, and customer authentication pages.
The deployed platform includes messaging APIs, automatic OTP workflows, configurable SMS purchasing and message limits, voice management, and administrator-controlled feature access.
Deployment checks verified the updated frontend, database migrations, HTTPS, and persistent theme selection. Fourteen automated checks passed across SMS settings, security, and Connected Apps. These checks establish specific functional safeguards; they do not represent a comprehensive security audit or a production-scale load test.
Communication integrations require careful handling of asynchronous events. A provider accepting a request does not mean a message was delivered or an action completed.
Idempotency and transactional balance updates are essential when retries can create duplicate messages or charges. Provider-specific call identities and callback formats also need explicit handling.
Persistent configuration matters as much as application code: theme settings, uploaded files, and credentials must survive rebuilds. Incremental deployments and rollback backups helped introduce changes while preserving existing services.
Developers in Africa often find payment documentation thin, out of date or locked behind sales calls. For TeePay to win builders, a developer needed to go from zero to a confirmed payment quickly, with examples that actually match the live API.
The docs were treated as part of the product. The API reference is generated from the same OpenAPI specification the API uses, guides are written in MDX next to real request and response examples, and every example uses the real field names, statuses and webhook headers. The docs state clearly what is not available yet (for example sandbox money movement) instead of hiding gaps.
- Next.js app using Fumadocs with MDX content and an OpenAPI-driven API reference.
- Syntax-highlighted, copyable code samples (cURL, Node.js) and webhook signature verification examples.
- Sections for environments, authentication, idempotency, errors, webhooks, payments, Control Numbers, payouts and AI/MCP.
- A custom "hacker" visual layer (code rain, custom cursor, motion buttons) that respects reduced-motion settings.
- Deployed as its own container behind Nginx at docs.teepay.me.
Next.js, React, TypeScript, MDX, OpenAPI, Tailwind CSS, Shiki, WebGL, Docker, Nginx.
A public, searchable documentation site at docs.teepay.me that walks a developer from an API key to a verified, webhook-confirmed payment, documents MCP tools for AI agents, and stays consistent with the live API because the reference is generated from the specification.
- Generate the reference from the spec; hand-written references drift.
- Say what isn't available yet — developers trust honest docs.
- One clear end-to-end example (one request, start to finish) does more than many fragments.
Vibration5 needed to support service bookings and retail purchases without making customers complete separate checkout journeys. The platform also needed editable service pages, consent collection for selected treatments and a practical dashboard for staff.
A central challenge was keeping bookings, product orders, payment records and customer communications consistent when a cart contained both services and physical products.
I extended an existing Laravel and CMS application, building on its ecommerce, administration and content editing capabilities.
I connected appointments to ecommerce order lines and aligned the confirmation workflow around the contents of each checkout. I also built editable service category pages, product tag filtering and online consent forms with server-side validation.
Verification included targeted standalone regression checks for booking email behaviour, order total preservation, consent rendering, product tag assignments and address migrations, alongside browser layout checks at multiple viewport widths.
The presentation layer uses Blade templates, configurable shortcodes and responsive styling for service pages, product listings and checkout.
The booking module manages services, practitioners and appointment records. Booking references connect appointments to ecommerce order lines, allowing products and services to share a cart and payment summary.
The confirmation workflow reads the order contents and adds appointment information and relevant consent links to the order email. Checkout bookings reference the order payment, preserving the combined order lines and total.
The consent module validates submissions, stores encrypted response payloads and provides permission-controlled review screens. Signed links associate relevant consent forms with bookings.
Database migrations introduce new fields and configuration changes, while the cPanel deployment script runs migrations, publishes theme assets and clears application caches.
PHP and Laravel support the application logic, validation, models, migrations and notification workflows. CMS provides the administrative interface, ecommerce foundation, content management and email template configuration.
Blade, JavaScript, jQuery, Bootstrap and custom CSS support the storefront and responsive interactions.
Laravel encrypted casts protect consent response payloads, and signed URLs support booking-linked consent forms.
Git and cPanel deployment scripts support releasing application changes and refreshing published assets.
The implementation supports product-only, booking-only and mixed-cart purchases with confirmation content tailored to each case.
Staff can maintain service category content, assign product tags and review consent responses through the administration interface. Customers can filter products and complete relevant consent forms online.
Checkout confirmation logic preserves the combined order total and avoids sending a separate customer booking confirmation for cart purchases. Targeted local regression checks passed; production email delivery and complete checkout behaviour require verification in the deployed environment.
Combining bookings and ecommerce requires agreement across order lines, payment records, appointment status and customer communication. Updating an email template alone cannot resolve inconsistent checkout totals.
Existing CMS customisations and published asset caches also need attention: saved email templates can retain older wording, and outdated stylesheets can hide frontend fixes.
Configurable content sections give staff more control over routine updates, while migrations make structural changes repeatable. Focused regression checks help verify important behaviours, but they complement rather than replace testing against the deployed database, payment provider and mail configuration.
The business needed to manage accommodation enquiries, personalised travel requests, property submissions, tours, and payments through a connected workflow.
Different services required different information and pricing rules. Accommodation depended on dates, occupancy, inventory, and seasonal rates, while tours and safaris needed separate adult and child prices.
The platform also needed to distinguish supplier costs from customer selling prices, support property-manager approvals, and keep future tour commitments visible to the operations team.
I extended the platform around the business's operational workflows: collecting structured travel requirements, reviewing requests, preparing invoices, managing properties, and scheduling services.
I separated supplier guide prices from customer market prices so invoice generation could use selling prices without exposing internal costs. External accommodation data required explicit room mappings and date-specific rate handling.
I added configurable administration settings, permission-controlled management screens, request diagnostics, and responsive customer forms to support ongoing changes without repeatedly editing application code.
A Laravel application connects the public website, customer accounts, property-management workspace, and administration dashboard.
Relational records store properties, rooms, availability, trip requests, service prices, invoices, and payment information. Tour and safari services have identifiable catalogue entries with separate adult and child supplier costs and selling prices.
External accommodation integrations associate provider room identifiers with local rooms and retain rate information for the requested stay. Payment processing connects the application to Pesapal through server-side requests and callback handling.
The administration workflow connects request review, invoice preparation, and tour scheduling, while role-based permissions control access to operational tools.
PHP for application logic, validation, and routing; MySQL for relational data; Blade, JavaScript, jQuery, Vue.js, and Sass for interface development; Laravel Mix for frontend assets; REST APIs for external accommodation data; and Pesapal for payment integration.
The platform provides a connected workspace for travel enquiries, property operations, service pricing, invoicing, and tour scheduling.
Structured requests give staff clearer information for preparing travel proposals. Separate supplier and market prices support customer-facing invoice calculations, while room mapping and seasonal availability support accommodation pricing workflows.
Configurable public price visibility allows the business to switch between displaying room prices and an enquiry-led experience.
Travel pricing needs clear boundaries between nightly rates, full-stay totals, supplier costs, and customer selling prices.
External room names are insufficient for reliable matching; explicit identifier mappings are essential. Conditional forms also need matching server-side validation so customers are asked only for information relevant to their selected services.
Operational tools benefit from structured service records, clear approval states, and useful diagnostics. These foundations also make later automation easier to build and maintain.
contact
Whether you're building a software platform, integrating business systems, engineering data pipelines, or strengthening production infrastructure, let's discuss the challenge.