I have considered eventually hiring an experienced programmer to fine tune everything...
Software quality (no matter how you measure that) starts with the specifications and is more or less fixed by the design. If the design is good you can deal with any rough code later, if the design is poor no amount of clever coding will fix it.
Conclusion? If you want to involve someone experienced, do it sooner, not later.