Freelance Software Architect & Senior Software Engineer

Software architecture
I build
in code.

I strengthen your development team in backend, full-stack, and AI integration — from architecture decisions through operations.

Java / Spring Boot · TypeScript / Node.js · React · AI

Florian Ulrich, Software Architect and Senior Software Engineer
Florian UlrichMeckenheim, near Bonn

Technical responsibility.
Hands-on involvement.

Since 2008Software development

Architecture & OperationsOwn SaaS · 2019–2024

Full-Stack & AICurrent client projects

See the work behind it

Selected
work.

Three insights in detail. See six more projects.

Own SaaS platform2019–2024

A SaaS platform. Built hands-on.

As technical co-founder, I helped build a SaaS platform that let Amazon sellers analyze their markets and products. I designed the architecture, contributed hands-on to development, and provided technical guidance to the team. Over several years, we ran the platform on our own servers — with ongoing development, monitoring, and bug fixing.

Responsibility from architecture through ongoing operations.

Influencer marketing agencySince approx. 04/2026

From one-by-one outreach to managed acquisition.

In this client project, the agency team selects influencers and manages outreach. Previously, data was researched and transferred manually, emails were sent by hand, and details from each reply were recorded one by one.

I developed a Chrome extension that automatically transfers data for the influencers selected by the agency team from the influencer database into the target system. A separately developed outreach system sends emails automatically, checks replies for completeness, captures the data, and suggests responses. This turns the person into a conductor: select, review, direct.

Goal: significantly less manual work in creator acquisition.

Complex software.
Clearer to use.

webconia

Nexus for webconia

Nexus is a complex application for pitch overview and project search at webconia. I analyzed its usability and built an interactive React prototype.

Compare view
Before

Previous setup

Many statuses and filters at once.

Nexus Pitch overview: synthetic recreation of the previous setup. Many statuses and filters at once.
After

My UX prototype

Key steps in view, additional filters available when needed.

Nexus Pitch overview: redesigned UX prototype with synthetic data. Key steps in view, additional filters available when needed.
Before

Previous setup

Dense navigation and six equally weighted search fields.

Nexus Project search: synthetic recreation of the previous setup. Dense navigation and six equally weighted search fields.
After

My UX prototype

Consolidated navigation, clear search, and supplementary filters.

Nexus Project search: redesigned UX prototype with synthetic data. Consolidated navigation, clear search, and supplementary filters.

Before shows a synthetic recreation of the earlier setup, and after shows my UX prototype — both using sample data.

More projects.

Integration, data processing, and ongoing development.

B2B company · Full-stack

From lead database to CRM

2025–2026

Leads had to be entered manually, checked against suppression lists and the CRM, and loaded into campaigns. I combined these steps in a full-stack tool. Interested contacts are then sent automatically to HubSpot via webhook.

  • Next.js
  • TypeScript
  • PostgreSQL
  • HubSpot

Rental company · Data processing

Turning emails into a customer database

Since approx. 03/2026

Customers, quotes, and invoices were scattered across emails and PDFs. I automated the extraction of this data, removed duplicates, and matched transactions to customers. The result is a searchable customer database; unclear matches remain flagged for review.

Data processing implemented; overall business review still pending.

  • TypeScript / Bun
  • Windmill
  • IMAP / MIME

Football club · Existing software

Extending existing membership software

2026

A football club needed someone to take over and extend its existing membership software. I familiarized myself with the codebase, fixed bugs, added features, and stabilized operations. The club can continue working with its existing application.

  • React
  • Node.js / Express
  • MySQL
  • AWS

Own project · Data processing

Company data with traceable sources

2026

For narrowly defined target groups, standard databases returned only patchy results. I merged directory and web data, cleaned it, and optionally verified it with AI. The result can be exported; each company retains its source reference.

  • Node.js
  • TypeScript
  • SQLite
  • OpenAI / Ollama

Performance marketing agency · Data & automation

Matching online shops instead of duplicate contacts

2025

An agency wanted to target matching online shops without paying again to enrich contacts it already knew — enrich meaning adding further contact and company data. I used Clay to build an automated technical check of publicly available company data, legal-form information, and online activity, and matched it against the CRM before enrichment. Matching new companies are forwarded automatically to HubSpot and Smartlead.

  • Clay
  • n8n
  • HubSpot
  • Smartlead

Recruiting agency · B2B company research

Finding physiotherapy practices by specific criteria

2025

The target was physiotherapy practices with an estimated more than six full-time therapists. I used AI to analyze website text and images, estimating team sizes from the information on each website and distinguishing therapists from administrative staff. The subsequent contact enrichment turns this into a specifically researched company selection.

  • Clay
  • OpenAI API
  • Web Scraping
  • Smartlead

My contribution
to the development team.

Responsibility stays
with the developer.

AI supports my development work. I take personal responsibility for architecture decisions, code reviews, and tests.

  1. 01

    Understand

    Clarify the application and requirements.

  2. 02

    Develop

    Decide and implement it myself.

  3. 03

    Review

    Verify changes through reviews and tests.

  4. 04

    Hand over

    Plan ahead for operations and knowledge transfer.

An architect's mindset.
A developer's daily work.

As technical co-founder, I helped build a SaaS platform and provided technical guidance to the team. Today, I develop client applications, integrations, and AI features.

Meckenheim, near Bonn · German · English C1

Download Freelance CV PDF · 6 pages

Further Collaboration & Knowledge Sharing

onFire DigitalDIGITALHUB.DE, DWNRWWerbeartikelhandel.com

Before the
project inquiry.

Do you also work through recruitment agencies?

Yes. Companies and recruitment agencies can send me a job posting directly. For an initial assessment, it helps to know the role, tasks, and core technologies involved. For further details on my profile and relevant projects, I'm happy to speak with you directly.

How do you work within an existing development team?

I make architecture decisions together with the team and develop alongside them. I work within the existing codebase and align tasks, Git workflows, reviews, and tests with the team's processes.

Can you extend existing applications and systems?

Yes. I take over existing software, fix bugs, add features, and connect systems. After reviewing the code, data flows, and requirements, we determine whether an extension, integration, or new development makes the most sense.

How do you ensure quality and handover?

Traceable changes, code reviews, and appropriate automated tests are part of the implementation. We agree within the project on what documentation, access, and knowledge transfer your team needs. Usage rights and source code handover are defined in the contract.

Does my project need to include AI?

No. I also build traditional applications and integrations. AI is used where it makes sense for the task at hand. In development, I take personal responsibility for decisions, reviews, and tests; tools and data access are agreed on a per-project basis.

What do you need for an initial assessment?

A job posting or a short description of the problem, the systems involved, and the desired outcome is enough to get started. A finished requirements document isn't necessary. From there, we clarify fit, open questions, and the next sensible step.

Does my profile
fit your project?

Send me your job posting or project description. We'll discuss fit and how we might work together.

0176 19253865florian@nimblean.de

Have your own software challenge?

You're also welcome to inquire directly about custom applications and prototypes.

Send me your job posting or project description directly by email, or give me a call.

Project inquiry by emailCall directly: 0176 19253865