Custom software · Uruguay

We turn ideas into software that works.

At ibinario we design and build web applications and management systems tailored to your business: practical, solid and built to scale.

+20years developing
100%custom-made
Supportclose and ongoing

Services

Everything your software needs, in one place

From the idea to keeping the system running in production.

Custom software

We build exactly what your operation needs, with no lock-in to rigid templates.

Web applications

Systems and dashboards accessible from any browser, fast and responsive.

Management systems

Finance, inventory, projects and more: your company's information, organized and at hand.

Integrations & automation

We connect your tools and automate tasks so you stop wasting time.

Maintenance & support

We support your system over time: improvements, security and answers when you need them.

Technology consulting

We help you decide what to build, with which technology and in what order of priority.

How we work

A clear process, no surprises

  1. 01

    We listen

    We learn about your business and decide together what to solve first.

  2. 02

    We design

    We propose a concrete solution, with clear scope, timeline and costs.

  3. 03

    We build

    We deliver in increments, showing progress to adjust as we go.

  4. 04

    We stay

    We ship to production and stay by your side with support and improvements.

Our products

Software of ours, in production every day

We don't only build on demand: we create and maintain our own platforms.

Websites

Some sites we've built

Custom websites for clients across different industries, live today.

About us

We're a small team that truly gets involved

At ibinario you work directly with the people who build your software: no middlemen, no salespeople who disappear after signing. We get involved in every project as if it were our own, because what matters to us is that the solution actually solves your problem, not just delivering and billing.

We combine solid technical experience with a close, no-nonsense way of working: clear communication, deadlines we meet, and decisions you understand at every stage of the project.

ClosenessDirect contact, no middlemen.
ClarityYou know what's done and what it costs.
CommitmentWe deliver what we agree on.
QualitySolid, maintainable software.

Technologies

What we build with

We choose proven, solid tools so your system lasts and stays easy to maintain.

PHPcustomer.php
// Query with PDO
$stmt = $db->prepare(
    'SELECT * FROM customers WHERE id = ?');
$stmt->execute([$id]);
$customer = $stmt->fetch();
C#CustomerService.cs
// Customer service
public class CustomerService
{
    public async Task<Customer?> GetAsync(int id) =>
        await _db.Customers
            .FirstOrDefaultAsync(c => c.Id == id);
}
.NETProgram.cs
// Minimal API in .NET
var app = WebApplication.Create();

app.MapGet("/api/health", () =>
    Results.Ok(new { status = "ok" }));

app.Run();
SQL Serversales.sql
-- Sales by customer
SELECT c.Name, SUM(v.Total) AS Total
FROM Sales v
JOIN Customers c ON c.Id = v.CustomerId
WHERE v.Date >= '2026-01-01'
GROUP BY c.Name
ORDER BY Total DESC;
React NativeBalance.jsx
export default function Balance({ amount }) {
  return (
    <View style={styles.card}>
      <Text>Balance: ${amount}</Text>
    </View>
  );
}
ReactCounter.jsx
// Counter with React
import { useState } from 'react';

function Counter() {
  const [n, setN] = useState(0);
  return <button onClick={() => setN(n + 1)}>{n}</button>;
}
MySQL / MariaDBschema.sql
-- Customers table
CREATE TABLE customers (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(120) NOT NULL,
  created TIMESTAMP DEFAULT NOW()
);
JavaScriptapi.js
// Fetch products
async function getProducts() {
  const res = await fetch('/api/products');
  return res.json();
}
HTML5index.html
<section class="hero">
  <h1>Custom software</h1>
  <a href="#contacto">Contact</a>
</section>
CSS3styles.css
/* Responsive grid */
.grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1.5rem;
}
jQueryform.js
// Submit form
$('#contactForm').on('submit', function (e) {
  e.preventDefault();
  $(this).addClass('sending');
});
Bootstrapform.html
<div class="row g-3">
  <div class="col-md-6">
    <button class="btn btn-primary">Save</button>
  </div>
</div>
REST APIsGET /api/customers/42
# REST endpoint
GET /api/customers/42

{
  "id": 42,
  "name": "ACME Inc.",
  "status": "active"
}
Mobile appsplatform.js
// Cross-platform with React Native
import { Platform } from 'react-native';

const greeting = Platform.select({
  ios: 'Hi iPhone',
  android: 'Hi Android',
});
Gitterminal
# Workflow
git checkout -b feature/reports
git add .
git commit -m "Add reports"
git push -u origin feature/reports

Contact

Tell us what you need

We reply quickly. No strings attached.