Thomas Andraschko
PrimeFaces support, straight from the PF project lead.
Get PrimeFaces support and more. Jakarta EE, runtimes and operations included. I work on the implementations your application runs on, so a fix goes upstream instead of stopping at a workaround.
Your one-stop contact for the whole stack
From the component library down to the container it runs in. Pick a layer to see what I do there.
What you can ask me for
From the component down to the cluster.
-
PrimeFaces support
Bugs, odd component behaviour, AJAX and partial rendering issues, theming and PrimeFaces Extensions, for every officially supported version. If the cause is in PrimeFaces itself, I fix it there instead of leaving a patch in your codebase, and I can backport fixes to versions that officially only receive security updates. Ticket-based, like PrimeFaces PRO.
-
Jakarta EE consulting
I help with the problems below the component library that most teams can't get to the bottom of: Faces lifecycle and view state, CDI scopes and bean discovery, JPA mappings and queries, REST endpoints with JAX-RS, validation and startup issues. I work on several of these implementations at Apache, so I can read the stack trace from the inside.
-
Upgrades and migrations
I move your application between PrimeFaces major versions, from
javax.*tojakarta.*, JSF 2.x to Faces 4, between Mojarra and MyFaces, or from a full application server to Quarkus, where I created the extensions for MyFaces and PrimeFaces. Planned, tested and done in small steps. -
Runtime, containers and CI/CD
I make your application run well in production: configuration and tuning of Tomcat, WildFly, Jetty, TomEE or Quarkus, Docker images, Kubernetes deployments, build and release pipelines, nginx in front, load balancing and session handling for clustered Faces applications.
-
Performance and code review
I find the real hotspots when pages are slow, view state grows or memory runs out under load, or review your code in writing with concrete fixes ranked by impact. Then I fix the problem where it is, in your code or in the framework.
Thomas Andraschko
Developing software since 2006, in open source since 2011.
Most of those years went into the stack your application runs on. My contributions to the open source community:
- Project lead of PrimeFaces since 2016, founder of PrimeFaces Extensions in 2011.
- Member of the Apache Software Foundation since 2019, PMC member of Apache MyFaces, OpenWebBeans, DeltaSpike and BVal.
- Designer of the Search Expression API in JSF 2.3, Jakarta Faces committer at the Eclipse Foundation since 2021.
- Author of the Quarkus extensions for MyFaces and PrimeFaces, contributor to Quarkus itself.
- Mentor for Google Summer of Code and reviewer of books on JSF.
By day I work as a software architect across the full stack. Alongside that, teams running PrimeFaces and Jakarta EE in production get support and consulting from me, from the component library down to the runtime.
Off the keyboard you’ll find me at karate training, on long bike rides or in the garage, keeping classic cars and motorcycles running. All three teach what good maintenance work needs too: patience, precision and persistence.
- 1
- Project lead: PrimeFaces
- 5
- PMC or project board: PrimeFaces Extensions, BVal, DeltaSpike, MyFaces, OpenWebBeans
- 8
- Committer: all of the above plus TomEE and Jakarta Faces
- 12
- Contributor: all of the above plus Quarkus, Tomcat, Johnzon, OpenJPA
Selected work
A few of the clients I work with, and what they say.
-
PrimeTek Informatics
I’ve been working closely with PrimeTek on PrimeFaces for many years. Alongside PrimeFaces development, my work covers PrimeFaces PRO, the LTS versions and their releases, hosting and the premium templates.
“Thomas has been a key contributor to PrimeFaces for many years, leading its development and providing exceptional technical support to our customers. His deep expertise, dedication, and understanding of the PrimeFaces ecosystem have been invaluable to PrimeTek. As we transition PrimeFaces commercial support to independent maintainers, I can confidently recommend Thomas to organizations looking for professional PrimeFaces support and consulting.”
-
Dürr Systems AG
At Dürr I mainly maintain the internal framework their applications are built on, based on Jakarta Faces, PrimeFaces and Jakarta EE. I develop new framework features with the team, guide every PrimeFaces upgrade and help wherever else I’m needed.
-
Agoris Digital Systems GmbH
Together with the Agoris team, I worked out the architecture for moving a large legacy offline order processing system from Swing to a modern Quarkus stack. A big part was bringing their extensive in-house framework into the new stack as proper building blocks, along with Docker, CI/CD and hosting. The team builds the features themselves, and I stay on as a consultant wherever they need me.
“We were extremely lucky to get Thomas on board to web-enable our Java-based product using PrimeFaces and Quarkus. He covers the entire tech stack including deployment. And he is a super-nice person to work with. Recommendation: 100%.”
How billing works
Support runs through my private ticket system and is billed by the hour. Anything bigger we look at separately. I work with businesses only.
Hourly support
By the hour rate on request
For bugs, questions, reviews and upgrades.
- Billed monthly for time actually spent
- 15-minute increments, with 15 minutes minimum per ticket
- Ask for an estimate before any work starts; the time for it is booked on the ticket
Projects
On request
For migrations, audits or anything that doesn't fit into a ticket.
- Tell me what you need
- I give you a rough estimate, work is billed by the hour
Support includes direct access to me through the ticket system. You'll usually hear back within 48 hours, often much sooner, and production issues go to the front of the queue.
From first email to fix
Get in touch
Send me an email with your stack and versions and what you need.
Access
Your team gets access to my private ticket system. For each ticket you can ask for an estimate first, booked as ticket time.
I fix
I fix it in your code, as a pull request or a patch, and explain the cause. Time is logged on the ticket.
Upstream
If the library is at fault, the fix goes into PrimeFaces or the Apache implementation as well.
Questions teams ask
Which PrimeFaces versions do you support?
Every version that is still officially supported. The current list is in the PrimeFaces README on GitHub. For versions that officially only receive security fixes, I can backport bug fixes as well.
Our PrimeFaces PRO contract is ending. What changes?
PrimeTek honors existing PRO contracts until they expire. After that, support with me works much the same: tickets, answers directly from the project lead, and backports for older versions.
What happens if the bug is in PrimeFaces itself?
I fix it upstream so it ships in a PrimeFaces release. If you're on an older version, I can backport the fix, even to versions that officially only receive security fixes. Until a release is out, you get a workaround in your own code.
How fast do you respond?
Usually within 48 hours, often much sooner. If something breaks in production, mark it in the ticket and it moves to the front of the queue. For bigger fixes we agree on a timeline together, so you always know what to expect.
How does invoicing work?
Monthly invoices in EUR for the time actually spent, paid by bank transfer, wherever you are based. Invoices show German VAT (USt) where it applies; for business customers in other EU countries, VAT is handled through the reverse-charge procedure using your VAT ID.
Is there a minimum commitment or a retainer?
No. There's no retainer and no minimum term. You book time only when you need it and pay for the time actually spent, billed monthly in 15-minute increments (15 minutes minimum per ticket). You can start with a single question and stop whenever you like.
What is the contractual basis? Can we sign an NDA?
We agree on the scope and hourly rate in writing by email, and that email plus the ticket history is the contract. If your company needs a framework agreement, a supplier form or an NDA, send me your template and I'll sign it after a quick review. You get exclusive, unlimited rights to use the code I write for you; fixes that go into PrimeFaces or Apache projects are open source like the rest of those projects.
How do you handle our source code and confidentiality?
Usually I only need a small sample in the ticket to reproduce the problem, not your whole codebase, and PrimeFaces and the Apache frameworks are open source anyway. When I work directly in your application, I use your own source control and systems, so the code stays in your environment. I never pass your code or data on to anyone, and if you need it in writing, we can sign an NDA.
What happens when you're on holiday or unavailable?
I'm a one-person business, so there is no substitute on standby. In return you always deal with the same person who knows your code. I announce absences in the ticket system in advance, and anything time-critical we plan around them. Because I work with a small number of clients and mostly asynchronously, a few days without me rarely blocks anyone.
Which languages do you work in?
English and German.
Tell me what's broken
Send me an email, whether it's about support or a project. Support clients then get access to my private ticket system. The more detail you include, the faster you get a useful answer.
Or write directly to info@neroe.org
I work remotely from Bavaria, Germany (CET), mostly asynchronously and in writing, and take on a small number of clients at a time.
Using PrimeFaces without needing support? You can still help keep it maintained. Sponsoring my open source work on GitHub goes straight into PrimeFaces and the Apache projects your application depends on.
Become a sponsor