Aires de Río

Promotional and operations site for a residential development, with a custom hero and performant, accessible delivery.
Stack. SvelteKit, TypeScript, photogrammetry-informed 3D hero, contact pipeline, Node deployment
Senior full-stack engineer focused on shipping production web products with SvelteKit, TypeScript, React, Node.js, and Python-backed services when the problem calls for it. Recent work spans commercial multi-tenant platforms, independent production sites, accessible data visualization, and interactive 3D on the web, with emphasis on maintainable delivery, clear documentation, and automated tests.
My experience includes technical leadership as engineering team lead, frontend architect, backend contributor, CTO, and technical project manager. I have led a four-person frontend team on a React + Flask/PostgreSQL CRM, hired and interviewed developers, trained teams, directed implementation work, and aligned engineering decisions with stakeholders in sales, marketing, and product.
I also run active personal R&D in ML and time-series pipelines using Python, experiment tooling, and performance-oriented C++/Rust components. This deepens my ML literacy and pipeline engineering work, but my primary paid track remains full-stack product delivery and technical leadership.
This site is a deliberate craft exercise: lean semantic HTML, clear separation of structure from presentation and behavior, performance-aware implementation, and print-friendly structure. It reflects the same care I bring to client and product work, applied here as a long-running personal build.
Thanks for visiting — the sections below expand on experience, skills, selected work, and experiments.
Short, proof-oriented highlights — see Experience for full context.

Promotional and operations site for a residential development, with a custom hero and performant, accessible delivery.
Stack. SvelteKit, TypeScript, photogrammetry-informed 3D hero, contact pipeline, Node deployment

Tooling to explore and compare aggregate statistics across multiple datasets.
Stack. Svelte, data aggregation explorer, a11y-minded UI

Interface for mining and navigating organisation–topic relationships in research corpora.
Stack. Svelte/SvelteKit, large graph exploration, responsive layout

Geographic and sector views of R&D-related indicators, built for policy audiences.
Stack. SvelteKit, maps & charts, static deployment story
Modern reboot and expansion of a legal-sector credit-operations system originally delivered in 1999–2002. Rebuilt as a commercial multi-tenant web platform using SvelteKit 2, TypeScript, PostgreSQL row-level security, and Drizzle ORM. Covers credit portfolios, legal cases, payments, reporting, team invitations, role-based access, and migration from a legacy Classic ASP estate. Includes structured documentation, Vitest and Playwright coverage, and an engineering-first delivery process. Commercial product in active development.
Monorepo research platform combining a SvelteKit frontend, Python ML engine, and custom C++/Rust shared-library resamplers for multiscale time-series tensor generation. Designed a recency-weighted temporal representation that preserves high-resolution recent samples while folding lower-resolution long-horizon context into fixed-shape 3D training blocks. Implemented geometric bin-width ladders, stacked resampling windows, timeline-coupled time encodings, and DSI/multifractal analysis to guide segmentation and view construction. Built feature pipelines generating difference, tangent, and outer-product matrix channels to encode cross-channel structure before modeling. Python stack includes Hydra, Optuna, TensorFlow/Keras, pytest-benchmark, unit tests, experiment workflows, and documentation. Benchmarks on large training-style batches show ~20–40× throughput over a NumPy-first reference path, keeping preparation tractable for series with millions of samples. Independent upskilling project, not commercial product scope.
Independent Svelte/ SvelteKit web development for production sites and promotional platforms. Example: Aires de Río — a residential development website built with TypeScript, SvelteKit, server-side contact handling, Node-based deployment, and custom 3D/photogrammetry-based hero visuals. Focused on polished frontend execution, interactive presentation, performance, and deployment-ready delivery.
Frontend and dataviz developer using Svelte/SvelteKit, XState and Lamb to develop accessible data vizualization frameworks, tools and websites. Nesta UK, London.
Frontend development team lead managing four devs, frontend architect and backend developer for a CRM system using React on the frontend and a Python/Flask/SqlAlchemy/PostgreSQL stack on the backend publishing a REST API service. GoManzanas, Palo Alto, CA.
Project manager for Infomerx developing developing web based administrative systems and applications. Tasks involved deciding the technology roadmap, hiring, training, directing & maintaining a development team, interacting with sales & marketing and designing the architecture of the system based on commercial and technical requirements. Technologies used included Three.JS, Node.JS, React.JS, Socket.IO and various others.
Visual experimentation, live coding performances with live musical bands and interactive installations in Santiago del Estero. Tripulantes, Casa Nave, Santiago del Estero, Argentina.
Organization of educational workshops teaching web technologies like HTML5, CSS and Javascript for contemporary and conceptual artists. Casa Nave, Santiago del Estero, Argentina.
Project manager for Ensembleweb developing a gameification based website for enhancing engagement and performance in sales workgroups for EnsembleWeb, a Canadian web site development company. Tasks involved hiring, training, directing & maintaining a development team, interacting with marketing and designing the architecture of the system based on commercial and technical requirements. Technologies used included Node.JS, Angular.JS, React.JS, Socket.IO EnsembleWeb
Consulting, custom plugin design and development for EnsembleWeb, a Canadian web site development company. EnsembleWeb
Graphic design, CGI imaging, technical consulting & special purpose software development for Expressart, an advertising agency based in Santiago del Estero, Argentina. Expressart
Development of software tools for the human resources industry including design implementation and developer team coordination. The system, based on modern architectural design, provides a sophisticated desktop user interface but accesses distributed web services under the hood thus providing a complete user experience while still reaping the benefits of SOA (Service Oriented Architectures). Responsibilities included maintenance of the various servers running in the system, of the promotional web site and the authorship and maintenance of source code in Java, C# 2.0, HTML and SQL for software destined to run on Windows and Linux. CandidateHunter International
Funding and managing a 3-person team in the development of an object oriented graph database engine and its supporting developer and management tools for Microsoft’s .NET environment and Sun’s Java platform. This OODB was my design and is intended to support nearly orthogonal data-persistence facilities for data objects in these platforms. Features being developed include ACID transactions, multi-server distributed storage nodes and data versioning for the purposes of auditing and conflict-resolution.
Front-page story editor for JavaLobby.org, a website specializing in the Java developer community. The main responsibilities involve screening daily Java-related news and writing small articles with the intent of generating in-depth discussions among the members of the Java community. These tasks require staying up-to-date in all Java industry developments.
Low-level development of high-performance primitive graphics rendering APIs and components for Java applications including gradient rendering at speeds equalling solid color filling in that platform. Different versions of these components are licensed to open-source projects (Kunststoff LnF y Metouia LnF) and a version taking advantage of hardware acceleration to Jide Software for use in its component suite y and user interface framework.
Development of software architecture and components for internet connected multi-user server providing multi-company unified facilities for bus seat availability, reservation and ticket sale for nation-wide remote terminals. This system provides a graphical display over a map and when there is no direct service between two geographic points, provides possible connection points based on user-selected time constraints. 2-tier client/server architecture: Database with business logic in Stored Procedures on the server and Java technology including JDBC and SWT on the client-side.
Development and maintenance of multi-user system for legal firms managing overdue credit accounts using Java technology including Servlets, JSP, JDBC, JSP, XML, XSL, Dynamic HTML and CSS. 4-tier client/server architecture: Database, Business logic, Document generation on the server side and User Interface in the client. Currently running on company managing 43000+ accounts judicially and extra-judicially on database distributed over several provinces in northwestern Argentina, synchronized through the Internet. The same domain is being modernized in the Escriba Finanzas initiative (2025–Present; see above).
Web site design, implementation and webmastering for Poder Judicial de la Provincia de Sgo. del Estero. This site belongs to the judicial branch of power of this province. Everything in this site including the navigational structure, graphics and animations was designed and created by me. Although no longer in charge, much of the graphics, animations and source code currently in use remain my creation as can be verified by the copyright notice in the html source code.
Head of technical department for the local franchise of Arnet, the largest ISP in Argentina. This franchise includes all the territory of the province of Santiago del Estero.
Development of small information systems in Java for companies local to Sgo. del Estero, Argentina. Personnel training for various organizations in Sgo. del Estero on basic Internet Skills. Consultant for Icox, a Canadian-Argentine company providing internet services for Argentine businesses. Ref. Bruno Schmidt
In charge of installation and maintenance of computer systems and digital/analog video editing equipment. Computer Animation for video. Calibration, digital treatment and preparation of pre-press originals for color catalogs and flyers. Personnel training to assist in these tasks, AMP Producciones, Sgo. del Estero, Argentina.
Technical consulting and personnel training, FREDY Publicidad, San Miguel de Tucumán, Argentina.
2D & 3D graphic design. Participation in production of TV commercials for these companies.
Sales and promotion of educational material and personnel training for direct sales and marketing. Grolier Inc, Canada.
Design and implementation of computer applications and tools, LAN and computer system maintenance and personnel training. Among applications developed are data acquisition and control programs for gel electrophoresis of DNA and mathematical analysis tools, S.U.N.Y. at Stonybrook, biochemistry department. Ref. Dr. Benjamin Chu
Freelance graphic design for small companies and businesses in Long Island.
Participation in development of routines in C and Assembly Language for large programming projects for companies such as Radio Shack/Tandy and Lavalin Engineering Inc. in Montreal, Canada. SOFTPOWER Inc., New York.
Production-oriented full-stack web engineer with deep frontend, data visualization, systems, and delivery experience. Current work centers on SvelteKit, TypeScript, PostgreSQL, testing, documentation, and LLM-assisted development; long-range background includes systems architecture, graphics, native code, and technical leadership.
Core: TypeScript, JavaScript, Svelte / SvelteKit, React, Node.js, HTML, CSS, Web APIs, REST, accessibility-minded UI, data visualization, XState, Three.js / WebGL.
Recent shipping stack centers on SvelteKit 2 and TypeScript across commercial multi-tenant software, personal sites, and R&D frontends. Earlier professional work includes React CRMs, Nesta-era Svelte/SvelteKit data visualization, and Node- and Python-backed services.
Uses modern LLM coding assistants and agent-style workflows for implementation, review, refactoring, migration, and documentation while retaining direct code ownership and quality control.
Engineering team leadership, frontend architecture, hiring, technical interviews, mentoring, training, roadmap decisions, stakeholder alignment, and technology selection.
Direct experience leading a four-person frontend team while acting as frontend architect and backend contributor on a React + Python/Flask/PostgreSQL CRM. Earlier CTO and technical project management roles included hiring, training, directing developers, and aligning engineering work with commercial requirements. Also delivered web-technology workshops for artists covering HTML, CSS, and JavaScript.
PostgreSQL, row-level security, Drizzle ORM, SQL Server, MySQL, Vitest, Playwright, pytest, technical documentation, migration planning, and testable delivery workflows.
Current product work emphasizes multi-tenant PostgreSQL with RLS, structured documentation, and automated tests. Prior stacks include Flask, SQLAlchemy, JDBC-backed multi-tier systems, and legacy database-backed business applications.
Systems architecture, interactive graphics, communications, data acquisition and control, operating systems, utilities, and long-running business systems.
Comfortable across Linux, Windows, and UNIX-class environments, with early-career breadth from PC and embedded-era platforms through today's cloud-oriented deployments.
Representative languages include JavaScript/TypeScript, Java, C#, F#, C/C++, assembly, BASIC, Pascal, and Fortran. Historical web and enterprise experience includes JSP/servlets, JDBC, XML/XSL, Classic ASP, ASP.NET, IIS-era deployments, Socket.IO, and Angular.js-era SPAs — retained where migrations or maintenance matter, not as the current default stack.
Python, TensorFlow/Keras, Hydra, Optuna, experiment workflows, benchmarking, C++, and Rust performance libraries.
Personal R&D focuses on multiscale time-series preparation and modeling. The emphasis is engineering depth: numerical representation, fast native resampling, feature pipelines, experiment automation, and integration with standard Python ML tooling. Not positioned as commercial ML leadership.
Blender, photogrammetry-informed 3D for the web, Three.js/WebGL, data visualization, Adobe/GIMP design workflows, WebStorm, and modern editor toolchains.
Earlier professional work included 3D Studio Max, Illustrator, print/video production tooling, CGI imaging, graphics pipelines, and interactive visual experimentation.
Extensive teaching, mentoring, and training experience. Background in marketing, advertising, print, radio, TV, web, and direct sales, useful when engineering work must connect clearly to users, clients, and business requirements.
An experiment created while developing the particle vertex and fragment shader code used in
this website. While my site is effortlessly using around 5000 GPU particles and the demo starts with
30000, on a decent machine a GPU can handle quantities around the hundreds of thousands.
For it to work: the browser must allow microphone access and permission to open a second window (the visuals open there, for a second display).
The current result of various live coding sessions during live music performances using 2D
Canvas and the Web Audio APIs. It also includes MIDI controller support that does work in the
running app, but there is no in-UI way to configure it; mappings are hard coded, so you need to
change the source if you want to use your own controller—see the gh-pages branch from the github repo.
A small experiment written while teaching about game coding. It's using Box2DWeb for physics and the HTML Canvas 2D API.
A polyfill for the newer CSS3 distance units and some media queries.
While there are more experiments that I've built over time that I want to publish, I'm still working on this website so hang on and they'll start showing up as my time allows! In the meantime you may check out my archived old website (seb.citycolor.net).
Technical writing and selected long-form essays on software, systems, time, consciousness, and physics-informed metaphysics. Full text of older engineering posts is linked from the archive below; selected recent pieces are on Substack as normal outbound links.
Long-form essay on the ontology of time, consciousness, and physics-informed metaphysics.
Essay on will, agency, and experience, and what it can mean to hold experience without classic libertarian free will.
JavaLobby forum tips preserved via the Internet Archive; original forums are offline.
The Java Collections API in java.util.* is a very powerful and fundamental toolkit for managing sets of objects and is used in practically all facets of software development, from low-level caches, to O/R mapping, to GUIs.
However, occasionally we have needs that extend beyond the basic functionality provided in the API. One very common need not handled by the collections framework is to provide maps that can hold many values for a particular key, much like databases feature non-unique key indexes. Having such a collection class would make this job very simple in Java.
Internet Archive snapshot; the original JavaLobby forum is offline.
Sometime ago I posted some code which ranks names according to their similarities based on Levenshtein's word difference algorithm. In this article I mentioned I had developed an algorithm to encode names quasi-phonetically according to their pronounciation in Spanish, much in the spirit of Soundex and Metaphone.
Since then, I've received a few requests by email with respect to this algorithm so I think it would be good to answer them all in a single Java Tip, while simultaneusly showing how to use Regular Expressions efficiently in Java.
Internet Archive snapshot; the original JavaLobby forum is offline.
Although the java.util.LinkedList class included in the JDK is good enough for most cases requiring linked lists, sometimes conditions will arise when it might not be as useful.
Here I propose an alternative implementation using a combination of generics and inheritance optimized for better memory economy and possibly a slight increase in speed, although the latter should be barely noticeable. This example will also illustrate some interesting applications of generics.
To understand where I'm coming from I'll need to explain some things about how Java stores objects in the heap and how this affects the standard LinkedList implementation.
Internet Archive snapshot; the original JavaLobby forum is offline.
As I undertake my first project management role, where I'll be leading a really small group of 3 developers (myself included) into an agile development effort, I'm allowing myself to look at all the unconventional technologies on the look out for interesting innovations before the design is completely fixed. I will however keep a conservative attitude so as not to get too excited about the toys to be found out in the wild (wild toys might eat your project and your budget!).
Internet Archive snapshot; the original JavaLobby forum is offline.
Using the previously posted Levenshtein Edit Distance method, this one builds upon the functionality to provide a name similarity ranking.
The benefits it provides over using plain LD is that it is indifferent to the order a person's name is written, thus being very useful for sorting results of name searches.
Internet Archive snapshot; the original JavaLobby forum is offline.
Here's a small implementation of the Levenshtein Word Distance algorythm written in Java.
The algorythm is good for measuring edit distance between two words and is normally used for spell checking and similarity sorting, but I've been told it can be used for other things as well. If you want some in depth explanation of how it works check out this site or this one that has a nice little applet showing its internals at work.
Internet Archive snapshot; the original JavaLobby forum is offline.
JDesktopPane as it is doesn't provide tiling and cascading. Here's the routine for tiling. Its priority is to get as many windows as possible to have the same size. Here's the code cascading windows.
Internet Archive snapshot; the original JavaLobby forum is offline.
JDesktopPane as it is doesn't provide tiling and cascading. Here's a simple routine for cascading.
The code is implemented in static methods for simplicity but some might prefer to include the methods in a subclass of JDesktopPane or a DesktopManager.
Internet Archive snapshot; the original JavaLobby forum is offline.
Following the recent Java2D discussion some of you might be wondering how to put some of that information to good use. A deeper understanding of why TexturePaint results in lower preformance can be found in that thread.
Here's a simple way to paint an arbitrary Java2D Shape with a texture using all the hardware acceleration the current rendering pipelines can provide. This routine, although still having lots of room for important optimizations, is a lot faster than ye' old TexturePaint.
Internet Archive snapshot; the original JavaLobby forum is offline.
Woa! Don't fire up those flame-throwers just yet! This isn't a thread about why native code is better, etc, etc. I mean to say that Java2D could fly just using better Java code.
Take Color, GradientPaint and TexturePaint and the low-level pipelines that actually paint stuff with these classes for example. Here are three implementations of the Paint interface that really make me wonder what's going on over at Sun.
Internet Archive snapshot; the original JavaLobby forum is offline.
Three terms of advanced courses in mathematics, computer science and physics at S.U.N.Y. (State University of New York) at Stonybrook.
Grades 11 and 12 at Smithtown High School East, St. James, NY. Including elective college level courses on computer science, mathematics and analog and digital electronics.
Grades 7, 8, 9 and 10 at F.A.C.E. (Fine Arts Core Education), Montreal, Quebec, Canada. F.A.C.E. is a bilingual (English and French) school with academic orientation toward the arts.
Primary education in Spanish in Santiago del Estero, Argentina except 1982 finished in Flagler Elementary School, Miami, Florida.