Project Recap: Building Ataraxia

The Inspiration

After ordering yet another book online, I finally noticed our collection had grown into a full-fledged mini-library. Despite its informal organization—books in the office, living room, or doubling as coffee table decor—I can inexplicably know with relative certainty where nearly any particular book we own is at any given time. How long can such a system last?

The prospect of buying duplicates or, worse, losing everything in the event of a disaster made me think: why not catalog our collection like a proper library? As an aspiring Linux system administrator and hobbyist developer, I started exploring self-hosted solutions for personal library catalogs. While a few options met my functional needs, none of the ones I came across had the clean, intuitive interface I was hoping for.

Always thinking of projects to solve a problem, the idea finally hit me: why not build my own? It was the perfect opportunity to blend my existing knowledge of Linux and programming with a chance to fill gaps in SQL, HTML, and CSS while creating something useful.

The Process

I have to mention, this application could not have come to life without the help of AI tools, specifically ChatGPT. With its assistance, I was able to articulate my ideas in plain language and receive step-by-step guidance to build, debug, and refine my project. While I didn’t write all the code from scratch, working with and tweaking the existing code allowed me to troubleshoot and expand functionality, deepening my understanding of what’s happening under the hood. AI significantly accelerated the process—what might have taken months to develop by hand came together in just hours. There is also no possible way I could have built this two years ago as I started learning Linux administration and programming seriously, there’s so much more behind just learning a coding language that goes into developing something. and

The app uses Flask, a web framework based on Python, with an SQLite3 database—both recommended by ChatGPT for their beginner-friendly nature. I’d have to agree; they’ve been excellent starting points to a complete novice taking on something like this. Eventually, I’d like to migrate to React and Node.js to gain experience with more industry-standard tools, but for now, Flask fits my needs perfectly.

Once I nailed down the basic database functionalities, I became hooked on tweaking and refining the app. Adjusting styling, adding features, and brainstorming improvements became an addictive process. Experimenting with HTML and CSS—and seeing the results of my changes almost instantly—has taught me more about front-end development in the past week than any book or online course I’ve read on the subject. So even if you have no idea what you’re doing, just dive in and get started!

The Result: Ataraxia?

The result of this journey is what I’m currently calling Ataraxia—a humble CRUD (Create, Read, Update, Delete) application, codenamed after the King Gizzard & The Lizard Wizard song of the same name whose dictionary definition is: “a perfect peace of mind, or calmness.”

Ataraxia

I’m proud of how functional and user-friendly it’s become, especially given how much paid software available is less enjoyable to use. As someone with a passion for archiving and systems that work for you, this project was incredibly rewarding. Why rely on tediously inputting information into spreadsheets when I could automate this process with an API fetch?

While Ataraxia lacks advanced features for now, its core functionality is solid, and I’ve met my primary goal of cataloging my personal book collection. I know there are likely optimizations, security features, and input sanitizing I need to do, but since this is not open to the wider web and a tool only for me, I’m not too worried yet.

The project is far from complete, and I’m excited to see where it goes next.

Current Features

  • Add book manually or:
  • ISBN open API fetch
  • Upload custom cover images
  • Edit and delete entries
  • Tiled homepage layout
  • Basic search functionality

Future Features to Explore

  • Automated cover image fetching
  • Multi-user login and authentication
  • User rating and comment system
  • Customizable “shelves” (read, want-to-read, want-to-buy)
  • Barcode scanning for quick entry

In Conclusion

While Ataraxia is just a catalog; it’s also a practical exercise in taking control of the tools that are shaping modern society. This project has been about building something that works for me, and anyone else who may want to use it. It’s a reminder that with curiosity, a little persistence, and the right tools, creating functional, personalized solutions is more accessible than ever.

Feel free to check out and star the project on GitHub!

phil cifone

is an artist and digital conservator located just outside of Philadelphia, Pennsylvania.


By phil cifone, 2024-12-18