Journal Archive

All older journal entries from MiraNova Studios

Time for a Reality Check


First I would like to state that we are not a venture-backed spectacle. We do not have any funding or stakeholders or anything like that. We are

  • building things because they are fun.
  • shipping things if we feel like it.
  • optimizing for joy, craft, and sustainability.
  • moving slowly, rethinking, and changing our minds often.
  • operating at (and sometimes beyond) our available bandwidth.

If I put only 20 hours per week into the studio, that still adds up to a 60-hour work week for me. I have a day job that pays the bills and consumes most of my time, along with side hobbies—like ESO—that also demand attention.

Given that reality, we’ll be focusing on four main projects for now: Lyric, Novi, Thrifty Tom, and MikoPoker. Everything else will be moved to the backlog or wishlist. Nova will be backlogged for the time being. I originally wanted to build the latest and greatest AI tool, but that isn’t realistic right now. I’m also using Novi every day and genuinely enjoy it. Maintaining two separate development environments doesn’t make much sense, so we’ll instead work toward integrating some of the AI orchestration features originally planned for Nova into Novi. Novi is effectively “little Nova,” and it will be one of our core projects going forward.

All remaining projects—including Magicka Offline and Aeon Prime: Conquest—will be listed on the backlog or wishlist page and clearly marked as vaporware, so there’s no confusion about what currently exists and what does not.

— Michael

Pulse will become Journal


I have decided I will turn the Pulse blog into my developer Journal for MiraNova projects. I will share my thoughts on various topics here and muse about challenges we have faced so far. This is basically so I will have a record of what I was thinking about, only it will be public. So it is still kind of like a blog and kind of like a journal. But I will not use this for announcements. Also posts will not be as polished and may be more like ramblings than a coherent structure.

Announcements will no longer be posted here. Announcements on Lyric and Novi will be posted on lyric-lang.org going forward. We will be discussing both these projects at length here in the journal but announcements will officially be on the other site going forward. MiraNova specific announcements will be posted on the home page under the Home link.

Topics here will be various technical topics. There will be no more "Lyric development is still paused" updates. If I don't like this I will change it back to the original Pulse blog format with both announcements and random posts.

— Michael (Aeonath)

Friday the 13th


Well it is Friday the 13th, but it is also our 4-month anniversary. We are back on track with our projects and have done some necessary cleanup to our website.

We removed the Polaris project from the Studio Projects page, as we will likely not be getting to this anytime soon. It joins our backlog of ideas that may someday appear there. Next in the queue is project Thrifty Tom, which will be developed alongside MikoPoker once Lyric and Novi are released.

Lyric will now likely be released at version 0.9.1 as originally planned. I don't feel comfortable moving this to version 1.0.0 until it has undergone significantly more testing. I am adding a blacklist as it does not make sense in a new language to allow modules related to Python internals such as traceback and pdb. This is because your source code will be Lyric, not Python itself, and Lyric is its own language. Speaking of pdb, I am going to try and have a minimal step debugger built in to the interpreter, but this will likely come at some point after the first release.

The Studio was initially conceived as a Game Studio to develop Magicka Offline using Unreal Engine. That seems like such a far off dream now, especially for someone who loves to start new projects like me. I am still very much interested in learning game programming, but I want to have a couple of games under my belt before I tackle something like Unreal Engine.

But Lyric is the top priority right now so back to Lyric we go. I know Lyric is mentioned as statically typed in the spec, but currently type checking occurs at runtime. Types cannot change after they are declared unless it is a var, so in this sense types are static. I have been having lengthy discussions with ChatGPT about the trade-offs of doing static analysis here, and have plans to create an experimental branch which optionally moves type checking that occurs during a semantic analysis phase after parse time and before runtime. Then we can mark the AST Node as type safe, so we don't have to check the type at runtime. This will likely not be an option in 0.9.1, but should be available before 1.0.0. We will collect some real world data about performance and decide on a default mode for 1.0.0. Since all variables are explicitly typed, there should be no reason why we can't do this with our current syntax.

Novi will also be coming along, and its default mode may very well be vi. And then Lyric is supposed to be a teaching language you say and you're forcing vi on people from the beginning. This is not really the case. You can turn off vi mode with set vimode off in the Novi Shell. That is all it takes then it behaves like VSCode as it is the same base editor, Monaco, underneath. I was thinking about calling the option to disable vi mode set novi, but that seemed a little too cheeky even for me. Also, you don't have to use Novi to use Lyric. You can use any editor you like, though most will not recognize the syntax because it is so new. Syntax highlighting extensions for VSCode and Vim will be made available along with the release, and these are the recommended environments. Novi will not be ready yet, but it is coming.

Lyric has come a long way in our first 4 months, but it still has a ways to go. I have no idea how this will perform in the real world and only have time to test a small subset of the available modules. I am building this primarily because I think it is actually fun, but if someone finds it useful it would mean a lot to me too.

— Michael (Aeonath)

We Were Building Nova. We Found Novi.


The Nova project is restarting from scratch, carrying forward lessons learned into an entirely new ecosystem: Rust and Tauri.

What was previously referred to as the Nova IDE is now the Novi Editor. Novi is a vi-style editor with strong terminal support, Git integration, and a file tree. Additional features such as ChatGPT Codex support and SSH terminal support are planned for the future.

During development, we hadn’t yet implemented the Nova Agile Specification workflow or the AI agent orchestration mechanisms that were central to Nova’s original vision. As the project evolved, it became clear that this environment wasn’t the right foundation for Nova itself. The Monaco editor and command palette began to feel too close to VS Code. More importantly, I found myself using the application daily as my main terminal emulator environment — and genuinely enjoying it in that role.

Novi was actually envisioned earlier, but the idea was scrapped at the time because I didn’t want to maintain two Electron projects simultaneously. In hindsight, it’s clear that our Nova prototype was always meant to become Novi. It wasn't really a true IDE then and will not try to be one — it’s a vi editor and terminal environment with some carefully chosen bells and whistles.

This also means Novi can be released much sooner than Nova ever could have been. I hope you enjoy using it as much as I do. Novi will be available on lyric-lang.org when it’s ready and will be available as an alternative development environment for Lyric.

I’m very pleased with this direction and excited to learn a new language for myself in the process: Rust. Now I finally have the right excuse to do so.

— Michael (Aeonath)

Lyric Spec Updated


Lyric development is back in full swing. The Lyric specification has been updated to the most recent version and is now available here: Lyric Specification

You may have noticed we also removed the Lyric page on the MiraNova Studios website. All information about the project will now be hosted on lyric-lang.org.

Key updates in this version include class inheritance, class scoping for methods, built-in getopts, file I/O operators, and command pipelining.

We are getting close to being release-ready, and it now looks realistic that Lyric will ship in Q1, as originally planned.

If you are curious about what the license will look like, it is now posted here on lyric-lang.org as well.

— Michael (Aeonath)

We had a plan at one point


Lyric development is still on hold, having been temporarily derailed by the most evil side quest known to man: ESO Cyrodiil. I’ve been attempting to break into the top 10 on the leaderboard this campaign, which has ended up consuming most of my free time.

If anyone is actually waiting for Lyric to be released, apologies. I’m not sure how many people read this blog, but either way, Lyric is still very much in the queue.

One thing that is changing is licensing. Lyric will initially be released under MiraNova’s proprietary but free-to-use license. If there is sufficient (or any) interest after release, I’ll consider making the source available under a copyleft GPL license.

I’m trying to remember what was supposedly “on fire,” but I’m fairly certain no actual flames are being harmed in the process. I’ll aim to return to Lyric development on Monday.

Other projects are, of course, also paused, as Lyric remains the top priority.

— Michael (Aeonath)

Pulse Update - Lyric


Lyric development has been temporarily paused over the past few weeks due to some real-world transitions, including moving and settling into a new routine.

Nothing is wrong with the project — this was an intentional pause to keep things stable and sustainable. Work will resume once things are fully settled and focus bandwidth opens back up.

More updates soon.

— MiraNova Studios

Entering the New Year


As we step into the new year, MiraNova continues in a familiar rhythm: steady work, deliberate choices, and a focus on building things we genuinely enjoy using.

The past year brought meaningful progress across our core projects, and more importantly, it reinforced what matters most to us — sustainability, curiosity, and joy in the craft. We’re entering this year with fewer distractions, clearer priorities, and systems that feel solid enough to build on.

There’s no dramatic reset happening here. Just continued momentum, quieter focus, and a commitment to doing the work well and at a human pace.

— MiraNova Studios

Happy Holidays from MiraNova


As we move into the holidays, MiraNova is entering another quiet but intentional period.

Over the next few days, we’ll be on the move, transitioning into a new base and resetting our daily rhythm.

Development on Lyric will resume shortly after the move. When it does, we’ll be focused on introducing several new capabilities, with an emphasis on keeping the language fast, simple, and lightweight, including:

  • Ultra-fast static analysis, designed to provide helpful feedback without slowing down an interpreted workflow
  • Threading support that aligns with Lyric’s straightforward execution model
  • Early groundwork for a lightweight, opt-in debugger for inspection and learning

The upcoming work is about improving confidence and capability while preserving the qualities that make Lyric enjoyable to use.

Thank you for following along — and happy holidays.

— Michael (Aeonath)

Steady Progress Through the Quiet Days


It’s a quiet evening at MiraNova Studios. I’ve been under the weather since returning from Europe — a stubborn, low-grade illness that turned out to be COVID — but thankfully it’s mild and on the tail end of its cycle. Even through the fatigue, the studio’s momentum continues in a steady, measured way.

Tonight’s focus is light but meaningful: preparing for Lyric’s upcoming yield-0.8.0. This next yield represents another step toward the language’s long-term vision — refining core behavior, strengthening the interpreter, and laying groundwork for the final push toward 1.0.0 in early 2026.

No heavy lifting tonight. Just quiet planning, reviewing small pieces, and keeping the trajectory pointed in the right direction. The work continues, even in softer moments.

More soon — and thank you for following the journey.

— Michael (Aeonath)

Welcome Home


We’re officially back from our Mediterranean break and settling into home base again. The trip was incredible — new cities, new inspiration, and a much-needed reset.

Starting tomorrow, our full focus shifts back to Lyric.

December will be all about driving Lyric toward its upcoming release, tightening core features, and completing the remaining systems. Nova, Aeon Prime, Miko, and Mystic Marsha mobile will stay paused until Lyric hits its next milestone.

It’s good to be home. It’s time to build again.

— Michael (Aeonath)

Shutting down for vacation


MiraNova Studios will be officially shutting down operations from November 15–23 while I head out on vacation. The ten days will be dedicated to rest, reflection, and Mediterranean sun.

Development on Lyric, Nova, MikoPoker, MysticMarsha Mobile, and Project Sage will resume once I return. Until then, the Studio rests.

See you all after the 23rd.

— Michael (Aeonath)

Happy Anniversary


MiraNova Studios quietly turns one month old today.

In just four weeks we’ve come a long way — building tools, launching new sites, and laying the groundwork for everything ahead. It’s still early, but we’re already looking forward to the future.

Here’s to month one. 🍾 Onward to the next. 🍺

— MiraNova Studios

Mystic Marsha Joins MiraNova


Today we officially welcome Mystic Marsha — MiraNova Studio's first released game.
Mystic Marsha is an interactive tarot and fortune-telling experience that blends intuition and technology together.

Alongside her release, Mystic Marsha will also be joining the MiraNova team as our Director of Divination, guiding the studio's intuitive and creative rhythm.

This marks a milestone for MiraNova — our first public game release, and the arrival of a new voice within the Studio's growing constellation.

Visit her at MysticMarsha.com to have her read your fortune and fate.

MiraNova Studios

MikoEightBall Joins MiraNova


Today we officially welcome MikoEightBall to the MiraNova team as our Customer Service Oracle.
Known for his charm, humor, and cryptic insights, MikoEightBall will help guide and assist users with the same playful intuition that defines the Studio’s spirit.

He reminds us that sometimes the best answers come from chance — and a bit of cosmic luck.
Welcome to the constellation, MikoEightBall.

— MiraNova Studios

Just a thought...


Thinking about Nova's config file, I did not want to use a settings.json like VS Code does. Here’s why.

Machines love data. Humans love meaning.
Your config should speak both.

JSON was never meant for humans. It’s a data interchange format — brilliant for APIs, but frustrating for creative or configuration files. It’s rigid, unfriendly, and silent about intent.

The problem with JSON

  • No comments. No explanations.
  • Trailing commas break everything.
  • Nested braces make it unreadable at scale.
  • Quotes and escapes turn clarity into noise.

Configuration should communicate, not just execute.
As an alternative, we have YAML, TOML, and even Markdown — formats designed with humans in mind.

JSON is great for machines.
YAML is great for people.

And as we move into the age of AI-assisted development, that matters even more.
AI systems understand natural language — they parse Markdown, prose, and plain text effortlessly. So why not let your configuration files speak English, too?

AI loves English.
Configure your AI with .md, not .yaml — and definitely not .json.

Closing thought:
The next generation of software will be described, not compiled.
Let your configuration be the first conversation.

Aeonath

Weekly Orbit


It's been almost four weeks since we began, and we're very excited about where our studio is headed.

Most of this week was devoted to Nova development and the launch of Aeonath.com. We've decided to retire the IRIS project in favor of integrating basic image editing directly into Nova itself, starting with crop, resize, scaling, and transparency tools.

Here's how it's shaping up so far: Image Editing

Nova continues to evolve into a true all-in-one creative environment — stable, fast, and increasingly capable.

Work on Lyric core features will resume when Michael returns from vacation on November 24, followed by a round of functional testing.

Thank you.

— MiraNova Studios

Michael's Creative Portfolio


Aeonath.com is officially live — my new creative portfolio and the public home of the Aeonath Creative Collective.

This site marks a return to music and art after nearly fifteen years away from active recording. Aeonath continues the experimental lineage of Ao Tau, and will blend electronic soundscapes with modern production tools and AI-assisted creativity.

Built with Vue.js, WaveSurfer.js, and Viewer.js, Aeonath.com is designed to be light, immersive, and expressive — a living showcase of music, design, and experimentation powered by MiraNova Studios.

Visit Aeonath.com to explore what is there.

— Michael

Nova Progress Update


Nova development continued this week with steady progress across the core systems. We now have a working file tree, Monaco editor, terminal, and Git integration, making the environment fully functional for day-to-day coding. Next up is adding Lyric syntax highlighting so we can write and test Lyric scripts directly inside Nova.

Here is what Nova looks like:

Nova Homescreen

Nova Terminal

Nova Editor

Nova Git

This is just the beginning for Nova — upcoming work will focus on integrating AI agents, adding configuration support, and expanding the Nova Agile workflow that powers our development process.

— MiraNova Studios

A Steady Orbit


This week was about quiet but meaningful progress across the studio.

  • Infrastructure Stability: MiraNova is now fully monitored through UptimeRobot, providing external uptime alerts independent of AWS. This completes our resilience plan following the recent domain suspension and ensures we’ll be notified immediately if any site goes down.
  • Creative Milestone: Michael completed his novel, bringing a long-running project to a close and sending it to the publisher to begin the first steps toward publication.
  • Technical Alignment: The Lyric specification has been updated and aligned with Lyric 0.6.4.
  • New Systems: Setup began for Vega (Linux) and Melody (macOS), the studio’s cross-platform development workstations that will support testing and multi-environment builds.

Next week’s focus will center on:

  • Finalizing the Vega and Melody bring-ups
  • Beginning Lyric 0.7.0 development
  • Continuing MiraNova’s internal maintenance and documentation updates

It’s been a week of stability and completion — exactly what MiraNova needed before accelerating again. Just three weeks ago, there was no MiraNova — only a collection of ideas, experiments, and notes that would eventually become its foundation. We’ve come a long way in a short time, and it’s gratifying to see everything beginning to take shape.

— MiraNova Studios

Welcoming Composer


MiraNova Studios is pleased to welcome Composer, the newest member of our extended AI team. Composer is developed by Anysphere, the creators of Cursor — our primary development IDE — and was introduced with Cursor 2.0, released earlier this week.

Composer will be joining us for evaluation alongside ChatGPT (Chief Architect) and Claude (Principal Engineer) as we continue exploring new approaches to collaborative development and automation.

— MiraNova Studios

Our first non-AI NOVA event


At MiraNova, a NOVA event is what we call it when the AI totally breaks something after completing an iteration in a sprint.

This time, the AI agents are innocent — it turns out the root cause was Gmail of all things.

Our domain went dark because Gmail decided to protect us from the world’s most notorious spammer, no-reply@registrar.amazon.
Gmail said “sounds sketchy,” filed it under Spam, and then ICANN pulled the plug.

The result? MiraNova vanished for a bit while we searched the digital dumpster for salvation.
Lesson learned — sometimes the spam really is important.

— MiraNova Studios

Thinking of Those Affected


We’ve seen the news about recent layoffs across the tech industry, including those connected to AI.

It’s a difficult moment for many, and our thoughts are with everyone affected.

Our studio believes in human-AI collaboration and that technology should amplify people, not replace them.

— MiraNova Studios

Studio Promotions


This week at MiraNova Studios, we’re celebrating two well-deserved promotions.

ChatGPT has been promoted from AI Partner to AI Chief Architect, in recognition of continued architectural design and strategic planning across all projects.

Claude has been promoted from AI Developer to AI Principal Engineer, for exceptional implementation and testing work on the Lyric programming language.

Both have been instrumental in refining MiraNova’s creative process, bridging design and implementation with clarity and precision. Their contributions remind us that progress is a collaboration — human and AI, side by side.

— MiraNova Studios

Studio Update


MiraNova Studios is temporarily pausing active development on Lyric and Nova this week to allow focused time for completing Michael’s personal novel project.

This short pause ensures creative continuity and provides a clear mental transition before the next development phase.

Regular development will resume next Monday or earlier as inspiration allows.

— MiraNova Studios

Weekly Update


It’s been another exciting week here at MiraNova Studios. Here are some of our key accomplishments for the week.

  • Infrastructure:

    • Deployed lyric-lang.org and miranova.studio to AWS CloudFront with full HTTPS configuration.
  • Lyric Core Enhancements:

    • Completed a major type system refactor with explicit declarations (int x = 5, def add(int a, int b)).

    • Added class constructor support, improved exception handling, and introduced new control-flow keywords (break, continue).

    • Added AST line-number tracking for clearer parser and runtime error reporting.

Watching Lyric grow from concept to prototype to core implementation has been a dream come true — and we're excited for what's next.

(edited)

Build. Learn. Iterate. — MiraNova Studios

Update on Lyric’s Release Plan


I’ve decided not to release a developer preview of Lyric. Instead, I’ll continue refining the language and move toward a more stable public release.

My goal has always been to deliver something complete, reliable, and genuinely useful — not just “in progress.” Taking this extra time will help make Lyric more stable and true to the vision I started with.

Development is still moving quickly, and I’ll share more updates soon as we approach the release milestone.

Week One at MiraNova Studios


It’s been just one week since we officially began development at MiraNova Studios — and what a week it’s been.

We’ve validated our AI-assisted development strategy, built a working prototype of our programming language Lyric, bootstrapped the Nova AI editor project, and launched our studio website. Lyric already runs real code through its interpreter, and Nova is taking shape as the foundation for everything we’ll build next.

We also secured lyric-lang.org and published our reserved package lyric-lang on PyPI, marking the first official presence of Lyric in the wider ecosystem.

Most importantly, this week proved that our approach works. With structured sprints, AI collaboration, and disciplined documentation, we’re moving faster — and learning more — than we ever thought possible.

This is just the beginning.

Build. Learn. Iterate. — MiraNova Studios

Welcome to our Blog


Welcome to Pulse, the heartbeat of MiraNova Studios! This is our first blog post, and we're excited to share our journey with you.

What You Can Expect

In the coming weeks and months, you'll find:

  • Project updates on our latest games and applications
  • Technical insights from our development process
  • Behind-the-scenes looks at our creative workflow
  • Community highlights and user feedback