Saya membuat aplikasi macOS untuk memindahkan 1.640 catatan EverNote ke Google Drive.

14.229.***.***
12


Saya telah mengumpulkan 10 tahun catatan di Evernote.

Jumlah catatan sekitar 1.640 buah.


Saya terus membayar karena fitur pencarian, tetapi situasi berubah ketika Gemini ditambahkan ke Google Drive.

Ketika saya mengumpulkan beberapa dokumen di folder Drive dan berkata "buatkan kontrak baru berdasarkan ini," Gemini akan mengisinya dengan informasi kontak dan menghasilkan dokumen dengan sempurna.


Melihat ini, saya memutuskan untuk meninggalkan Evernote, tetapi memindahkan data adalah masalahnya.





Ada opsi ekspor resmi Evernote (ENEX), tetapi banyak jebakan.


Hanya tersedia di aplikasi PC, dan hanya bisa memilih hingga 100 catatan sekaligus.

Dengan 1.640 catatan, itu 17 kali pengulangan, tetapi masalah sebenarnya adalah beberapa catatan hilang meskipun ekspor menunjukkan selesai.

Aplikasi tidak memberitahu catatan mana yang hilang.



Sebagai alternatif, ada opsi ekspor HTML.

Banyak yang tidak tahu karena tersembunyi di menu, tetapi itu menghasilkan satu folder per catatan, dan semua 1.640 catatan dapat diekspor tanpa kerusakan.


Masalahnya adalah ketika Anda mengunggah HTML ini ke Google Drive, file HTML diunggah apa adanya.

Ini tidak berubah menjadi Google Docs, jadi Anda tidak bisa mengedit dan Gemini tidak bisa membaca isinya.

Layanan yang ada (cloudHQ, MultCloud) semuanya berlangganan bulanan dan tidak mendukung konversi ke Google Docs.





Jadi saya memutuskan untuk membuatnya sendiri menggunakan vibe coding.


Saya mulai dengan memberikan persyaratan kepada Claude dan mengekstrak kode, tetapi masalah yang tidak terduga bermunculan saat saya membuat.


Masalah ekstensi audio yang hilang


Evernote menghilangkan ekstensi file audio saat mengekspor HTML.

File .m4a keluar tanpa ekstensi, dan bahkan ketika diunggah ke Drive, tidak dapat diputar.


Saya menambahkan logika untuk membaca magic byte di awal file dan menentukan formatnya.


ftyp → .m4a

ID3 / 0xff 0xfb → .mp3

RIFF → .wav

OggS → .ogg


Ini adalah pencocokan pola sederhana, tetapi tanpa itu, semua catatan audio tidak akan berfungsi.



Konversi HTML → Google Docs


Jika saya menambahkan flag konversi ke Drive API dan mengunggah, itu menjadi Google Docs, tetapi ada tag audio yang dicampur dalam HTML Evernote, jadi saya perlu memeriksa dan menanganinya.

Saya juga membuat pipeline untuk mengunggah gambar inline secara terpisah dan menyelipkannya ke dokumen.

Ini lebih dari setengah dari total beban kerja.


Jeda/Lanjutkan


Mengunggah 1.640 catatan memerlukan waktu 4-5 jam karena kuota Drive API.

Jika Mac tidur, memulai dari awal tidak masuk akal, jadi saya mencatat status unggahan per catatan di progress.json dan membuat prosesnya berlanjut saat dijalankan kembali.




Stacknya adalah Python + PyObjC (UI asli macOS) + lxml + google-api-python-client.


Jika saya berbicara tentang pengalaman vibe coding, sangat cepat untuk menetapkan struktur dan mengekstrak logika dasar.

Tetapi akhirnya, manusia harus menangani edge case.

Saya menangani hal-hal seperti pemrosesan tag audio satu demi satu dengan memeriksa secara langsung.


Secara subyektif, AI menulis 70% dari seluruh kode, dan saya memperbaiki 30% sisanya saat men-debug.




Hasilnya adalah ini.


1.640 catatan telah diatur dalam folder `tanggal_judul` dan dapat diedit langsung di Google Docs.


Integrasi Gemini yang asli juga berfungsi dengan baik.

Sekarang juga dimungkinkan untuk membuat dokumen baru berdasarkan dokumen yang telah dipindahkan.





Ada juga beberapa kelemahan.


Hanya berjalan di macOS. Karena berbasis PyObjC, Windows tidak didukung.

Catatan dengan tabel kompleks akan mengalami kerusakan tata letak saat dikonversi ke Google Docs.

Audio format AMR tidak dapat diputar di Google Drive bahkan setelah ekstensi dipulihkan. Ini karena Google tidak mendukung AMR.




Saya awalnya membuatnya untuk memindahkan catatan saya sendiri, tetapi saya juga menjualnya di Gumroad.

Jika Anda sedang mempertimbangkan meninggalkan Evernote atau memiliki pertanyaan tentang vibe coding, silakan tinggalkan komentar.


로그인한 회원만 댓글 등록이 가능합니다.

개발한당

KR | ID | EN
  • IDR
  • KOR
8.34 -0.01

2026.07.10 KEB 하나은행 고시회차 1155회

다가오는 한인 행사일정

  • 등록 된 일정이 없어요!