Direct Engineering Intake

Initiate Diagnostic Scoping & Contact

Schedule a technical scoping discussion with senior client diagnostics engineers at Think Harbor Base. Direct address in Pattaya, Thailand.

Submit Application Diagnostic Brief

Provide details regarding your target platform, stack traces, or release schedule. Our senior engineering team will evaluate your brief and respond within 1 business day.

<div 
  x-data="{
    formData: {
      name: '',
      email: '',
      service: 'stability-audit',
      platform: 'android',
      message: ''
    },
    errors: {},
    isSubmitting: false,
    submitStatus: null,
    statusMessage: '',

    validate() {
      this.errors = {};
      if (!this.formData.name.trim()) {
        this.errors.name = 'Please provide your name or engineering title.';
      }
      if (!this.formData.email.trim()) {
        this.errors.email = 'Please provide a valid work email address.';
      } else if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(this.formData.email)) {
        this.errors.email = 'Please enter a valid email format (name@company.com).';
      }
      if (!this.formData.message.trim() || this.formData.message.trim().length < 15) {
        this.errors.message = 'Please provide a brief summary of the stability issues (at least 15 characters).';
      }
      return Object.keys(this.errors).length === 0;
    },

    async handleSubmit() {
      if (!this.validate()) {
        return;
      }
      this.isSubmitting = true;
      this.submitStatus = null;
      this.statusMessage = '';

      try {
        const response = await fetch('/api/mock.json', {
          method: 'POST',
          headers: {
            'Content-Type': 'application/json'
          },
          body: JSON.stringify(this.formData)
        });

        if (response.ok) {
          const data = await response.json();
          this.submitStatus = 'success';
          this.statusMessage = data.message || 'Diagnostic brief received successfully. A senior engineer will review your details shortly.';
          this.formData = { name: '', email: '', service: 'stability-audit', platform: 'android', message: '' };
          this.errors = {};
        } else {
          this.submitStatus = 'error';
          this.statusMessage = 'Submission error (status ' + response.status + '). Please try again or email us directly at info@thinkharborbase.click.';
        }
      } catch (err) {
        this.submitStatus = 'error';
        this.statusMessage = 'Network connection failed while dispatching brief. Please contact us via email at info@thinkharborbase.click.';
      } finally {
        this.isSubmitting = false;
      }
    }
  }"
>
  <div x-show="submitStatus === 'success'" class="form-status-alert success" style="display: none;">
    <strong style="display: block; margin-bottom: 0.25rem;">Diagnostic Brief Submitted</strong>
    <span x-text="statusMessage"></span>
  </div>

  <div x-show="submitStatus === 'error'" class="form-status-alert error" style="display: none;">
    <strong style="display: block; margin-bottom: 0.25rem;">Submission Failed</strong>
    <span x-text="statusMessage"></span>
  </div>

  <form @submit.prevent="handleSubmit()" novalidate>
    <div class="form-group">
      <label for="contact-name" class="form-label">Full Name &amp; Title *</label>
      <input 
        type="text" 
        id="contact-name" 
        x-model="formData.name" 
        class="form-input" 
        :class="{ 'is-invalid': errors.name }"
        placeholder="e.g. Alex Wong, Principal Mobile Architect"
      >
      <div x-show="errors.name" class="form-error-msg" x-text="errors.name" style="display: none;"></div>
    </div>

    <div class="form-group">
      <label for="contact-email" class="form-label">Engineering Work Email *</label>
      <input 
        type="email" 
        id="contact-email" 
        x-model="formData.email" 
        class="form-input" 
        :class="{ 'is-invalid': errors.email }"
        placeholder="alex.wong@enterprise.com"
      >
      <div x-show="errors.email" class="form-error-msg" x-text="errors.email" style="display: none;"></div>
    </div>

    <div class="grid grid-2" style="gap: 1rem; margin-bottom: 1.5rem;">
      <div>
        <label for="contact-service" class="form-label">Required Engagement</label>
        <select id="contact-service" x-model="formData.service" class="form-select">
          <option value="stability-audit">Stability Diagnostic Audit (10 Days)</option>
          <option value="crash-retainer">Crash Triage Retainer (Monthly)</option>
          <option value="telemetry-architecture">Telemetry Pipeline Architecture (5 Days)</option>
          <option value="anr-memory-sprint">ANR &amp; Memory Profiling (7 Days)</option>
          <option value="general-inquiry">Custom Scoping Scenarios</option>
        </select>
      </div>

      <div>
        <label for="contact-platform" class="form-label">Primary Application Stack</label>
        <select id="contact-platform" x-model="formData.platform" class="form-select">
          <option value="android">Android (Kotlin / Java / NDK)</option>
          <option value="ios">iOS (Swift / Objective-C / C++)</option>
          <option value="cross-platform">Cross-Platform (Flutter / React Native)</option>
          <option value="desktop-embedded">Desktop / Embedded Client</option>
        </select>
      </div>
    </div>

    <div class="form-group">
      <label for="contact-message" class="form-label">Diagnostic Summary &amp; Crash Symptoms *</label>
      <textarea 
        id="contact-message" 
        x-model="formData.message" 
        rows="4" 
        class="form-textarea" 
        :class="{ 'is-invalid': errors.message }"
        placeholder="Describe the current failure modes, top crash cluster signatures, release timeline constraints, or symbolication bottlenecks..."
      ></textarea>
      <div x-show="errors.message" class="form-error-msg" x-text="errors.message" style="display: none;"></div>
    </div>

    <button type="submit" class="btn btn-primary" style="width: 100%;" :disabled="isSubmitting">
      <span x-show="!isSubmitting">Dispatch Diagnostic Brief</span>
      <span x-show="isSubmitting" style="display: none;">Transmitting Brief...</span>
    </button>
  </form>
</div>

Direct Practice Headquarters

  <div style="display: flex; flex-direction: column; gap: 1.25rem;">
    <div>
      <div style="font-size: 0.8rem; color: var(--text-dim); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 0.25rem;">Office Address</div>
      <div style="font-size: 0.95rem; color: var(--silver-100); font-weight: 500;">
        Office 9, 42 Example Avenue, Pattaya 00000
      </div>
    </div>

    <div>
      <div style="font-size: 0.8rem; color: var(--text-dim); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 0.25rem;">Direct Telephone</div>
      <div style="font-size: 0.95rem; color: var(--cyan-300); font-weight: 600;">
        +66 38 000 652
      </div>
    </div>

    <div>
      <div style="font-size: 0.8rem; color: var(--text-dim); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 0.25rem;">Electronic Mail</div>
      <div style="font-size: 0.95rem; color: var(--silver-200);">
        info@thinkharborbase.click
      </div>
    </div>

    <div>
      <div style="font-size: 0.8rem; color: var(--text-dim); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 0.25rem;">Operating Hours &amp; Timezone</div>
      <div style="font-size: 0.9rem; color: var(--silver-300);">
        Monday &ndash; Friday: 09:00 &ndash; 18:00 ICT (UTC+7)<br>
        Emergency Release Triage available under active retainer.
      </div>
    </div>
  </div>
</div>

<div class="origami-card" style="background: var(--bg-secondary);">
  <h4 style="font-size: 1.05rem; margin-bottom: 0.75rem; color: var(--silver-100);">NDA &amp; Security Protocol</h4>
  <p style="font-size: 0.88rem; color: var(--silver-400); line-height: 1.6; margin-bottom: 0;">
    We routinely execute bilateral NDAs prior to reviewing proprietary crash logs, symbolication archives, or client repository branches. All data is processed in isolated security environments and destroyed post-audit.
  </p>
</div>