Existing apps

Keep building the app you have. New features in a codebase that's grown.

Your app is live, and each new feature takes longer than the last? I build on your existing code with your team and bring the app up to date as I go.

Based in Dinslaken, Germany · remote or on site in Germany

Teams I've worked with

  • RK Vision Homes
  • kunveno
  • The COI
  • Diatro
  • OYC
  • Meine Heimat by Skowo
Why now

Your users expect more from your app.

Your team has built the app over several years. It carries early decisions, last-minute fixes, and packages that have fallen behind. You don't have to start over. I build the next feature into the code you have.

  • New features, same users.

    Your users rely on the app every day. A release with new features can't break anything that works today.

  • Code that grew with the product.

    Every release added something, some of it from developers who have since moved on. A few parts need rework before the next feature fits.

  • New versions, new rules.

    Frameworks and operating systems keep shipping new versions, and Apple and Google keep changing their requirements. If you don't keep up, the stores can reject your updates.

Getting up to speed

I get to know your app before the first change.

I start with how the app is built, where its data comes from, and how it ships today. Your team knows this best, so I ask them first. Then I take on the first feature and change only the parts of the architectureArchitectureHow the software is divided into parts. It decides whether the next feature is easy or expensive.More in the glossary → that feature needs.

  • Tests before rework.

    Before I change anything, I pin down what works today with tests.

  • Small steps.

    I ship small changes, and each one goes through your code reviewCode reviewA second pair of eyes before code is merged. Bugs show up early, and knowledge spreads across the team.More in the glossary → and your pipelineCI/CD and pipelinesAn automated run that builds the app, tests it, and uploads it to the stores. Anyone on the team can start it.More in the glossary →.

  • Decisions in writing.

    I record each decision and the reasoning behind it in your team's docs.

Typical work

What I work on in existing apps.

Since 2020, I've worked on live apps as part of my clients' teams. FlutterFlutterGoogle's framework for building iOS and Android apps and web UIs from one codebase. One team ships both platforms from the same code, and both stay in step.More in the glossary → is my focus, and I take on native apps in SwiftSwiftApple's language for iPhone, iPad, and Apple Watch apps. It comes in when an app is built natively or when a Flutter app needs something only iOS offers.More in the glossary → and KotlinKotlinThe language for native Android apps, also used on the server. It shows up for Android-specific features and for backend services.More in the glossary → too.

  • Flutter
  • Dart
  • Swift
  • Kotlin
  • Android
  • iOS
  • Firebase
  • Supabase
  • React
  • Node.js
  • Docker
  • Git
  • Codemagic
  • GitHub Actions
  • New features

    I build screens and flows that fit the app you have.

  • Version upgrades

    I bring your framework, language, and packages, such as Flutter and Dart, up to date one step at a time.

    Read more
  • Splitting out features

    I move large areas into their own packages, or into a monorepoMonorepoSeveral apps in one shared repository, so shared code exists only once. Worth it as soon as one app turns into several.More in the glossary →. Your team can change one area without touching the rest.

    Read more
  • Adding tests

    I cover the flows every release depends on with unit testsUnit testAn automated test for a small piece of logic, such as a calculation. It runs in seconds and fails the moment a change breaks something.More in the glossary → and widget testsWidget testAn automated test for one part of a Flutter interface. It checks that a screen shows the right thing and reacts correctly to input.More in the glossary →.

  • Release pipeline

    I set up builds, tests, and store uploads so your team can ship on its own.

  • Store requirements

    I implement new Apple and Google requirements and handle code signingCode signingThe digital proof that an app really comes from its publisher and hasn't been tampered with. Without valid certificates and keys, no store accepts an update.More in the glossary → and app review.

Testimonials

What clients say.

“Julian developed a complex coaching app for COI with his extraordinary expertise that has far exceeded our expectations.”
Dirk Kröger Founder, COI
“Julian is extremely reliable and professional! … What I appreciate most is that he thinks ahead throughout the entire development process. I recommend Julian without reservation!”
Raffael Filusch Location-Based Game App, Applorer
Getting started

Getting started on your project.

I work in your repoRepositoryThe place where a project's entire source code lives together with its history, usually on GitHub or GitLab. Anyone with access sees every version and every change.More in the glossary →, with your team's tools and workflow.

  1. 1

    A call

    Thirty minutes over video. You tell me what your app does today and what comes next. I tell you if I can help, and how.

  2. 2

    Starter phase

    The starter phase is fixed-price, with a defined deliverable: the next feature on your list. Along the way, I learn how your team ships releases today.

  3. 3

    In your sprint

    After that, I keep working in your sprintSprintA fixed stretch of work, usually two weeks. The team commits to a goal and shows a result at the end. Then it plans what comes next.More in the glossary →, one release at a time. Your team gets a test build of every version before it goes to the stores.

More on working with your team
FAQ

Questions about your existing app.

Who do you work with on existing apps?

I work with teams whose app is in the stores, from vertical software to consumer apps. I'm Julian Giesen, a senior software engineer based in Dinslaken, Germany. I build the next features with your team, in Flutter for most clients.

Do you take on apps built on an old Flutter version?

Yes. I upgrade Flutter, Dart, and your packages in small steps, starting with tests that capture today's behavior. Your team gets a test build of each step before it reaches the stores.

Do we need to clean up or rewrite the app first?

No. New features go into the code you have. I rework only the parts the next feature touches, and each change goes through your code review.

Will our users notice anything?

Only the new features. I back changes with tests, and your team signs off on each release.

Do you also work on native apps in Swift or Kotlin?

Yes. I also build features in native Swift and Kotlin apps. That includes code signing, app review, and the latest Apple and Google requirements.

Call

Let's talk about what your app should do next.

In thirty minutes, you tell me which feature comes next. I'll tell you if I can help build it, and how.

  • Video call, no prep needed
  • Reply within one business day

Send a message

A few sentences are enough. I'll reply by the next business day.

For example: what you want to build, where things are stuck, and when you need it by.

I only use your details to reply to your message. See the privacy policy (in German).