Legal

Terms of service

1. Identity of the service provider

Services are provided by Viewport Solutions — not a corporation, partnership, agency, or marketplace. This website is operated by the same provider named on Stripe invoices.

Contact:contact@viewportsolutions.com · Contact form · Billing information

2. Description of services

Custom software development performed by a single independent contractor. Services include designing and implementing web application dashboards, administrative interfaces, internal tools, bug fixes, and small feature work inside existing products built with Vue, Nuxt, Ruby on Rails, Phoenix LiveView, JavaScript, and related technologies. I do not sell physical goods, downloadable products, subscriptions, or access to software hosted by me. I do not operate a marketplace. Each client receives a written scope and a Stripe invoice in USD before payment is due. Work is delivered as code changes, configuration, or documentation in the client’s repository or environment, as specified in the agreement.

Typical categories of work include:

  • Design and implementation of web application dashboards and reporting interfaces
  • Administrative panels, internal tools, and staff-facing CRUD workflows
  • Debugging, patching, and small feature work in production codebases
  • Consultation and discovery related to the above, when included in written scope

What is not sold: physical goods; pre-packaged software licenses; SaaS subscriptions hosted by the Provider; digital downloads sold separately from custom development; or access to any ongoing platform operated by the Provider.

3. Client relationship

Services are provided to clients who engage the Provider directly — typically individuals, founders, or small teams with an existing product or codebase. The Provider does not require clients to be businesses; engagements are contractual services between you and the individual named above.

4. Independent contractor status

The Provider is an independent contractor. Nothing in these Terms creates an employment, partnership, joint venture, franchising, or agency relationship. The client is not authorized to bind the Provider except as expressly agreed in writing for a specific engagement.

5. Scope, quotes, and acceptance

All work is limited to the scope described in a written agreement — including email, messaging thread, scope document, or Stripe invoice line items. Oral promises that conflict with written scope are not binding unless confirmed in writing.

If requirements change after scope is agreed, the Provider will provide an updated quote. Additional work requires a new written agreement and, where applicable, a new or revised Stripe invoice before work outside the original scope begins.

6. Payment terms

Invoices are issued in USD through Stripe. Payment is due on or before the due date shown on the invoice unless otherwise stated in writing. Accepted payment methods are those offered on Stripe’s hosted invoice page at the time of payment.

This website does not collect payment card numbers. Card and bank details are entered only on Stripe’s secure domain. The Provider does not store full card numbers.

Late or unpaid invoices may pause work until payment is received. The Provider may charge reasonable reminder communications; statutory interest may apply where permitted by law.

7. When work begins and delivery

Unless the written scope states otherwise, work begins after the invoice (or required deposit portion) is paid. Deliverables are provided as source code, configuration, documentation, or other digital work product specified in the scope — usually via the client’s version-control repository or agreed handoff method.

Timelines are estimates based on information known at acceptance. Delays caused by missing access, unclear requirements, or client unavailability may extend the schedule without constituting breach by the Provider.

8. Client responsibilities

  • Provide timely access to repositories, staging environments, and relevant documentation
  • Designate a single point of contact for decisions within the agreed scope
  • Review deliverables and report issues within a reasonable period stated in the scope
  • Ensure you have rights to any materials, APIs, or data you ask the Provider to use

9. Intellectual property

Upon full payment of the invoice covering the work, ownership of custom code and deliverables created specifically for the engagement transfers to the client as stated in the scope, excluding third-party open-source components, which remain under their respective licenses. Pre-existing tools, templates, or know-how retained by the Provider may be reused across clients unless exclusivity is agreed in writing.

10. Confidentiality

Non-public information shared for an engagement will be used only to perform the work and not disclosed to third parties except as required by law or with your consent. The Provider may name the general type of work in a portfolio only with your permission.

11. Refunds and cancellations

Refunds and cancellations are governed by the Refund & cancellation policy, incorporated by reference. Please read that policy before payment.

12. Warranties and disclaimer

The Provider warrants that services will be performed in a professional manner consistent with industry practice for the agreed scope. Except as stated in writing for a specific engagement, services are provided “as is” after delivery to the extent permitted by law. The Provider does not guarantee uninterrupted operation of third-party services (hosting, Stripe, APIs, etc.).

13. Limitation of liability

To the maximum extent permitted by law, the Provider’s total liability for any claim arising from an engagement is limited to the amount you paid for that specific engagement. The Provider is not liable for indirect, incidental, special, consequential, or punitive damages, including lost profits or data, except where such limitation is prohibited by law.

14. Disputes and chargebacks

If you believe an invoice is incorrect or work was not delivered per scope, contact contact@viewportsolutions.com before initiating a chargeback or payment dispute. Good-faith effort to resolve issues directly is expected. Chargebacks filed without prior contact may affect willingness to accept future engagements.

15. Governing law

These Terms are governed by applicable law, without regard to conflict-of-law rules. Any dispute shall be resolved through good-faith negotiation first, then through courts or forums with jurisdiction over the Provider unless mandatory consumer protection rules in your jurisdiction require otherwise.

16. Changes to these Terms

The Provider may update these Terms by posting a revised version on this website with an updated date. Engagements accepted after the update are subject to the new Terms; paid engagements in progress remain under the Terms in effect when scope was accepted unless both parties agree otherwise in writing.

17. Contact

Questions about these Terms: contact@viewportsolutions.com · Contact page

Available for new projectsReply within 1–2 business days