Custom Software Development

Turn your ideas into functional, scalable digital products designed to drive your business forward.

Software that understands the business

Comprehensive solutions designed to solve real-world problems

Custom Development

Web applications specifically designed for your business needs.

Automation

Process optimization by eliminating manual and repetitive tasks with technology.

Cloud Infrastructure

Deployment and maintenance of applications in the cloud, securely and efficiently.

Featured SaaS

Maritime Agency Management System

Web platform built with Django to centralize and organize the maritime agency business. It provides real-time visibility of each operation, managing vessel nominations and documentation, and issuing expense reports (PDAs).

Objective
  • Centralize operational and administrative information
  • Real-time tracking of vessels, voyages, and operations
  • Reduce errors and management time
Benefits
  • Quick identification of each operation's status
  • Better coordination between operational and administrative teams
  • Financial control through per-operation expense tracking
  • Automatic document generation for port and government entities
  • Complete history and instant access to information
Scalability
  • Solid foundation for future operational, administrative, and accounting modules
  • Adaptable to different ports and operational volumes
  • Aligned with real maritime business processes
Python Django PostgreSQL

Real Business Knowledge

With over 14 years of experience tied to maritime agency administration, a deep understanding of the industry's operational challenges was developed. After years of using generic solutions and working with external developers that failed to adapt to the real needs of day-to-day operations, the need arose to build a custom alternative.

What started as a desktop accounting tool oriented to the administrative reality of the business evolved into a web platform built with Django, where the focus shifted to operational management. That combination of industry experience and software development constitutes the main differentiator: not only is technology built — the logic of the business is also understood.

+14
Years in the maritime industry
From desktop to web platform
Born from real needs
Business domain + technology

Internal web application designed and developed covering the full project cycle: business discovery with real users, modeling, application architecture, full-stack implementation, security hardening, and deployment.

Stack
  • Backend: Python + Django 6.0
  • Database: PostgreSQL in production, SQLite in development
  • Frontend: Bootstrap 5, Bootstrap Icons, vanilla JavaScript (Django SSR + interactive JS)
  • Static files: WhiteNoise
  • Document generation: fillpdf, pdfrw2, PyMuPDF, fpdf, openpyxl (PDF and Excel)
  • Utilities: num2words (amounts to Spanish text), qrcode, Pillow, pdf2image
  • Configuration: python-dotenv (.env), dev/prod separation via DJANGO_ENV
Security & authentication
  • Mandatory 2FA via django-otp (TOTP, compatible with Google Authenticator)
  • Protection against malicious attacks with django-axes (lockout after failed attempts)
  • Custom middleware: LoginRequiredMiddleware (global mandatory login) and SingleSessionMiddleware (one active session per user)
  • Production hardening: SSL redirect, HSTS, secure cookies, CSRF trusted origins, strict ALLOWED_HOSTS
  • Groups and permissions: @admin_required gate for admin functions, 403 JSON responses for AJAX
  • Secrets outside the repository (.env)
Application architecture
  • Project modularized into apps by business domain: home (base, utilities, mixins), usersAuth (auth, OTP, profile), parameters_general / administration, operations (operational core), exports
  • "One feature → one app" rule: each domain with its own models, URLs and templates
  • View sub-packages (views/core.py, views/docs_agencia.py, views/documents.py) to group related concerns and ease maintenance
Internal design patterns
  • Standardized CRUD: three views per entity (list, ajax, delete) with shared helpers (ajax_save, ajax_delete) centralizing validation, IntegrityError handling and messages
  • Generic base template (parameter_list.html) that each CRUD extends overriding blocks: page_title, table_headers, table_body, form_fields
  • Unified server↔client contract: form_initial_json serializes forms using Form.Meta.fields as source of truth; populateForm fills modals by input name
  • Concurrency: generic RecordLock (ContentType) with 10-min TTL and warning at 2 min. Prevents simultaneous edits without blocking reads
  • UppercaseFieldsMixin for data normalization at model level, not form level
Coding style & conventions
  • Imports always at the top of the file, except for circular-import conflicts or lazy loading
  • Identifiers and comments in English; UI, messages and verbose_name in Spanish (localized UX)
  • Reusable validations centralized in home/utils (e.g. validate_cuit for Argentine CUIT)
  • Forms: ModelForm with explicit Bootstrap widgets, preferring exclude over explicit fields lists so the form evolves automatically with the model
  • JS in separate files (static/js/<app>/), loaded via extra_scripts block in each template
  • Global CSS with only minimal strictly-necessary additions
Highlighted features
  • Automatic generation of official documentation (PNA, DNM, terminals) filling official PDF forms with operation data
  • Temporary personnel payroll with automated calculation
  • Expense reports (proformas) per operation/voyage
  • Operations dashboard with real-time view of each vessel/voyage status
  • Bulk parameter import via manage.py commands with versioned CSV files (ports, terminals, vessel types, etc.)
Customs Broker Platform

Web application with an integrated landing page. Enables management of import and export operations with automatic generation of the required documentation.

Operational Management
  • Centralized information and easy access
  • Tracking the status of each operation
  • Streamlined oversight
  • Reduction of errors and administrative time
Document Automation
  • Automatic document generation:
      - Load finalization
      - Shipping declaration
      - Export delivery
      - Packing list
Python Django PostgreSQL

Web application with an integrated landing page covering the full project lifecycle: requirements gathering with the broker's real workflow, customs domain modeling, architecture, full-stack implementation, security hardening and deployment.

Stack
  • Backend: Python 3 + Django 4.2 (LTS) + Django REST Framework 3.15
  • Database: MySQL in production, SQLite in development
  • Frontend: Bootstrap 5, Bootstrap Icons, vanilla JavaScript
  • Document generation: FPDF, fillpdf, PyMuPDF
  • Utilities: jQuery, Moment.js, qrcode, Pillow, pdf2image
  • Deployment: cPanel webhosting (Passenger WSGI), .com.ar domain registration
  • Configuration: python-dotenv (.env), dev/prod separation via DJANGO_ENV
Security & authentication
  • Mandatory 2FA via django-otp + django-two-factor-auth (TOTP, compatible with Google Authenticator)
  • Brute-force lockout on OTP: 5 attempts with session-based temporary lock
  • Custom "private by default" AuthenticationMiddleware (no per-view @login_required needed)
  • Production hardening: SSL redirect, HSTS, secure cookies, CSRF trusted origins, X-Frame-Options=DENY
  • Secrets outside the repository (.env), parameterized ORM (no raw SQL)
Application architecture
  • Project modularized into apps by business domain
  • "One feature → one app" rule: each domain with its own models, URLs and templates
  • Django templates on a single shared base.html
  • Deletion rules: RESTRICT on catalog references and CASCADE down the operation tree — protects integrity while letting an operation be wiped cleanly
Internal design patterns
  • Concurrency: pessimistic locking via generic ModelLock (ContentType, one table locks any model) with 15-minute TTL and explicit release on page unload
  • Reusable CRUD helpers (default_get / default_post) parameterized by model + form + template
  • Context processors that inject branding and role into every template — no per-view boilerplate
  • Dynamic DRF serializer factory with configurable depth, serving arbitrary models from a single endpoint
  • In-memory PDF streaming with temp-file deletion before responding
Coding style & conventions
  • Spanish for domain terms — matches the UI and the legal documents the system produces
  • Forms, locking, exports and aggregations in dedicated modules
  • Explicit error UX: form_error_messages, restriction_error_messages, locked_message produce structured Spanish error banners (with RestrictedError handling for FK protections)
Highlighted features
  • End-to-end customs export workflow modeled as a real-world hierarchy, with referential integrity aligned to business rules
  • Automatic document generation in PDF, XLS and ZIP
  • Dynamic dependent dropdowns and client-side validators with instant feedback
Trading Bot — Stock Market Automation

Trading application for operations in Argentine financial markets (Matba Rofex / BYMA) integrating real-time market data. Tailored automated reports and real-time notifications via Telegram.

Market Operations
  • Order placement, cancellation and replacement
  • Real-time spreads and implicit rates (MEP, CCL, instant USD, ratios)
  • Price capture for pre-market orders
  • Support for CEDEARs, stocks, bonds, T-bills and cauciones (Argentine repos)
Smart Automation
  • Automatic order replacement on market changes and specific parameters
  • Caución (Argentine repo) management with inverse orders against execution
  • Bulk order placement and cancellation
Python Django DRF pyRofex WebSockets SQLite React

Full-stack application designed and developed covering the full project cycle: trader workflow discovery with a real user, modeling, application architecture, full-stack implementation and hardening against live failure modes (latency, disconnects, multi-tab consistency).

Stack
  • Backend: Python + Django 6.0 + Django REST Framework
  • Broker client: pyRofex 0.5 (WebSocket + REST over Matba Rofex)
  • Frontend: React 19 + Vite 7 + React Router 7, Bootstrap 5
  • Real-time: Server-Sent Events (SSE) + BroadcastChannel API
  • External integrations: Telegram Bot API (notifier)
  • Database: SQLite
  • Configuration: python-dotenv (.env), dev/testing/prod separation via DJANGO_ENV
Security & live trading safeguards
  • Broker credentials and external tokens managed via .env, outside the repository
  • CORS restricted via django-cors-headers; ALLOWED_HOSTS and sensitive settings conditioned by DJANGO_ENV
  • Two-step pre-submit validation: active broker connection check plus a per-instrument lock that rejects concurrent requests on the same order
  • WebSocket receiver thread isolation: work is offloaded to background queues to avoid losing market ticks
Application architecture
  • Modularized backend by domain: marketData (pyRofex connection, calc engine, spreads, price capture), api (order routing), cauciones (state, spreads and inverse orders), parameters (instruments CRUD) and reports (live account report and Telegram daemon)
  • "One feature → one app" rule: the module owning the state also owns its lifecycle, and others mutate it via lazy import
  • Frontend organized by layers: contexts/ for per-domain global state, services/ for SSE wrappers and REST clients, pages/ with their subcomponents and components/ only for truly shared code
Internal design patterns
  • Broker session dispatcher: broker read functions automatically pick pyRofex when WebSocket is up and fall back to REST otherwise, with transparent re-auth on 401
  • Multi-tab SSE with BroadcastChannel: a single tab holds the real EventSource, others receive via BroadcastChannel with leader election and failover, avoiding duplicate broker connections
  • Atomic order replacement: cancel → wait → place → wait with WebSocket confirmation and bounded retries on recoverable errors
  • Per-frame coalescing of market ticks to avoid saturating the browser: ~2000 updates per second are consolidated into ~60 UI refreshes, eliminating cascade re-renders under load
  • Pre-market price capture via in-memory timer at close and deferred persistence on disconnect, avoiding unnecessary intermediate writes
Highlighted features
  • Real-time calculations computed server-side and streamed via SSE: MEP, CCL, instant USD, ratios and spreads, with 9+ rules configurable per instrument
  • Order auto-replacement on market or spread changes, with WebSocket confirmation and explicit user-facing failure surfacing
  • Caución (Argentine repo) management: configurable spreads, calculations honoring the market's allowed tick scaling, and inverse-order placement against execution
  • Live account report and Telegram daemon
Property Management System

Web application for comprehensive real estate management. It centralizes property information and facilitates financial control and deadline tracking.

Centralized Information
  • Quick access to each property's data
  • Tax, rental, payment, and expense records
  • Complete financial history per property
Schedule & Control
  • Tax and payment deadline tracking
  • Rental income and other revenue monitoring
  • Clear visibility of each property's financial status
Python Django MySQL React
Tech specs in preparation

Technical details for this project will be published soon.

Pillars that run through every project

Discovery as the starting point

Entity modeling, workflow mapping and requirements documentation before writing any code.

Software that evolves with operations

Modular architecture designed to grow with the business. Each new module integrates without rewriting what is already in production.

Understanding the problem is half the solution.

Having stood on both sides of the counter brings a different perspective: understanding how a real operation works, with a sharp eye for the details that tend to be overlooked — processes that break in practice, recurring administrative requirements and data points that end up being indispensable.

Technical capabilities

  • Architecture and domain modeling
  • Full-stack development
  • Security and authentication
  • Document automation
  • On-premise and cloud deployment
  • Maintenance and support
Continuous learning
Bachelor's degree in Marketing Maritime agency Customs Transport Agent Software development (Python) Web applications with Django HTML, CSS & Bootstrap
… among others

Tech stack

Languages
Python/ JavaScript
Backend
Django/ Django REST Framework (DRF)/ WebSockets/ Server-Sent Events (SSE)
Frontend
HTML & CSS/ Bootstrap 5/ React
Databases
SQLite/ MySQL/ PostgreSQL
Infra / tooling
Git/ GitHub/ python-dotenv/ cPanel/ PythonAnywhere
Artificial Intelligence (AI)
Claude Code

Assistance with technical documentation, template scaffolding and development support.

Documents
FPDF/ fillpdf/ PyMuPDF/ openpyxl/ pdf2image
Security
django-otp/ django-two-factor-auth/ django-axes
How We Work

An approach focused on understanding your business.

1
We Analyze

We survey processes, identify critical points, and map out workflows.

2
We Design

Together we define the most efficient solution, considering every variable and its real impact.

3
We Build

We build the system with iterative deliveries, maintaining constant communication.


Have a project in mind?

Fill out the form and we'll get back to you shortly.

Message sent! We'll get back to you shortly.